I won't be able to do too much development today, I've got a fair amount of marking and tutoring to do.
I'm still working on the code to transition from genome version alpha to bravo. I've been thinking about whether to put the conversion code in class GenomeAlpha, class GenomeBravo, or somewhere else. I've placed the conversion code in class GenomeBravo for now. The conversion function receives a pointer to class GenomeAlpha and converts the data into class GenomeBravo.
I thought I'd be able to get the new genome, neural network, embodiment code done, and run a number of simulations by Wednesday, starting from last Wednesday. The idea was to give the robots a new sensor that would allow them to detect whether nearby robots were male or female. I wanted to avoid hard coding, and to preserve older code so I could step back if I needed to, so the coding is taking longer than I thought it would.
I'm finding more and more that topics I've avoided in the past are coming back to bite me, maths, physics, databases, and networking. Working with simulated robots requires maths and physics. Working with population data over time requires databases. Scaling the simulation requires networking to to a client server architecture.