This page lists a number of ideas for future developments of Evo(rand).
The processing of the DNA could be made more flexible and more robust to the effect of mutation and growth by introducing a new type of marker within the string of bytes forming the DNA. This marker would be used to split the DNA in several blocks, each having its own mutation rate, growth rate, and even allowing such block to disable growth.
This would allow blocks to have variable mutation rates. Through evolution it would allow blocks that are more important to the survival of a creature to be more stable, while maintaining more variability in other blocks. Disabling growth (which would also be encoded in the DNA) would allow further stability of those blocks.
The mutation rate applied to the marker could either be the mutation rate of the preceding block, the following block, the first mutation rate in the DNA, or a specific mutation rate applied only to the markers. Maybe that latest solution would be the best.
Those blocks would be named "Chromosome".
This idea could be pushed further, allowing such blocks to have alleles (also encoded in the DNA). This would cause the block to be duplicated (once or more) and the copies would be randomly picked up among the various copies present in the parents DNA during sexual reproduction.
There are several ways to implement more flexibility in the rules. Some of the ideas are:
Very often, an action fails because the path taken by a creature to the target location of the action is blocked by the terrain, for example presence of a nest. One modification that would address this is to implement path calculation, which would avoid obstacles between the creature and its target destination.
Note that I am not too sure this is a good idea. It would actually be better to provide a mechanism for the creatures to develop their own obstacle avoidance strategy, rather than hard-coding it.
Implement the following indicators:
The current implementation is based on a fix set of Species (limited to a maximum) and a crude analysis of the genealogical tree. This should be changed to use a more quantifiable criteria to define new Species. This could be based on criteria used in biology, or a criteria based on cluster classification for example.
This development would consists in separating the management of the movement in a separate class, allow more flexible definition of movement capabilities and add altitude, and flying.
Changes to functions:
Add Specie color to the Population Stats form.
Add Specie color to the Genealogy Tree form.
Add Rule stats to the Genealogy form.
Add Gene stats.
Add overall creature speed multiplier (Avida metabolism).
Add more mutation types (Aevol inspired, including Gene-aware inserts, deletes, duplication).
Add Gene-aware parasites.
Add behavior alteration parasites.