(as it is imaginatively titled at the moment - good job I'm not in copywriting!).
It now shows colour gradients for different values of the genes, and mutation doesn't cause it to crash.
Here are some of the things that I hope to do with the program as I continue to work on it.
1) Demonstrate with no selection that bots breed. Done!
2) Then demonstrate natural selection for breedspan. Done! - run several times to compare outcomes.
3) Compare different grid sizes - 10,20,40,80 - compare outcomes/convergence. What is the effect, if any, of different population size on natural selection?
4) Impact of mutation on outcomes/convergence. The proportion of events that have mutations can be controlled, as can the maximum change that a mutation can introduce. Is there an optimum mutation rate that allows development but doesn't wreck existing functionality?
5) Impact of wandering - allow bots to swap places. Does this improve "evolution"?
6) Impact of virility/latency. Currently, a fit individual could spawn several surrounding children every cycle. How about having a limited number of offspring per cycle - or even one offspring per several cycles.
7) Limited evolutionary resources - increasing fitness in one area decreases fitness in other areas.
8) Impact of environment - select for distance from given gene to sum of x and y - and then other more complex interactions.