But how to choose which two robots to mix?
That is the question.
Should one robot shoot a virus like sperm package to force another bot to reproduce and mix the DNA?
Should it shoot another bot to elicit a sperm package back from the other bot (like a -2 shot) then reproduce itself.
Should the bots be tied together to mix their DNA into a combined offspring?
The existing .sexrepro sysvar attempts to mix the DNA of the bot using it, with the DNA of the closest bot in physical space without any actual contact being made between then.
It has never worked all that well.
How about something like fish do:
- a bot can make an egg, which is the same as a child except a percentage of nrg can be put into shell.
- everything that involves external interaction is disabled in an egg (shooting, tieing, moving, feeding). In exchange, it has reduced cost for everything else & possibly an nrg bonus. However the egg can see. This allows hatching ready for external conditions.
- a bot can fertilize an egg through a tie and/or shot
- a fertilized egg gets dna that combines egg & fertilizer's dna through one of several algorithms
-- random pairwise choosing, gene-by-gene
-- random split of dna
-- randomly choose one dna & some kind of mechanism for swapping in "dominant" genes from the other. "Dominant" could be implemented by a command in the gene.
- egg & fertilizer can vote on which algorithm to use. Egg's vote gets priority
- an egg knows when it's being fertilized and can reject being fertilized
- egg can control how soon after fertilization it hatches