I feel like the species should attempt to mimic natural selection instead of the energy balance being used to update the population. I guess this system could also do that with the different species emerging when some die out. But I’d prefer a more complex equation for determining the “effectiveness” of some mutation. So merging that with my current understanding of the goals of auto evo it would work something like this:
- when the player enters the stage (either from the editor or a new game) all the species information is gathered and sent to a background auto-evo thread.
- Then we can do some fancy stuff as performance isn’t a huge concern. So this is how I’d imagine the auto-evo step to work:
- For each biome split it into batches (6 * number of species)
- Then in each patch (except the first for the species) mutate the genome and calculate how well the changed species coped against the other species in the biome
- Then each species genome will be replaced once the player enters the editor with the one that did the best
- And then the population simulation will be ran in each biome with the updated genomes to update population and species dying out in some biome
- A few things that this doesn’t do is: moving to new biomes and splitting off species (I think species splitting should happen when the population of some species is separated, so it dies out in a biome that then causes the remaining biomes it is in to not be connected)
- The player can’t enter the editor before the auto-evo is done (this can be hidden with a loading screen)
I like how your simple simulation can have fluctuating populations like that, but like I said (or have said before) we need an evolution simulation.
That’s the general overview of how I think auto-evo should work. Thoughts?