I had a sudden urge to make a radiotrophy prototype yesterday. Here’s what I’ve ended up with.
Scattered throughout the environment are radioactive chunks (currently iron chunks with some particle effects and a yellow aura). The closer you are to a radioactive chunk, the higher the environmental radiation you experience (shown in the environmental compounds panel). So radiation is simply an area effect whose intensity scales with proximity. Effects from multiple chunks stack but total radiation is clamped at 100%.
All cells have a radiation resistance stat. The base resistance is 10%. If a cell’s current radiation exposure exceeds its radiation resistance, it takes damage. Damage scales with the difference between exposure and resistance. The radiation meter also blinks red when this happens.
Melanosomes (currently using the thermoplast model) create ATP from radiation and increase radiation resistance by 20% each. They require a nucleus.
Finally, if the player’s cumulative radiation exposure over the lifetime of their cell exceeds some fixed value, they get a free organelle in the editor (which can’t be a nucleus). This represents an increased but less controllable mutation rate for irradiated organisms. The total resets on death or reproduction.
Some things I learnt from this experiment:
-
While the icons for radiation and melanosomes are obvious (the radiation hazard symbol, duh), it’s hard to pick a good colour for the radiation compound. We already use quite a few greens and yellows, the classic colours for radioactivity, so there’s not a lot of space left in that chromatic region.
-
Radioactive chunks are a neat environmental hazard. They aren’t guaranteed to kill you, so there’s an engaging risk calculation if say you’re running from another cell and need to escape past a radioactive chunk.
-
The AI will need to have special cases to deal with radiation. Currently they often stay in the danger zone too long and die because they don’t know they have to avoid it. On the flip side, radiotrophs don’t know they have to stay nearby either, so they all die too.
-
Survival on radiation alone is nigh on impossible with the area effect approach. As soon as you move away from a radioactive chunk, you start dying.
-
Representing a radiotroph’s survivability in the editor is a challenge. In this system, I think the ideal approach would follow the day/night cycle model, where there’s an extra panel in the editor to change the environmental radiation level. This could be a slider. You could even show radiation resistance on the slider too, using a different colour for the danger zone or something.
-
The problems above and a lot of code snags make me question whether we should use this approach at all. Radiation exists in a grey area between stored and environmental compounds. Having stored radiation as a concept sounds really weird to me, but it doesn’t act much like an environmental compound in the code or editor, and having some kind of storage would at least make hops between radioactive chunks survivable.
EDIT: Forgot one important thing. I made a mock Geiger counter sound by playing a click sound more frequently when radiation increases, with some randomness. It sounds realistic but gets grating quite quickly. I think it would be better to just have radioactive chunks play a constant hum so it gets louder when you approach them (I believe @Twitchywhalez made a good one).