I cleaned up a lot of code yesterday.
I'm moving towards a model where I create an entity such as food and agents and then add them to components in the system such as graphics, physics, audio and spatial data structures. The original model had code such as graphics and physics within entities.
I fixed a bug that occurred when I was removing food. I had a loop that goes through a list of pointers to food and adds any food that needs removing to a second list. Then I had a loop that removed food from the second list. However, I was removing food using a pointer that I initialized in the first loop.
Today I'm planning to move code from a Qt class into my graphics component, fix up the way entity creation works, check over my list of things I wanted to do and proceed with integrating the Ogre graphics engine.
I've been thinking about how to make the work more interesting and the thing that I really want to see is better graphics and limbs on my agents instead of blocks.
I left the simulation running overnight and the population is still going strong. That is a huge relief because I was worried I had broken something subtle.
The other thing I want to see is the population persisting even with smaller groups so I can see things happen in real time. The system runs at near real time with 128 agents and begins to slow down after that. The problem is that the population needs that many to get off the ground. I may need to implement an upper limit or other ways to slow down reproduction once agents start adapting to the environment.
I've been wanting to release builds regularly to what end I'm not sure but I wanted to get the Ogre graphics engine in place and also to sort out any licensing issues. My last deadline for releasing a build was 1/11/10 so I'm a little late.