# Auto-evo algorithm

**URL:** https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065
**Category:** Future Game
**Created:** [July 12, 2026, 7:16pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065 "2026-07-12T19:16:27Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![N4no57](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/n/c6cbf5/32.png) [@N4no57](https://community.revolutionarygamesstudio.com/u/N4no57)
#### Post date: [July 12, 2026, 7:16pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/1 "2026-07-12T19:16:27Z")

</div>

As everyone already knows: Auto-evo kinda sucks. There is always this optimal design, hardly any niche specialisation and often weird designs that doesn’t seem like it came from trial and error; which at the end of the day is what evolution is just over large timescales. I’ve read other suggested algorithms for auto-evo and they are probably better than what we already have.

I decided to take a different approach

Instead of doing what auto-evo does and try to simulate the process of evolution. Evolution is the simulation.  
As a proof of concept, I implemented one in C. At the time of writing this it is still missing a couple features but it is already producing interesting behaviour without a player or scripted events. The simulation advances in timesteps with each timestep comprising of these distinct phases:

1. Environment regeneration
2. Environment diffusion
3. Migration
4. Predation
5. metabolism
6. Population growth/decline
7. Mutations

Rather than scoring species or trying to estimate fitness, every population simply attempts to survive under the current environmental conditions. If a mutation genuinely provides an advantage, it spreads because it reproduces more successfully. If it doesn’t, it dies out naturally. The “selection algorithm” is just the simulation itself.

The link to the github repo: [GitHub - N4no57/auto-evo: I think Thrive's auto-evo system sucks so I made my own proof of concept · GitHub](https://github.com/N4no57/auto-evo)

I’d love to hear everyone’s thoughts on this and if it does get in to Thrive that would be neat.

---

<div class="post-metadata">

### Author: ![AnthropocenianAge](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/anthropocenianage/32/16095_2.png) [@AnthropocenianAge](https://community.revolutionarygamesstudio.com/u/AnthropocenianAge)
#### Post date: [July 12, 2026, 7:22pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/2 "2026-07-12T19:22:27Z")

</div>

Welcome to the Thrive Community Forums, @N4no57! This sounds very good. Funnily enough, I have implemented similar features like “having to survive under current conditions” in my Intermediates FG by literally playing every organism I random generate. Do you have any estimation as to whether the new Evolution Algorithm would be more, or less, resource intensive than the current Auto-Evo?

---

<div class="post-metadata">

### Author: ![N4no57](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/n/c6cbf5/32.png) [@N4no57](https://community.revolutionarygamesstudio.com/u/N4no57)
#### Post date: [July 12, 2026, 7:29pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/3 "2026-07-12T19:29:19Z")

</div>

The current idea of the algorithm works like this: The simulation works on populations as a whole and makes a bunch of estimations with arbitrary numbers. The internal state of the simulator can generate a quite cumbersome number of populations and species but at the end there is this little “compression” stage. The idea is you don’t have to make every mutation a new species so instead it tries to compress populations and species by lineages with the defining factor currently just being innovations like new proteins, new organelles or the evolution of a nucleus. This limits how many species and populations it needs to work on every pass. As for the resource intensity… I can’t say for certainty as the number of populations and species is quite variant. The world is hardcoded at start time and even that can have surprisingly different outcomes due to randomness. I could run some benchmarks on how fast it runs on average.

---

<div class="post-metadata">

### Author: ![AnthropocenianAge](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/anthropocenianage/32/16095_2.png) [@AnthropocenianAge](https://community.revolutionarygamesstudio.com/u/AnthropocenianAge)
#### Post date: [July 12, 2026, 7:37pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/4 "2026-07-12T19:37:41Z")

</div>

> [@N4no57](#):
>
> The world is hardcoded at start time and even that can have surprisingly different outcomes due to randomness.

Does world size have any substantial effect on results? Since in Thrive, world size dictates the number of biomes a world can have, and thus, the total number of max organisms that can occur in a world.

---

<div class="post-metadata">

### Author: ![N4no57](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/n/c6cbf5/32.png) [@N4no57](https://community.revolutionarygamesstudio.com/u/N4no57)
#### Post date: [July 12, 2026, 7:44pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/5 "2026-07-12T19:44:26Z")

</div>

It depends. The world I have hard coded has only 1 patch where resources are regenerated from which is the hydrothermal vent patch. Depending on how resources are regenerated and diffused across a whole world the carrying capacity of a world can vary greatly.

---

<div class="post-metadata">

### Author: ![AnthropocenianAge](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/anthropocenianage/32/16095_2.png) [@AnthropocenianAge](https://community.revolutionarygamesstudio.com/u/AnthropocenianAge)
#### Post date: [July 12, 2026, 7:47pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/6 "2026-07-12T19:47:21Z")

</div>

You definitely need to expand the number of patches. In Thrive, small world sizes can have maybe 12-18 patches. Medium sized world can have around 25-35 patches. Large worlds can have 45-61 patches. These are estimates based on what I have seen finding World Seeds.

---

<div class="post-metadata">

### Author: ![N4no57](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/n/c6cbf5/32.png) [@N4no57](https://community.revolutionarygamesstudio.com/u/N4no57)
#### Post date: [July 12, 2026, 7:49pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/7 "2026-07-12T19:49:21Z")

</div>

That is the current intended plan. I kept it the 3 patches to reduce the amount of data and make my life debugging easier. One of the features I plan to add is to be able to use worlds exported from Thrive so that I can also vary the worlds without giving myself headaches.

---

<div class="post-metadata">

### Author: ![AnthropocenianAge](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/anthropocenianage/32/16095_2.png) [@AnthropocenianAge](https://community.revolutionarygamesstudio.com/u/AnthropocenianAge)
#### Post date: [July 12, 2026, 7:50pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/8 "2026-07-12T19:50:51Z")

</div>

> [@N4no57](#):
>
> I kept it the 3 patches

What three patches (biomes) did you use?

---

<div class="post-metadata">

### Author: ![N4no57](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/n/c6cbf5/32.png) [@N4no57](https://community.revolutionarygamesstudio.com/u/N4no57)
#### Post date: [July 12, 2026, 7:51pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/9 "2026-07-12T19:51:39Z")

</div>

A hydrothermal vent, I forgot the name but an intermediary part of the ocean that receives 1% light at noon and an ocean surface

---

<div class="post-metadata">

### Author: ![AnthropocenianAge](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/anthropocenianage/32/16095_2.png) [@AnthropocenianAge](https://community.revolutionarygamesstudio.com/u/AnthropocenianAge)
#### Post date: [July 12, 2026, 7:53pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/10 "2026-07-12T19:53:39Z")

</div>

> [@N4no57](#):
>
> intermediary part of the ocean that receives 1% light at noon

I believe that is Mesopelagic.

Also, do you think Thrive patch events will have an impact on your algorithm, since they change resources?

---

<div class="post-metadata">

### Author: ![N4no57](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/n/c6cbf5/32.png) [@N4no57](https://community.revolutionarygamesstudio.com/u/N4no57)
#### Post date: [July 12, 2026, 7:57pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/11 "2026-07-12T19:57:44Z")

</div>

I think so. Depends exactly on what the event changes about the environment. The evolutionary pressure mainly depends on the environment and how the populations change the environment. So if the environment changes then so will they. The event with the meteor icon I know reduces max light at noon. If photosynthesisers exist then they will be impacted and the rest will be either doing just fine or not depending on what their primary food source is.

---

<div class="post-metadata">

### Author: ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)
#### Post date: [July 12, 2026, 7:58pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/12 "2026-07-12T19:58:54Z")

</div>

Welcome to the forum @N4no57 !  
(Been a strangely active week for user joinings…)

I am kind of afraid at this stage of development large scale changes to autoevo wouldn’t be viable for the amount of time we have at hand for purposes other than pushing on the roadmap

---

<div class="post-metadata">

### Author: ![N4no57](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/n/c6cbf5/32.png) [@N4no57](https://community.revolutionarygamesstudio.com/u/N4no57)
#### Post date: [July 12, 2026, 8:00pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/13 "2026-07-12T20:00:42Z")

</div>

Fair enough. I understand that auto-evo is a big thing and that currently the focus this year is to power through the multicellular stage. I would do something but I’m not ready to touch C# yet nor am I done working on the proof of concept to a point where I am happy.

---

<div class="post-metadata">

### Author: ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)
#### Post date: [July 12, 2026, 8:01pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/14 "2026-07-12T20:01:42Z")

</div>

The space to make major changes to the algorithms may free up in maybe 2 years given the rough plans the developers have developed. By the way, how many things you know are in Thrive are you missing from your own take? Like events or other sorts of intricancies an evo algorithm would have to deal with?

---

<div class="post-metadata">

### Author: ![Rathalos](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/rathalos/32/8539_2.png) [@Rathalos](https://community.revolutionarygamesstudio.com/u/Rathalos)
#### Post date: [July 12, 2026, 8:01pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/15 "2026-07-12T20:01:48Z")

</div>

We’re always happy for anyone to try and make improvements to the performance and/or auto-evo! Though I _would_ normally recommend working on a fork of repository so that you can actually see the context things have to work in.

Not sure I really understand from your description what and where the differences are.

---

<div class="post-metadata">

### Author: ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)
#### Post date: [July 12, 2026, 8:03pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/16 "2026-07-12T20:03:00Z")

</div>

> [@N4no57](#):
>
> already producing interesting behaviour without a player or scripted events.

They probably mean the organisms are more intriguing than what we got going on in Thrive

---

<div class="post-metadata">

### Author: ![N4no57](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/n/c6cbf5/32.png) [@N4no57](https://community.revolutionarygamesstudio.com/u/N4no57)
#### Post date: [July 12, 2026, 8:05pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/17 "2026-07-12T20:05:38Z")

</div>

I was never the one to be great at explaining my code. I’m more for letting it speak for itself. Buuuuuuut, if I properly understood how auto-evo works I could give a better explanation. My current understanding from playing in the game is everything has an attached fitness which the algorithm tries to maximise. My understanding of it is it’s kind of an optimiser. Also I was trying to avoid C# before I truly had something a little more tangible than just an idea.

---

<div class="post-metadata">

### Author: ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)
#### Post date: [July 12, 2026, 8:08pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/18 "2026-07-12T20:08:12Z")

</div>

I think next you should move on to adding the stuff in Thrive itself so we can see how much of an improvement there is really and if there are any drawbacks to adding such a new algorithm like increased autoevo times for example

---

<div class="post-metadata">

### Author: ![Rathalos](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/rathalos/32/8539_2.png) [@Rathalos](https://community.revolutionarygamesstudio.com/u/Rathalos)
#### Post date: [July 12, 2026, 8:09pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/19 "2026-07-12T20:09:48Z")

</div>

> [@N4no57](#):
>
> My current understanding from playing in the game is everything has an attached fitness which the algorithm tries to maximise. My understanding of it is it’s kind of an optimiser.

I think that’s a reasonably accurate description. There’s a tree of score calculations that are dependent on environmental conditions, with associated mutations for each node of the tree. The algorithm maximises scores, and then distributes population from each energy source based on proportion of the total score.

---

<div class="post-metadata">

### Author: ![N4no57](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/n/c6cbf5/32.png) [@N4no57](https://community.revolutionarygamesstudio.com/u/N4no57)
#### Post date: [July 12, 2026, 8:14pm UTC](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065/20 "2026-07-12T20:14:38Z")

</div>

This is where I think a lot of the issues people run in to with auto-evo stem from. The whole idea is it’s supposed to be like evolution and reasonably plausible. either try to mess around with the tree of calculations which probably is gonna be time consuming, difficult and idk if that would work, see the other auto-evo algorithms work and try an implementation of that or take the same route I did with auto-evo literally being evolution through simulating living organisms over a set number of time steps. I’d be happy to fork and try to implement it in Thrive. A few pointers on where to start would be nice.

[Next page](https://community.revolutionarygamesstudio.com/t/auto-evo-algorithm/9065.md?page=2)
