Population System - Species Splitting


I’ve been thinking recently about how to organise species splitting in the population system. If at the start there is a single species (1 hex of cytoplasm) then how do you get from there to many species in many patches? Moreover if the species you are playing is wiped out when can you switch to another species and play as them?

If anyone else has other suggestions I’d be very happy to hear them. This is just an idea that I think might work reasonably well.

Firstly when you go to the editor and make changes that doesn’t always split your species (as otherwise we would end up with too many species). Maybe you add a flagella and that means all members of your species get that flagella.

Secondly, at a random time (based probably on population), you might get “split” when you enter the editor. This means that your old species is deleted and two new ones are created. Each of the new ones gets 100 mp (so when they come out the editor they are different) and you then continue to play as one of them.

Thirdly this results in there being a binary tree of species. Each parent has two children, that is the only operation. We can then measure the relatedness of two species as the number of steps along the tree between them. For example if two species share the same parent their relatedness is 2 (1 step up to the parent and 1 step down again). If two species share a grand-parent but not a parent then their relatedness is 4 (2 steps up to the grand parent and 2 steps down again).

Fourthly we could give the player a certain number of “respawn points”. If your species dies out you have to spend these points to get to another species to play. For example if you are wiped out and you want to switch to a species which has relatedness 4 to you this costs 4 respawn points. If you do not have enough respawn points to switch to a species which is alive then it’s game over. On iron man mode you could get 0 respawn points, on “creative” you could get unlimited (play as any species any time). We could give +1 respawn points every 20 mins of play or something like that.

Fifthly the way species move to new patches is when they split one of the offspring species gets a chance to move to an adjacenct patch and try living there. They are still equally related to you as if they were in the same patch.

What do you think? Does this make sense? is it implementable? Do you have improvements or other ideas or a whole different system? All feedback welcome.

Edit: Here is a diagram which might help explain things. The species which are alive are E F D G I K L (as a species is deleted when it is split). The relatedness of D and I is 5 and the relatedness of L and E is 7.


I love the idea of using a binary tree! I assumed we would just have a genus name variable and an epithet variable and if you share a genus those are “related” but a binary tree is much more powerful then that. I assume we will still have genus name and epithet for the naming of species though.

One thing that bugged me about auto evo is how non-Darwinian it comes off as, do you think we can use the binary tree and do mutation on a (I already sim each species and alter population numbers and they only split into new species/genuses/do mutation at a certain population and go extinct at certain populations) a per species basis to create what is effectively a Darwinian evolution sim for them and have that be auto evo? That way we dont have to loop through every individual which is the main reason we didn’t go full Darwin. (Each species can be treated as an individual by auto evo for Darwinian evolution)


Edited my previous post and added a lot of text*


Also, if a whole section of the tree (down to the last clade (a whole branch) goes extinct, do we keep them in the tree or “shave” off the extinct branch?

Also with a tree we can do an actual clade diagram.


This sounds good! I mentioned this earlier, but what happens if your species travels to a new patch and then adapts to it? If your species doesn’t split, will other members of your species in other patches get the adaptation even if it doesn’t help or even hurts them?


@Untrustedlife yeah I think having each species be a unit for darwinian selection to act upon sounds like the right thing. I think we can have a formula for how well a particular species is suited to a patch and then adjust it’s population accordingly, I haven’t figured out the details of that though.

Also I guess we can leave things in the evolutionary tree even in they are all extinct, it might be interesting for the player to look back at. Though if it makes the system slow or anything we could get rid of them.

@Narotiza I think it might make sense to have the process of spreading to another patch be a species split. So you split into two children species and one of them goes to the new patch. This would mean there would be no species which existed in multiple patches.

I think this is reasonably realistic as the patches could be quite big and, as you say, it wouldn’t be great if a species got worse to help it’s other members in another patch with different conditions.


What if we had a “mainline” branch? A central branch from which other species break off from over time? Like each branch is a new mutation, and the mainline is the “average” of the genus?

Like a mutation bring around a poison sack; if the poison sack helps survival to a large extent, and the prior version has large casualties, the “new” version becomes the next chain of the mainline. So that that mutation would be seen as a “critical development” in the species. Like opposable thumbs or bipedal locomotion in humans.

These shifts could be categorized as different species, too.

Change in species; when a large enough change in evolutionary terms to create a large difference in survival rates.


Would this offer different results (ie. is it worth it) than just simulating a few possible mutations and then picking the best one (based on how well it did against the other species in the biome) to change the species to?


could make processing less intensive. But that was mostly just me thinking out loud, TBH.


Lots of good ideas here. I’m wary about choosing “critical developments” though I feel like the end result of a system like that is a far less interesting batch of species, because if we arbitrarily choose toxins as a critical development (and arbitrarily choose other “critical developments” what happens is we always get at least one species that is totally specialized to shooting toxins. I want to have a fundamentally different batch of species each world. Critical developments reduce variety,