Flaws in auto-evo system

I’ve noticed some flaws in the auto evo system, resulting it in producing homogeneous organisms.

  • Most organisms have a capsule or triangle shape (always with a point on the right side for some reason), and a similar size of around 25.
  • No specialization into niches. The vast majority of species (over 90% across 5 worlds with 25 generations) have cytoplasm (and protoplasm), Metabolosomes, Thylakoids, Chemosynthesizing Proteins, and Rusticyanin (97% have this despite it being extremely rare on Earth). 70% have Perforator Pilus (and Nitrogenase). This means that the majority of species are getting energy from all food sources in the game: Glucose Clouds, Photosynthesis, Hydrogen Sulfide, Iron, and Predation. Real species get energy primarily from one food source.
  • Few species (under 15% in the same 5 words) have Oxytoxisome, Flagellum, or a Nucleus. No species has a binding agent. Very few (under 3%) have a Slime Jet, Signaling Agent, or Chemoreceptor. There is no selection for these organelles, for behavior, or for rigidity. This is because auto evo only takes into account the food sources an organism can consume, and how efficient it is with those resources (how big the ratio of ATP production to ATP consumption is). Auto evo does not take into account stats like speed.

This is an example of what auto evo produces. Here are six organisms from a world ran for 20 generations, each selected because they were the first species in a large branch (so the last common ancestor of any two of these species was over 12 generations ago). They all have roughly the same shape, and they all have multiple food sources. Some of them like the fifth and sixth have adaptations for all five food sources. None of them have any unique agents.

What are the solutions to these problems?

  • You could have the auto evo account for stats like speed, so organisms evolve organelles like flagella. (Not taking this into account can lead to absurd scenarios where an organism with hundreds of hexes of cytoplasm can support a healthy population according to auto evo, despite being unable to move and starving within seconds in the actual game). Also this issue prevents sessile plants from evolving.
  • You could have specialization. Perhaps once a cell unlocks a protein, it’s cheaper to add more, and for larger cells (which are more evolved and adapted to their niche) it’s more expensive to add new proteins, or the more you have of a protein, the more efficient it is. A plant shouldn’t be able to suddenly unlock Rusticyanin, and a predator shouldn’t be able to suddenly unlock Thylakoids, as these things don’t happen in real life. In general, organisms should be adapted to specific niches rather than trying to get all food sources as the current system incentivizes.

Auto evo should produce more of a diversity of life. You could have small organisms with a few hexes (or less) living off glucose or vents or sunlight or heat or iron, medium sized prokaryotes adapted to specific foods or predation (hunting the small organisms, or hunting larger organisms with spikes), and eukaryotic predators or plants. There could be organisms adapted to being plants (cellulose wall, sessile) and organisms adapted to being animals (no photosynthesis) rather than most organisms being generalists.

7 Likes

Rusticyanin should be nerfed in general. I tried running a world with 10 mutation attempts instead of 3, and after 15 generations every species except Primum Thrivium had it. Maybe have a system like protein unlocks to prevent every organism from evolving it.

1 Like

Please do not doublepost, you can edit your later post into the former one.
Also, welcome to the forum!

i think double posting is actually allowed as long as its a different statement and its from the OP…i could be wrong though

4 Likes

This is an intentional tweak that there’s an equilibrium size. The species mutation algorithm, which you can read here:

has a natural balance based on the random chances of removing and adding organelles. It was intentionally balanced so as to not create bigger and bigger cells constantly. There might be an uninentional bias for placing organelles at the front of the microbe.

There is a bit of a feature in auto-evo to try to make cells specialize: energy source fitness uses a power function to try to exaggerate fitness differences between cells. This could use more work.

Though I want to highlight how even now I have to read players not understanding how this works. I see quite a few posts from people saying that adding thylakoids just decreases their population. Most often that is caused by the competition being so harsh that adding a new organelle doesn’t allow the player species to gain any energy due to the existing competition.

That’s because auto-evo is a really neglected part of the game and people adding new organelles don’t want to program auto-evo to take them into account (though some of these parts you mention do have handling).

It does already but it also gives slow predators some energy as that simulates lucky catches of prey. There are a few issues to improve the speed handling in auto-evo:

There is like a 90% debuff in auto-evo from not being able to osmoregulate. It’s not 100% to allow species to exist that are just temporarily really bad. And also players might hate auto-evo even more.

See the link to the mutations code I linked above. Auto-evo is actually above your concepts of mutation costs etc. it uses an entirely different system to create mutated copies of species.

It is not allowed to double post immediately after creating a thread. The only exception I’ll allow if someone hits the character limit per post and they still have content to put into the thread.

2 Likes

This is understandable, but I still feel like it could be interesting to have more diversity of size. I’m not sure how you would reconcile these two things.

Still, the vast majority of species get food from multiple sources.

Here is what I meant by the absurd scenario:


This organism, with 323 hexes of cytoplasm, a speed of 2.1, and a glucose deficit of 2 per second, is predicted to have a population of 1634. This is because it has a good ratio of ATP production to ATP consumption and has a lot of potential food sources from predating on everything. In the actual game, it instantly runs out of glucose and is unable to move.

2 Likes

One thing to note is that if you are playing as that species, it is marked as the player species. That makes auto-evo kinder on the species. If I remember right the auto-evo strength is reduced down to like 20%. So if auto-evo predicts the population is 0 but previous population was thousands, the population will only go down a few hundred population per simulation step. Meaning that auto-evo might have actually predicted 0 population for that species but thanks to the previous population and being the player species the next calculated population is not 0, yet.

3 Likes

The game has plot armor? This is not something I would’ve expected in Thrive, though I guess it makes sense: the player goes through (semi)darwinian evolution, whereas the NPCs go through heuristic based evolution

It’s pretty easy to notice that auto-evo species die down faster than the player species. Player species infact can only go extinct if the player dies at low population.

2 Likes

Yes, there’s enough complaining about it (auto-evo being harsh) as-is so the player has 80% plot armor against auto-evo.

2 Likes

It doesn’t break my science-y immersion knowing that because the player also has the ability to, you know, think ahead, meta game, and see how good plans are before they try them with math or the game’s help. That’s nonsense as far as evolution goes, totally unscientific, but great game design. Letting players choose dumb stuff to be easy on them or let them get closer to a better build idea they had without dying off is totally cool coming from “ignoring the differences between evolution and creationism because it’s fun”. It might be interesting to make it turn-off-able so you could be stuck in a local maxima and never get to evolve anything fun. It’d be funny if nothing else.

3 Likes

One thing I feel is a VERY big problem with the current auto-evo is that some species will have entirely useless organelles that make no sense to have in ANY of the patches they are in. One big example would be thylakoids in volcanic vents, or anywhere else that has no light. I assume that auto-evo registers the thylakoids as beneficial because of either their glycolysis giving them an advantage in consuming glucose, or because of the size the thylakoids give giving them an advantage in predation; Both of those features could be otherwise provided by cytoplasm, but weren’t, likely because thylakoids gave the same advantage, even if slightly less efficient. The only other reason to evolve thylakoids would be to take advantage of the sunlight food source, meaning that there could be a bug with light as a food source existing in patches without light. If there is no phantom light source, the following solution should work.

My solution goes as follows: All non-cytoplasmic organelles (anything that isn’t cytoplasm) should only be placeable on cytoplasm. Ignoring the player side of things, possibly just limiting this to AI, this would work by selecting the position of a new non-cytoplasm organelle from the existing cytoplasm locations, meaning that the AI would only be able to move organelles, place cytoplasm anywhere, or place organelles on any cytoplasm. This would hypothetically prevent the auto-evo from giving organisms an advantage for placing thylakoids in a place with no light, assuming that the reason auto-evo does this is because of the advantages given by either a new hex, or by glycolysis, both of which cytoplasm provides. Of course, any (or most) organelles that don’t do glycolysis could have the cytoplasm requirement removed, but the extra hex benefit would still be there for those organelles, so accurate specialization would happen more often if every organelle did different things. For example, if every organelle decreased osmoregulation cost, there would be no selection pressure against different organelles in that regard, as they all decrease it the same amount. Similarly, every organelle increasing size gives the ability for organisms to use useless organelles in order to acquire food from the predation energy source, and glycolysis allows them to gain benefit from thylakoids in patches without sunlight.

Assuming my above solution would work, lets look at how it could be implemented into the player side of things. Pretending that balance isn’t necessary, we could just prevent the player from placing organelles on non-cytoplasms, giving them a tutorial explaining this in the editor, and it’s done. However, this offsets the current balance of the game, so in order to get things back to the way they were before, we could have all organelles have subtracted from their MP cost the amount of cytoplasm that would be required in order to get them. This set the balance back to the way it was, except possibly for organelles that take up more than one hex, and especially for the nucleus, which would cost negative MP. For multi-hex organelles, extra work would be needed, either allowing certain organelles to be placed without a cytoplasm, as in the auto-evo system, or balancing these organelle’s cost by hand, perhaps making them much cheaper, but still not free. This change would also give players a reason to use cytoplasm other than to change size to become a predator: to allow placement of organelles.
Now, it may seem redundant to do this, ignoring the nucleus, as it would give the player the same net cost overall for most organelles, but I think that this would not be the case, as it would allow the player to save up MP without directly carrying it over to the next generation. On harder difficulties, or just difficulties with higher part cost, this is even more important, at least if the player needs to evolve in order to survive.

1 Like

I agree with most of the stuff here. What I want to bring up specifically:

  1. Other than organisms evolving for every food source, I also recently saw an organism, living on a seashore, with a massive amount of rusticyanin. Not sure how to post fossils but I did fossilise it. I think auto-evo shouldn’t evolve anything which has no impact in the local environment. The random selection doesn’t really work.
  2. The microbes give basically no challenge, most of the time, once you have a nucleus, because they don’t bother evolving one of their own. Nuclei are rare. I’m not sure how nucleus-microbes react to the obseletion of their proteins, but if I had to guess, they don’t notice and neither delete the inefficient proteins nor refrain from adding more. However, that’s only a guess.
  3. Auto-evo bloats. A lot. I don’t think that’s fixable. But it does slow down the game a lot.

Equally important in my opinion, is that there need to be more species branching of your own after you place a nucleus yourself. This happens quite rarely right now, I think the problem lies with a combination of:

  1. Auto-evo not always matching what is beneficial and optimal for the player to design.
  2. Auto-evo does not conform to MP limits, meaning AI species are far faster to approach what auto-evo thinks is optimal.
1 Like

I’m wondering if the auto-evo’s soft-cap of 25 size should be boosted up to, say, 50 or 75 with nucleus-having cells. It’s definitely an issue that the nucleus, despite providing objective benefits in almost every respect to the player, doesn’t really show up in AI cells. And I’d have to guess it’s the primitive auto-evo’s fault. If it tries to encourage 25-size cells, no nucleus cells will really be able to work. They need more size, and probably coding so that they actually use their organelles. And maybe there needs to be more pushing for the auto-evo to generate nuclei independently of the player, so that there’s a possibility that eukaryotes spawn in before the player evolves a nucleus. That would be interesting, I think.

  1. Specialisation
    One way to encourage specialisation would be to make organelles cheaper the more you have of them. (This would apply more in the Multicellular stage, when you can specialise whole cells, and then even moreso in the Aware stage once you’re designing tissues.)
  2. Food Web
    Auto-evo should build a food web in each region which is (what it thinks is) the order of predation in the area. You can view this food web on region screen. This would be taken into account during auto-evo.
  3. General Auto-evo issues
    Other threads have described basic issues in the auto-evo logic that result in dumb cells, like mostly-rusticyanin omnivores in a tidepool.
  4. More Aggressive Extinction
    Make competition more aggressive, and if it’s not taken into account in auto-evo, put it there. I want to see that tree of life get trimmed.
  5. Auto-evo takes into account local resources
    Auto-evo should take into account local resource availability and which species use how much. (X% CO2 in environment means that there are Y points of CO2 for cells to use and produce.) This would possibly help prevent the omni-generalist cells that keep being generated.
2 Likes

I moved the above post here as it is basically talking about how to improve / fix flaws in the auto-evo system.

Auto-evo already creates predation relationships which give energy to the predator species.

Though you are right that the “food chain” tab for visualizing this information has been missing for years and years.

Competition already uses a raise to a power function to exaggerate differences in fitness between different species that use the same energy source (this is the auto-evo strict niche competition which is on by default).

Each energy source has an absolute maximum cap which is split between all species using that energy source. So this is already in the game and for example photosynthesis is also limited like this (there’s imagined to be a limited water surface area that species must compete for).

I know there isn’t a good overview of auto-evo anywhere as it would take a ton of time for someone to write that. Maybe someone who learns how auto-evo works would take the time to write such a thing to help out everyone who wants to talk about auto-evo. But for now the only source of truth on what auto-evo does is the source code:

1 Like

Screen Shot 2024-06-18 at 5.09.12 PM
Auto-evo occasionally creates species that emerge due to unspecified ‘different selection pressures’. They start off with a notable population that isn’t 0, and then go extinct, in a single mutation step. What?
Screen Shot 2024-06-18 at 5.10.35 PM


Screen Shot 2024-06-18 at 5.11.06 PM
Screen Shot 2024-06-18 at 5.11.20 PM
Screen Shot 2024-06-18 at 5.11.30 PM
Screen Shot 2024-06-18 at 5.11.41 PM

There’s various display bugs with auto-evo claiming species went extinct when it doesn’t really, most likely existing issue that matches what you saw:

So it seems like what I saw is that emerged due to differing selection pressure is always claimed as having gone extinct. Which is not optimal but we have over 600 open issues and nowhere near enough programmers to take care of them all.

I’m not fully sure if you saw this, but I think maybe it is possible for species to go extinct while they emerge. I remember adding an internal tweak variable that makes species not able to go extinct immediately after splitting, but I turned that off as it seems pretty random to me that a unforeseen force would protect a species when it should go extinct.

2 Likes

I’ve held the opinion for a while that the first organelle of any type should have a very high MP cost, with the rest after having a fixed low cost (similar to just cytoplasm). That solution could also work though. In any case, developing a new type of organelle like a mitochondrion is a far greater evolutionary step than doubling the amount if you already have some, and the game should probably reflect that.

Though I have to mention: this would not change anything about the auto-evo right now. As far as I am aware auto-evo throws around a number of trial mutations, but it does not follow any MP costs.

3 Likes