Okay, auto-evo is now creating MulticellularSpecies from non-player MicrobeSpecies, though with no restrictions other than them having binding agents. In the end, the solution taken was to generate a multicellular version of eligible species in ModifyExistingSpecies, and then running mutations for both the Microbe and Multicellular mutations, then selecting mutants from the combined pool.
There are still some things I want to make sure to add to auto-evo this year to have things mostly complete:
Add difficulty-setting-controlled (And I do think it should be in the actual difficulty settings this time?) restrictions on non-player MicrobeSpecies generating MulticellularSpecies.
This needs some design work done actually:What should the setting and the possible options look like? It’s been previously discussed as disallow/allow with little warning/allow with 5 “turn” warning. So would that be a drop-down with those three options, or one switch and a selectable number through a slider?I suppose there’s the question on where exactly the block should be put in, but I’m pretty sure this should be right before ModifyExistingSpecies attempts to create a multicellular version.
Right now, any eligible species transitions quite quickly anyway, and putting the block here saves the most performance, since no actual mutations or score checks take place if it is blocked.The player will need to be informed of this, so there probably needs to be some kind of pop-up with a countdown.When and where exactly should this appear?
I am currently thinking of showing a pop-up screen right when you enter the editor.I probably need some guidance on how to technically implement this, or its simply going to take a while for me to figure it out.
- Score calculation and mutations for reproduction modes. Obviously, this is a big feature of this stage and auto-evo should use it, and acknowledge player changes in it. This will require quite a bit of thinking and experimentation to get right, I think. One option I have been considering is for a very limited selection of score calculations to look at not just the fully grown adult, but also the juvenile form. That would mean changes to reproduction mode (and celltypes therein) automatically affect score through the code we have already. But there is a risk of heavy performance reduction unless we are very careful with what calculations to select.
- Add the option to add an additional copy of a cell part to an existing cell type (to the cell type that has the highest amount of it already) as an alternative to placing more of that cell.
- Add a custom MutationStrategy for adding organelles specifically for fixing an ATP deficit in cell types. (this might also replace the system of “placing any ATP-producing cell part” for MicrobeSpecies).
- Updating score calculations for cells entirely hidden behind other cells. Pili, engulfment and I believe even toxins, do not work if they’re blocked by other cells, and score calculations should recognise that so that more functional species are created.
There are also some things that I would like to do, but are of lesser priority:
- I want to explore other limits on generating multicellular species that are universal and do not depend on the difficulty settings. For example, blocking it when there are already very closely related multicellular species. This would cut down the total number of mutations and score calculations made.
- Explore adding additional miches for Microbes and Multicellular to co-exist while minimising performance impact.