Dodgems - evolving controlers

Here's a simulation I wrote as part of my degree in Artificial Intelligence. It's an MFC application for Windows which wasn't planned for anything faster than a 486 so set the population high!

Dodgems are simple, 2D, animat-like creatures consisting of a circular body and a controler which receives input from three simple vision sensors and outputs movement signals: forward, backward and rotate left/right.

There are no generations in the G.A., i.e. it's steady state. When a dodgem runs out of enery, it is replaced with the offspring from two randomly selected survivors. When dodgems collide, they exchance enegy based on how they're facing and how fast they're going. It become quickly apparent to them that heading forward and chasing each other is a good strategy.

They eventually settle down into a state where they're all chasing each other in a big circle. Note that on examination of the code a few years later it appeared that they probably couldn't use their side sensors. Their behaviour was so convincing, this never occured to me!

Download this zipped file and run the exe within it from the Desktop. A few sample populations are present as are some notes from the time in the form or a readme.

1