Speciate is a Java-based project that simulates the evolution of critters in their environment.
There are 32 critters which all have DNA in the form of two 8-bit numbers (actually they are 32-bit, but only 8 bits are used). The first set of genes determines the color of the critter. The other set of genes are sex genes.
There is a predator killing 8 critters per run, the critters to be killed will be the ones with the highest color difference from their environment. From the remaining 24 another 8 will die from pure bad luck (this is 100% random).
After the slaughter, the critters will mate. Couple of critters will give a part of their DNA to their children. The coupling itself is random, yet the sex genes play part in this: When the numerical difference between two critters' DNA is greater than a predetermined value (25 for now) these two critters are considered sexually incompatible, as such they can't mate and a new couple of critters is selected instead. The result of the mating is 32 new critters.
Both parents donate a part of their DNA that is, the first parent that's selected donates the 4 most significant bits from the 8-bit color genes and another 4 MSBs from the 8-bit sex genes.
The last selected parent will donate 4 LSBs. When the genes are selected, it is possible to have mutations. There is a slider to adjust the probability of mutating, the default value is p=0.25.
Please note that only color is driven by natural selection, sex genes are only mutated randomly!
Detailed instructions on how to install and use the Speciate utility on your Mac are available HERE.