Environmental Tolerance Adaptations

I think we’re heading towards a patch migration logic revamp anyways with the introduction of environmental factors since that will be such a fundamental change to the constraints placed on players. Players will have to be a bit more deliberate and thoughtful with how they manage movement and population densities across their inhabited patches since they will be occupy far fewer patches than they do now.

So I think we’ll have to be a bit more deliberate in giving players the tools to deal with this management of population. Options like “move 50% of patch population to new patch” and the such will likely be ways players can better deal with moving to new environmental conditions.

If nothing else, I think it could be okay if we give a 1-turn “grace period” of sorts if the player has adjusted their environmental tolerance ranges and moves a patch, where the auto-evo effects of environmental conditions are slightly diminished in effecting the population of the patch you migrated from. This can allow a player to settle a new patch then decide in the next turn if they want to continue the move to that new patch/biome or revert changes and remain in their old environment.

Though that could theoretically lead to a player continuously moving between two different patches to exploit this grace period, if we make it so that environmental tolerance ranges are decently expensive to maintain, that could be minimized. Or if we do something like a cool-down for this grace period. This would be a pretty gamey abstraction, so if we can figure out a more “organic” solution then that should take priority.

Alright, I’m convinced for now.

That was what I was attempting with the “Very Warm” category, though I realize now that a threshold of 33+ isn’t really an extreme temperature at all. I guess then we should introduce an “Extremely Warm” category that includes temperatures of 50 C+. This would realistically only be allowed for prokaryotes and small enough eukaryotes, and thus would be a Microbe-specific environment.

2 Likes

I continue to stand by a simple increase in osmoregulation cost or something similar that scales increasingly larger the further you are from your ideal conditions.
This allows species to reach outside of their comfort zone and adapt to new environments as needed, providing the freedom of movement a species needs if they are for whatever reason pushed outside of their ideal habitat. Of course, extremes could still probably instantly kill a species, so we would need to issue a warning over patches the player cannot inhabit in any feasible way. (Hey going into this region will kill you, proceed?) This could be done by calculating if a player still produces enough ATP to sustain themselves in that patch, exactly how the balance bar operates.

Naturally, when a species moves from their original habitat to a new one and adapts to their new environment, this almost always leads to a speciation event in time. This would mean that if the player ended up doing this they would be leaving their original population behind… Which is problematic in Thrive due to how population is currently your survival score.

We could work around this by migrating the player’s population in other patches towards more hospitable regions when they can no longer survive them. The player’s total pop would still take a hit probably, but it wouldn’t make them start over!

Edit: I see you’ve already touched upon this conclusion in a reply to hh now, nice.

2 Likes

Oh yeah, I agree with this. I was just wondering if we should restrict players from environments where they would instantly start dying from this mechanic and such.

I wonder if we could color code patches a bit. Patches with a red overlay on them indicate patches where your metabolism doesn’t allow you to survive in them, and patches with an orange overlay on them indicate patches where your metabolism is effected, but you still could feasibly survive?

1 Like

I think something like a glowing border would be pretty nifty to help players quickly find habitable zones.

Hard to say if we would want to restrict players from uninhabitable zones though… You never know if we might add a mechanic where players can seek refuge or utilize the environment in some way to survive (if just barely) enough to at the very least pass through a patch in their way.
That might be pushing it though…

It’s also worth noting that we already allow players to exit the editor despite having a build 100% likely to die…

I think that’s starting to be a bit too many borders, as we already have the actively selected, player is currently here, and “you can move to this patch from the selected patch” borders. Something like an icon saying the player can’t survive in a patch or a colour filter on the patch icon, would be better to avoid adding one more border colour which players will ignore (I’ve noticed the “you can move to this patch from the selected one” is very easily ignored).

2 Likes

We’ve gotten a decent amount of progress in this topic, with discussion of a patch movement logic revamp in another thread (Player migration - #7 by Deus from this post downwards), I think we should start actually discussing how players will be able to adapt to different conditions. We’ll go environmental factor by environmental factor to make sure not too much information is being thrown out at a given time, starting with a general idea of how tolerances should act and a discussion of how organisms can adapt to Pressure.

How Will Organisms Adapt to Different Conditions?

There will largely be two ways…

  1. Specialized Parts/Upgrades. Most things will probably be upgrades, but some unique parts will exist to make it easier for players to adapt.
  2. Morphology. Different membranes can have different tolerance effects. More rigid membranes will be better at tolerating crushing atmospheric pressure, for example.

It is important to note that shifting your organism’s tolerances should be easy and straightforward. Environmental tolerance ranges serve as a constraint on the player, so we don’t want this constraint to be incredibly difficult to deal with.

Tolerance to extreme environments will reduce as organisms get more complex. This might occur either through the nucleus shifting ranges due to the introduction of more complex and selective enzymes or will occur naturally with increasing size.

Pressure

Membrane Type & Rigidity - More rigid membranes will universally allow greater tolerances to higher pressure environments. They won’t dramatically decrease tolerance to normal pressure environments, though the effect won’t be enough to make an organism tolerate the deepest layers of the ocean in larger organisms. Max rigidity in most organisms will allow tolerance to surface level patches and medium-level pressure zones.
Sulfur-Metabolism Adaptation/Slider - A common metabolism in deep-sea bacteria, changes in amino acid and protein structures can make enzymes more barotolerant. This will be a pretty significant boost to prokaryotic organism’s ability to survive high pressure environments, and in combination with rigidity should allow simple prokaryotes to survive in even the most demanding environments.
Contractile Vacoule - A eukaryotic unlocked variant of the vacuole which will allow a greater tolerance level for larger, more complex organisms.

1 Like

Shouldn’t this be the default situation (well at least when vents starting type is used)? Also I’m not looking forward to having to code different world initialization logic for it to be able to make viable species for each starting patch (thanks to panspermia being able to start with any patch). Also microbe freebuild starts the game off with the patches filled with life.

2 Likes

For playthroughs that start in hydrothermal vents, I would think that having the rigidity slider be at its default position should be enough tolerance for small prokaryotes. Hydrothermal vents, and especially alkaline vents which are predicted to be the origins of life as opposed to the black smokers, aren’t necessarily found in the deepest parts of the ocean all the time.

Unless we treat the original spawning patch as a one time exception and only begin applying environmental tolerances after the initial move or something, I don’t see many alternatives besides giving players tolerances at the start of the game.

That’s not really what I meant. I was raising the point that default microbes should be fully adapted to the starting patch of the player, which gets a bit complicated if the default microbe can’t survive in any patch (as the microbe would need to be automatically modified before the game starts).

2 Likes

Ah yes, you are correct. Apologies I misunderstood. There would indeed need to be some different logic depending on where a cell spawns in, which makes panspermia a bit of a design conundrum. Cells might have to spawn in with enzymes already or with certain physical traits.

I think it’s best to jot out the several adaptations players are able to take in response to environmental factors and then we can figure out what LUCA cells might look like depending on where they spawn. My hopes is that we can get away with placing down a simple enzyme or with having a certain membrane setting and have the lower mass of prokaryotes enable tolerance ranges to be more lenient. But if that turns out to be not optimal, we might have to look at another solution when it comes to the first patch.

1 Like

This is not my favoured solution as the species generation API interface will need to be changed so that it knows what the patch it is generating the species for is like. Right now freebuild and the game itself can just generate new species or species with a certain number of auto-evo steps already performed. With this change the code needs to be changed to require the calling piece of code to know the target patch the new species is for and then the species generation logic also needs quite a lot of extending to make it know how to make viable initial species based on the patch conditions. As can hopefully be seen, this feature would require a very significant increase to the complexity of the species creation code.

1 Like

Then it’s probably best to go the exception route, where players don’t have to worry about their first patch’s environmental tolerances (atleast at first).

That’ll be a pretty smooth solution but we would want to avoid players exploiting this by never moving patches and thus never having that element of evolution be applied to them. So perhaps players will have a 3 turn grace period where they would need to apply their adaptations before receiving consequences. Hopefully, auto-evo in the free-build editor can somewhat function under these terms too, where AI cells will start applying their tolerance adaptations before their grace period is up.

I would be wary of this as players might not understand what they need to do until it’s too late and they get swatted down by the sudden onset of overheating when they were otherwise fine. It would be a very jarring way to go extinct.

It’s that, or we make sure that tolerance is neglectable for tiny bacteria and begins to really matter when you’re a certain size.

The only other solution I could think of is the introduction of variance of temperature in a patch, where the vents would have really hot spots in an otherwise just relatively warm environment. I think this would be nice but very difficult to implement because it runs into the same issue as thermosynthesis because players cannot see or feel the temperature themselves. But that’s a new can of worms that I’ll leave unopened for now.

I guess we could do something wonky like setting whatever environment you start in as your “ideal” range and you have to evolve to adapt to anything different, but that would mean the player would have to constantly place warming parts to survive in any patch that isn’t the vents.

I suppose there’s no perfect solution…

3 Likes

I’m wary about that because it again reinforces the “one cytoplasm master build” phenomenon. Since the environment represents a threat that life must adapt to, I was thinking that environmental tolerances would be the thing that forces the player to place parts down, making the one cytoplasm build a lot less prevalent. Though of course the idea that smaller/less complex life is punished less for environmental tolerance ranges or atleast has more versatility in that regard is a good idea, I just don’t think it should ever be completely negligible.

And yeah, setting the spawning patch as your default tolerance range opens up a lot of weird design implications, like having to have warming adaptations in otherwise regular environmental conditions.

1 Like

Very wise, I think. If one more person attempts the heat gradient display and disappears from the team, we’ll have another cursed feature on our hands :laughing:

I wouldn’t consider this a really problem. Wanting to get to the rest of the stages should at some point be enough of an incentive for the player to make non-optimal choices like getting the nucleus or needing to move away from the safe starting patch.

I think this is actually fine. The player has to get the nucleus to advance in the game. I wouldn’t be too worried about this unless it is a really busted strategy to somehow wait a long time before evolving at all somehow. I can’t imagine such an exploit right off the top of my head.

This doesn’t solve the problem as AI needs to be able to start in any patch in freebuild mode.

1 Like

If we go down the exception route, I’m sure enough players would notice this as an exploit that it would become some sort of speed-running strategy. It also cheapens the implications of surviving in such an extreme environment should you spawn in a pool or near the hydrothermal vents; few bacteria are able to survive in such an environment, and the tolerance ranges decreasing with complexity/size wouldn’t be applied at all.

There are several environmental events which would represent huge evolutionary hurdles in early life’s development, such as snowball earth, oxygenation, etc. that I can imagine players deciding to completely circumvent those struggles by remaining a single cytoplasm until most events pass. Then it becomes much easier to reach the point of getting to a nucleus since a lot of the young planet’s volatility is sorted out by then.

1 Like

I just can’t get behind that idea, mainly because my mind is already melting from the amount of work that is already on the accepted microbe roadmap. I think for any additional features, the required programming time is a key consideration whether a feature should be accepted or not to be a required feature before we can move on from the microbe stage.

1 Like

Keep in mind that these events will destroy all of the other species and drastically reduce the overall biomass, making the scavenger strategy of the one-cytoplasm-hex species less viable. Furthermore, these things will happen when the abundance of naturally occuring free-floating glucose clouds has reached 0.
In general, that’s just how it is. The more specialized a species is, the more likely it is to die out in the event of crisis. But this is not only the case for crises which the experienced player knows will eventually come like the great oxygenation event. Other crises might happen at random times, so specialization always bears a risk, even after a metagamey player has waited out the predicable crises. Also, I agree that this

should be enough to compel the player to not always take the safest route and stay as simple as possible.
Also, the single-hex species will be significantly nerfed once autoevo will take the toll of being predated upon into account (I learned that it doesn’t do this right now thanks to Thims great new video^^).
This should probably combined with a boost to the speed flagella provide, making it easier for larger and more complex cells to predate upon single-hex microbes (getting a bit off track here but that’s just how it is when debating a game where all features are interconnected with one another.

Panspermia does make the implementation of environmental tolerance adaptions more complicated. Taking panspermia out of the equation would make things a lot easier, since vents and tide pools are both relatively warm. Without panspermia the benchmark could be that the single-hex LUCA species can do relatively well in warm patches, but wouldn’t be suited to cold ones. From there on we could make it increasingly hard to stay in the vents (the hottest patch) once you grow larger without any specific heat tolerance adaptions and make gameplay punishingly hard for small species in cold patches when they don’t have any specific adaptions.
I therefore suggest that we should consider removing panspermia as a possibility for the sake of the much larger and more central feature of environmental tolerance adaptions.

In general I’m not inclined to give the player any artificial exception from the evolutionary rules, That’s why I suggested earlier to implement a rework of the game over mechanic and speculation logic alongside environmental tolerance adaptions. But also excluding that option I’m in favor of any solution which would apply the same rules to the player as to the AI as far as possible.

1 Like

Considering the conversation above I guess it makes best sense to have LUCA be minimally impacted by environmental effects. Thinking about it more, players probably wouldn’t be wise to “exploit” this for too long since they eventually would need mass to perform endosymbiosis and otherwise unlock organelles, which would really slow down their progress to wait to initiate that (needing to reach certain sizes for unlock conditions and for enough mass to engulf candidates). And besides, as Mirror mentioned, auto-evo will hopefully have something to say about that strategy

I think the next course of action is to figure out how tolerances to different factors will shift with increased mass/complexity. Then finishing out the rest of the tolerance option list after that will give us a solid picture of what the mechanic will look like. Final kinks can be ironed out at that point.

3 Likes

Here is how environmental tolerances can interact with growing mass/complexity.

Temperature: As mass/complexity increases, tolerance ranges approach average (13-23 Celsius) relatively fast.

Pressure: As mass/complexity increases, tolerance range approaches lower pressure at an average pace.

Sunlight: As mass/complexity increases, tolerance range reduces tolerance to light relatively fast.

Salinity: As mass/complexity increases, tolerance to freshwater reduces at a fast pace.

Oxygen: No tolerance initially spawning. If needed at first before implementation of atmospheric changes, as mass/complexity increases, tolerance to oxygen decreases.


Editing this because I feel like the write up for salinity is short/simple enough to not have its own post for.

Salinity

Salinity tends to vary from sea to sea, though for the Microbe Stage we would mostly want to focus on the freshwater/saltwater divide. Realistically, there is only one patch that consists of freshwater in Thrive (river patches).

Though certain adaptations to salinity exist as macroscopic morphological structures, such as contractile vacuoles in eukaryotes, the majority of adaptations are focused on the membrane. Given how there is only one patch in the Microbe Stage which is freshwater, and given how the only meaningful differences in salinity are between two options, I honestly think it might be worth it to just have a freshwater/saltwater toggle in the membrane tab. We don’t need a very dynamic system since there is minimal variability, so it might be best to just make the adaptation simple and easy to manage, reducing the workload placed on the player to maintain their tolerance ranges.

We can involve a more detailed simulation of adaptations to salinity in the multicellular stage, where variance between patches won’t be as drastic.


Adding temperature tolerances to this post because of the consecutive reply limit.

Temperature

Probably the environmental condition which varies the most from patch to patch, it is important to nail down a player’s control over their tolerances to temperature.

Heat

Thermosynthase - Thermosynthase will inherently make a player favor high temperature environments, making them reliant on high temperature environments.
Thermosynthase Slider - A slider will be offered to organisms with thermosynthase allowing them to tolerate even the most stubbornly hot environments. This might be unnecessary if we don’t implement strong variances between extreme patches (there aren’t a large number of hydrothermal vents in the average playthrough anyways).
Sulfur Part Slider - A LAWK option for organisms who inhabit warmer environments. It will be harder for larger or more complex organisms to rely on this adaptation to survive in extreme environments, but prokaryotes and the simplest of eukaryotes will find them invaluable to life in warm ponds or hydrothermal vents.
Iron Part Slider - A LAWK option for organisms who inhabit warmer environments, analogous to the sulfur sliders.
More Fluid Membranes - Having a more fluid membrane will provide a slight boost to heat tolerance. This will allow complex organisms to ever so slightly adjust their tolerance ranges incase they inhabit slightly more heated oceans. The effects would be more dramatic in more simple organisms of course.

Cold

The biggest issue with cold adaptations relate to a snowball globe event or the frozen sea patches. Players can generally avoid both of these extremes by going to deeper patches, but even these environments will cool and the surface patches are very important hubs for various strategies (high oxygenation, sunlight, etc.) So it is important that these adaptations are relatively accessible for players.

Metabolosome/Mitochondria Slider - Since oxygenic respiration will likely be very common in the surface patches, this will help enhance accessibility.
Thylakoid/Chloroplast Slider - Similar to the above line of logic, photosynthetic organisms will inherently prefer surface environments which are more vulnerable to snowball earth events, so this helps those organisms.
More Rigid Membranes - More rigid membranes will serve as a slight boost to colder environments, allowing all organisms to finetune themselves. This will coincide with a greater tolerance to depths, which lines up nicely with the nature of deep-sea environments.


Attaching tolerances to the rigidity slider will allow a more universal capacity to adapt to non-extremophile environments, while attaching more dedicated upgrades to parts which relate to common compounds in patches will allow players to adapt to local extremophile conditions. I think it is important to emphasize the greater capacity of prokaryotes and simple organisms to adapt to temperature, so temperatures could be one of the more sensitive tolerance ranges to complexity and size.

——

Oxygen

Perhaps the most important compound in the game, oxygen should be an influential resource in the game, dramatically transforming the nature of a player’s niche. The inherent challenge of oxygen in the beginning is between a caution of jumping the gun too quick by adopting oxygen tolerance before the compound becomes widespread, and missing out on the heightened capacities oxygenic metabolism can give you.

Bioluminescence - As Buckly had brought up in prior posts, bioluminescence is theorized to have originated partially as a way for bacteria to neutralize oxygen. Bioluminescence can be a useful adaptation for bacterial players who do not want to transition to oxygenic-metabolism yet or photosynthesis. It can provide a moderate resistance to oxygen which can be rather strong for less complex organisms, but perhaps not worth the energy for larger complex organisms.

Metabolosomes/Mitochondria - Metabolosomes and mitochondria, and really, any other oxygenic process, will provide a strong boost to oxygen tolerance (the first two parts mentioned getting the strongest boost).

Thylakoids/Chloroplasts - Because they produce oxygen, these parts can receive a moderate tolerance boost to their oxygen tolerances.

——

Sunlight

Implementing a way to gain tolerance to sunlight can lead to interesting cases later, such as tidally locked planets. Adaptations to sunlight should be rather accessible.

Thylakoids/Chloroplasts - being dependent on sunlight, these parts will receive a strong tolerance boost to sunlight.

Non-Single Membranes - Providing a moderate boost to sunlight tolerance, this will incentivize players to transition away from single-layer membranes, which I think is important to encourage players to eventually move away from as they get more complex.

Melanin - A dedicated part to sunlight accessible to all cells, these can be a very accessible way to gain tolerance to sunlight.

1 Like