Environmental Tolerance Adaptations

In the event of multiple inhibiting environmental factors, I would be in favor of them effecting your cell in separate ways. For example we could have excess heat and cold reduce your organelle function, where as acidity and alkalinity could do something like reducing your cell’s max health. Doing this would make the effects on your cell easier to measure and understand, while still being the double trouble it is.

1 Like

Ah yeah interesting, that’s true. Perhaps increased osmoregulation cost could also be a possible penalty among the list? I’m undecided now between Options 2 and 3. If we were to choose option 3, what penalties would we want each variable to incur? I know the current list of environmental factors is:

  • Pressure
  • Temperature
  • Light

Acidity and salinity are planned but still not implemented. I don’t believe there are any others.

1 Like

Oxygen would also be a hazard in the future once we get the great oxygenation event.
As the game world turning from a place without oxygen to one with, would be an interesting change.

2 Likes

Right I totally forgot about the environmental gasses, which could also present hazards. Do we have enough unique penalties to cover all of them? Do we want some of them to share similar penalties? Or do we want one, unified penalty. This is something I’ve barely thought about so I have very few opinions.

I found this thread (Compound Toxicity) from last year, it should have some good ideas.

2 Likes

Thanks @Narotiza that’s a useful one to have on hand. I wonder if compound toxicity is a big enough discussion to warrant its own discussion in that thread to finalize the concept.

After thinking about this, I’ve come to agree with @Buckly’s original thought that penalties should just give a reduction to organelle efficiency. I feel like different penalties for different environmental variables might get hard to design, and hard to remember as the player, but let me know if you guys feel otherwise.

Specifically, when I say efficiency I mean the rate at which the organelle operates. This will apply to all organelles that process compounds (so environmental tolerance organelles are exempt). This in effect reduces the ability of a cell to sustain and reproduce in foreign environments. If more variables are out of range, the penalties will stack. Here would be some sample numbers:

Temperature: -10% efficiency for every 5°C out of range.
Pressure: -10% efficiency for every 20 atm out of range.
Light: -10% efficiency for every 5% out of range.
pH: -10% efficiency for every pH 0.5 out of range.
Salinity: -10% efficiency for every 1000 ppm out of range.

These numbers are based on my latest post in this thread.

2 Likes

Based on the polls:

It looks like players largely agree and look forward to a system that allows entering biomes you are not tolerated for, with associated penalties. So if there are no objections to this concept, I can update the related wiki page with the list of penalties I put in the post above this one. @Buckly what are your thoughts on the system. Once finished with the penalty system, we can design the organelles that grant environmental tolerance:

Here is a working list of the adaptations, from the "Differentiating Microbe Biomes" thread:

Temperature

  • Heat Resistant Proteins
  • Antifreeze Proteins
  • Cell Wall (Cellulose, chitin, silicate, etc.)

Pressure

  • Higher/Lower Internal Osmotic Pressure
  • Contractile Vacuole
  • Cell Wall (Cellulose, chitin, silicate, etc.)

Light

  • Pigment Proteins
  • Cell Wall (Cellulose, chitin, silicate, etc.)

pH

  • Acid Neutralizing Proteins
  • Alkaline Neutralizing Proteins
  • Cell Wall (Cellulose, chitin, silicate, etc.)

Salinity

  • Halophilic Proteins
  • Cell Wall

Is there a reason why you didn’t include oxygen resistance on that list?

I wanted to tackle compound toxicity and resistances later, since I presume it wouldn’t just be oxygen that could damage you (hydrogen sulphide and perhaps other compounds can be toxic as well).

1 Like

These values and hazards seem like a good start as we can fine tune them once implemented, I’m fine with them. I remember suggesting light be a hazard in the past as a counter to photosynthesis and the active theorists at the time declined the idea, stating that water acts as an effective shield against UV radiation and heat so make of that as you would.
One thing I’m somewhat worried about is the player feeling overwhelmed by all these barriers. It doesn’t seem like much right now but it can quickly add up once we move on to hazardous compounds next. It’s certainly something we will have to experiment with a bit to make sure it’s fun.
Otherwise I feel there could be some satisfaction to choosing to specialize and adapt to a specific environment for greater returns as it’s sure to provide the player with a nice sense of progress.

2 Likes

Oh that’s strange, because I could’ve sworn Light has been planned as an environmental variable/hazard for the Microbe Stage since the start of the project. Plus there’s actual scientific evidence of it as a hazard, which I covered in this thread:

Basically before the development of an ozone layer for your planet, the deep sea is the only place life can survive and evolve away from the deadly radiation of sunlight.

I was worried about that too, but I realized the other day that some of these variables don’t change much from patch to patch. For example, salinity will almost always be the same in all ocean patches (typical saltwater levels), and the same in all river/lake patches (freshwater levels). Then, the one exception to this would be rare patches like a salt sea / salt lake where it would be very high. pH / Acidity is another one that mostly won’t change except for rare examples.

I know very true, I know one of the aspects that added at least an hour to my latest Microbe Stage playthrough was trying to migrate from the Hydrothermal Vents to the Tidepool, and the challenge kept me hooked to keep playing every time I died trying.

1 Like

Wiki page updated!

If you look under “Habitability”, it shows the list of starting environmental tolerances for the original species on a typical Earth-like planet. Then below that it shows the penalties for each variable for being outside of your range.

Because of the progress we’ve made in the discussions in this thread and the Differentiating Microbe Biomes thread:

I will be able to update the Environmental Variables for all the game’s biomes soon, but this will be meaningless for now until we code in the penalties. We can also start discussing what the different editor adaptations will be that will allow cells to survive different environments. Here’s a list from the Differentiating Biomes thread:

Temperature

  • Heat Resistant Proteins
  • Antifreeze Proteins
  • Cell Wall (Cellulose, chitin, silicate, etc.)

Pressure

  • Higher/Lower Internal Osmotic Pressure
  • Contractile Vacuole
  • Cell Wall (Cellulose, chitin, silicate, etc.)

Light

  • Pigment Proteins
  • Cell Wall (Cellulose, chitin, silicate, etc.)

pH

  • Acid Neutralizing Proteins
  • Alkaline Neutralizing Proteins
  • Cell Wall (Cellulose, chitin, silicate, etc.)

Salinity

  • Halophilic Proteins
  • Cell Wall
2 Likes

It’s been a while since we last touched on this topic. I figured it would be a decent idea to go ahead and further this discussion by proposing more specific stats to start with for how parts will modify a cell’s tolerance. As well as to provide some insight on how the tolerance stats could be handled.

Organism Tolerance

Variables:
Most tolerance stats will possess two independent variables that will determine the organism’s range of tolerance. For example, a species could have a high heat tolerance, but a low cold tolerance. (5C/57C). Different parts could adjust either or both of these variables in different ways, ensuring a more dynamic approach to adaptation. We will have to think about how best to display this information to the player, as well as to properly communicate how parts will change specific parts of these ranges.

There are of course, some environmental variables that won’t fit within a tolerance range. Hazards such as radiation (I think simply replacing light with radiation as a hazard would fit better.) will just have one variable that represents a cell’s maximum tolerance. This should be relatively easy to understand and convey to the player compared to the range variables.

Efficiency:
Efficiency will be a new percentile value that determines a part’s current level of function in relation to a cell’s current environment. This variable should work much like the light and oxygen requirements many parts possess, but at 100% scaling. That way, if a cell is at 50% efficiency, their parts will be halved in function. Whenever a cell is outside one of their tolerance ranges, this value will be reduced, handicapping their processes as a result. This should also allow players to easily understand how well their cell is going to function when comparing patches they want to travel to.

Membrane Tolerance:
Membranes can have more situational value and use by having an effect on a cell’s tolerance. I will list my proposed values below. Note that the left number is minimal and right is max tolerance in the case of ranges. (Minimum/Maximum). Also note that I am entirely unsure of the accuracy of pH tolerance on the different membranes. (I do at least recall that diatoms are sensitive to pH so I intend to reflect that with the silica wall.) So I would like to request our theorists to help me out with this whenever possible.

Single Membrane:
Temp: -5C/+5C
Pressure: -50atm/+50atm
Radiation: +0
pH: +0/+0
Salinity: +0ppm/+0ppm

Double Membrane:
Temp: -10C/+5C
Pressure: -50atm/+50atm
Radiation: +5
pH: -0.1/+0.1
Salinity: -500ppm/+500ppm

Cellulose Wall:
Temp: +5C/+5C
Pressure: +150atm/+150atm
Radiation: +20
pH: -0.5/+0.8
Salinity: -500ppm/+500ppm

Chitin Wall:
Temp: +0C/+5C
Pressure: +150atm/+150atm
Radiation: +10
pH: -0.8/+0.5
Salinity: -500ppm/+500ppm

Calcium Carbonate Wall:
Temp: -15C/-5C
Pressure: -50atm/+100atm
Radiation: +15
pH: -0.1/+0.3
Salinity: -500ppm/+500ppm

Silica Wall:
Temp: +5C/+15C
Pressure: +200atm/+500atm
Radiation: +15
pH: +0.3/-0.1
Salinity: -500ppm/+500ppm

Parts and their effects:
Aside from specialized parts, some parts should be able to provide species with bonuses relating to their functions, such as chloroplasts providing some amount of radiation resistance.

Metabolosomes:
Temp: -0.5C/+0C

Mitochondria:
Temp: -1C/+0C

Thylakoid:
Radiation: +1

Chloroplast:
Radiation: +3

With that out of the way, Please remember that these values are simply something to start with should we choose to implement this feature. I am open to discussing them, and would like to hear what everyone thinks. The bulk of a species’ tolerance will likely mostly be determined by dedicated parts, which I intend to go into at a later time.
I am also considering that instead of certain parts having a set bonus as I listed above, that they could be modified via organelle customization to sacrifice main functions in return for tolerance. (Such as metabolosomes being less efficient in return for producing heat.)

Edit: I have chosen to go ahead and look into specific values for the environmental attributes for each patch. I did some miniscule research on the matter to make sure the values are at least somewhat within the realm of reason and not just conjured from nothing, but I would feel more comfortable once a Theorist has approved of them.

Edit: Turns out I am blind and completely failed to notice that Nick appears to have already worked out the biome stats of each patch type so just disregard everything below this. :l

Patch Conditions

Below is a list of average and initial values for the corresponding patch types.
For now, consider light level as synonymous with radiation level until we discuss how radiation should function in Thrive.

Vents:
I believe the average temp for vents should be a little lower. This is because the vents have a drastically different temperature compared to all other patches which would make it difficult for species to transition between the locales. We can still have high temperature zones localized within the patch, but overall I feel it should be more lenient.
Temp: 54C
Pressure: 300 Bar
Lux: 0%

Sea Floor:
Why are the depths of the vents and seafloor different? Rather awkward how the player must go deeper before reaching the ocean surface.That’s probably more of a connecting patch issue though.
Temp: 4C
Pressure: 500 Bar
Lux: 0%

Abyssopelagic:
Temp: 2C
Pressure: 550 Bar
Lux: 0%

Bathypelagic:
Temp: 4C
Pressure: 200 Bar
Lux: 0%

Mesopelagic:
Not sure why it is colder in this patch, I would personally keep the temperature at least matching the Bathypelagic or warmer. But I will leave it unchanged as I don’t know any better.
Temp: 2C
Pressure: 50 Bar
Lux: 5%

Cave:
Temp: 23C
Pressure: 50 Bar
Lux: 0%

Epipelagic:
Temp: 8C
Pressure: 10 Bar
Lux: 100%

Tidepool:
Temp: 23C
Pressure: 1 Bar
Lux: 100%

Coast:
Temp: 17C
Pressure: 10 Bar
Lux: 100%

Coast:
Temp: 17C
Pressure: 10 Bar
Lux: 100%

I would like to post an idea of @Maxonovien’s here for future reference.

Instead of the local oxygen level directly debilitating cells when they are present in the patch, oxygen would instead slowly seep into the cell and be “stored”. The oxygen would be of little concern to the player until it begins to reach critical levels in the cell, and so the mechanic effectively becomes a timer of how long the player can safely last within the patch before they begin to experience debilitation.

As Max put it, there would be two primary strategies available to avoid critical oxygen intake;

  1. absorb as little oxygen as possible (limiting your absorption for every compound, including oxygen)
  2. Use as much oxygen as possible (having organelles process it before it builds up, and requiring more osmoregulation).

This would provide further strategic emphasis for the various membrane types by giving absorption rates a more meaningful impact on gameplay.

However we still need to consider how this will effect photosynthetic species and how they will vent excess O2, as well as what debilitations players experience when at critical oxygen levels. As well as if the mechanic would be too much for players to worry about or not.

It would also be nice to receive input from our theorists in regards to how realistic this mechanism would be.

4 Likes

Okay although I had initially mentally classified this as a future feature to tackle, after discussing Auto-Evo performance on discord with some of the devs I realize that Environmental Tolerance is actually a critical system to get into the game as soon as possible. Here are the reasons why:

Without it, Auto-Evo has no natural reason to diverge new species and we have to do it randomly.

In real life, the reason species diverge is because of different geography and climate, that forces organisms in one biome to adapt to their local environment and change from their ancestors in the biome they came from. However, since we don’t have environmental conditions affect your cell currently, this does not occur in the cell. Instead, the game simply randomly splits species by just rolling some dice. This leads to species divergences that don’t make sense, and too many species in harsher environmentals (which reduces performance).

It is an important feature for all future stages literally until the end of the game, and is a necessary feature to complete before we can move to developing later stages.

Considering we want to wrap up the “bones” of the Microbe Stage as soon as possible to start working on later stages, it’s important to realize what are the remaining fundamental features we have remaining before we can refocus our main focus to later stages. Again, environmental conditions affecting different species differently is so important that we can’t build realistic future stages until this is implemented.

It adds an extra element of decision-making to migrating between patches.

Currently you can spawn in as the LUCA cell and just reproduce in 30 seconds, migrate, reproduce, migrate, until you get to the biome you want to get to. But real life doesn’t work like this, and migrating to new patches should be a tradeoff. Yes there are new and unexploited resources, but you will also be less adapted to living there. This is one of the fundamental problems of the game, even translating to the Spage Stage where you may want to colonize a new alien world with rich mineral reserves but a toxic atmosphere. So adding the Environmental Tolerances feature should also make planning your migrations and mutations more fun.

For these reasons, I want to finalize the concepts around Environmental Tolerance as soon as possible, document the design decisions on the wiki, and then queue it as a feature I will work on after I finish some smaller initial ones to become familiar with the codebase.

What I want to do in this thread

  1. Finalize the environmental stats of each biome. This is already mostly done and just needs to be documented on the wiki.
  2. Finalize the concept of how intolerance to environmental conditions will affect your cell.
  3. Finalize a list of organelles/mutations that cells can evolve to tolerate these different
  4. Create a roadmap for implementing the feature. The easiest is likely to start with implementing only a single condition, such as temperature, and its associated tolerance mutations, and then incrementally add the rest.

1. Finalizing the environmental stats of each biome

The stats are listed in the wiki page here: Microbe Biomes - Thrive Developer Wiki

I’ll do a look through and see what I think, and post any suggestions here. We can discuss them, and then create a final list and put it on the wiki.

2. Environmental intolerance effects

We put the initial tolerances here: Microbe Biomes - Thrive Developer Wiki

However, I think this is actually not accurate for LUCA. According to research that both Deus and I have done, it seems that the first organisms were thermophiles (adapted to higher than normal temperatures) and perhaps extremophilic (adapted to abnormal ranges for other variables too) in other ways as well. I’ll go through my sources and post what I think ought to be the most accurate starting tolerances for LUCA.

We also put the penalties a cell will suffer for how much out of its tolerance range it is in the same link. However, I think I now disagree with these suggestions. Although I initially felt that reducing the processing speed of all organelles was the most realistic, I don’t think it actually is. As far as I know, the membrane will work proportionally harder to keep the internal environment of the cell the same even if the external conditions are even more extreme, so it’s really only the membrane that bears the brunt of a hostile environment. As such, I think that the best thing to do is to just make hazardous environmental ranges increase ONLY your Osmoregulation Cost. This accomplishes a few things:

  • It is an easy penalty for the player to track. The player can easily calculate how much extra ATP cost they must sustain to move to a new patch, instead of trying to recalculate the new and reduced output of ALL of their organelles.
  • It allows for organisms to colonize environments that they are only somewhat adapted to. Since the only penalty is an increase to Osmoregulation Cost, it’s very possible that a cell migrating there will still have a net positive ATP balance even with the penalty, and as such will be able to colonize and exploit the patch. The species will have a big incentive to evolve tolerance to the local environment though if he wants to remove this penalty, but this will then make him less adapted to his home patch (which could lead to the two groups of cells diverging into different species).
  • It allows for two different strategies to environmental tolerance. One is to obviously evolve specific adaptations to whatever local hazard is in that patch (let’s say high temperature). This is easy to do but makes you specifically adapted for only high temperature patches. HOWEVER, another is to evolve to have a really efficient cell with a really high ATP balance. This is much harder to do, but allows your species to survive much more hazardous environments that they are not adapted to simply because they produce so much ATP that they can just constantly work their membrane to keep themselves protected from the environment. This allows for species adapted to several different biomes to emerge, but again it will be hard to do since you will need a large ATP surplus, so you will likely have to be dominant at the niche/energy source you consume.
3 Likes

This needs to depend on the starting patch. For warm pond it needs to be different and for panspermia the game needs to actually make it so the player doesn’t just immediately lose.

1 Like

I’ve since drifted to this same conclusion myself as of late. It’s simple, concise, easy to understand, and realistic.

I think it wise we just focus on a few basic conditions first as a way to dip our toes into the system. Temperature and perhaps oxygenation are both good conditions to start with. Parts that consume oxygen can potentially provide a measure of oxygen resistance, while certain upgrades to metabolic parts could provide more tolerance to lower temperatures.

In the future, this could be expanded upon depending on our finalization of concepts such as the passive proteins system which could have a huge bearing on this feature.

3 Likes

Good point. I’ll focus on defining the starting stats for the Hydrothermal Vents start first, then I can go back and fill out the others.

Actually I think oxygenation is so unique it warrants an entirely separate discussion. I have many thoughts on how that could be implemented, since it seems oxygenation in nature affects many aspects of life.

But yeah I think temperature is a good one to start with, since I think it’s one of the environmental variables with the most observed real-world data. I’m going to do some research and write up a list of all the biomes, what their temperatures should be, and also a list of temperature adaptations for cells.

Wait sorry, remind me what is the passive protein system again? I couldn’t find the thread on it.

EDIT: Oh nevermind found it. Could you clarify what you mean though? As in that environmental tolerance adaptations would be a good candidate for being passive proteins?

I was focusing a bit on summarizing, reviewing, and presenting a unified concept for environmental conditions when I realized something.

It honestly is a bit difficult to conceptualize things for the microbe stage because of the very abstract nature of the patch map. We have a pretty good concept for how we will be dealing with the patch map in the macroscopic stages so I am not worried long-term. But in the short-term, it can be a bit awkward balancing environmental tolerances. For example, look at this patch map:

There are some pretty dramatic shifts in environmental conditions displayed here. If you started at the hydrothermal vent at the bottom-right and transitioned out of it, you would have two, maybe 3 patches to interact with due to your adaptation to pressure. Transitioning to the Mesopelagic patch (below the ice shelves) would give you one habitable patch since you aren’t adapted to the cold, and aren’t adapted to the high pressures which you escaped. And then transitioning to the cold (which is the patch from which you are able to access different clusters of patches here btw) would then limit you to one patch again. If you make it to the shallow sea patch in the middle, you will then have a few more options to spread to since surface patches are more uniform. However, for other patches, you are very limited.

This limitation isn’t in itself necessarily a bad thing (geographical/environmental barriers are very important aspects of species divergence) but it complicates things in terms of balancing environmental tolerances. Small shifts in your habitable ranges via organelles, such as we have conceptualized in the upgrade/modification concept, are useless if we have such dramatic shifts in temperature and pressure; the player would need huge and instant changes in environmental tolerances to move anywhere. It also means patch migration would have to be thought over since you’d essentially be forsaking your older population to death once you switch patch types.

We can dramatically increase the number of patches to include a better “gradient” of environmental conditions, but that could make auto-evo take a very long while (which to be fair is something we’ll want to deal with in the long-term). We can also eventually implement Buckly’s more elaborate patch map concept:

But I would like to preserve the mental health of our programmers after having just so recently found a satisfying short-term conclusion to our patch generation questions.

What do you guys think? Am I overthinking things? I guess we could theoretically just bump up the modification values for what we have conceptualized so far. But would that be the ideal gameplay experience?

EDIT: not quite sure why two photos aren’t being displayed on my screen. Is this the same for you guys?

1 Like

I’m not sure if it has been mentioned yet, but environmental tolerance could be a slider like behaviors found within the editor. Also, I feel that a cell should have a lower health pool if it is in areas outside of its environment tolerances. While this isn’t totally accurate to science per say, it should be easier on the player to deal with and could even be a way for people to make games intentionally harder for themselves.

1 Like