So far the work with the synthetic ecosystem is going well. The fixed version of my program has been running for a couple of days and working marvelously (as far as I can tell).
I currently have AI::Life::World, AI::Life::Plant, AI::Life::Agent and some helper modules. It turns out that converting a rather large procedural program to a properly designed OO system is tough. Once my initial refactor is done, I'm going to have to start digging into the Agent's brains. Currently, their brains are hardwired to only recognize things in their current environment. If I add more types of things, improve how their eyes work or give them different actions they can perform, their brains won't pick up the changes. I'm going to have to have the neural networks designed on the fly or else no one will have any use for the darned thing. I'll probably have to allow for custom neural networks for different types of creatures. A cow would not try to fly, for example.
Eventually, I hope to get it to the point where people can custom design animals and see how well they survive against others. I think I have a lot of work in front of me.
Side note: the other day, a friend of mine and I were walking along and discussing strategies on improving the system. I commented "... but I accidentally severed the nerves to their eyes