If you go to ai-junkie.com, they have a neat tutorial that teaches you in easy-to-understand language how to write the exact program I just made (minus the buffer overflow -- that was my addition).
I am trying to speed it up and expand it, and thus understand it as well as I can. The code the author uses is usually considered ?poor? by today?s standards, so I am also trying to write cleaner classes, etc.
I will also make it so you can save the state of the world and reload it later, thus allowing much easier long-term evolution. After that, I hope to add the ability for each bug to have a different (evolved) size of brain, as well as physical traits that would evolve. Then, I will dive into the world of speciation and try to get several distinct species of bugs to develop.
If I ever get that far (I probably won?t), I want to also refine the input sensory system. Giving the bugs too much information initially is a VERY bad idea, because it would take too long for them to evolve an ability to use it effectively. Instead, I hope to make it possible to slowly add more and more input systems over time, a little at a time, so that they can gradually evolve to use them.
Right now, the only input the bugs have is the direction they are facing and the direction of the nearest piece of food. Over time, I would like to gradually replace that with the true ?image? of what they would see ? feed them a cone-shaped snapshot of the world in front of them, basically, and hope they develop enough image recognition capabilities to still find food. From there, who knows what I might evolve.
