October 30th, 2012, 07:59 AM
Goopies - Evolving neural networks (w.i.p.)
Hey guys. This is my first post on the forum! And on it, I wish to share my newest invention:
After reading the post by Darren Cubitt about his Neural Bots experiment, I couldn't help to "extend" his original idea and give it my own little twist. So far, this has been the result.
Goopies are little bi-dimensional creatures that live on a closed circular world called "The Tank." Each of them has a set of sensors and is powered by a Neural Network, a little piece of software that allows them to respond intelligently to their environment.
A genetic algorithm is then used to select the best individuals of each generation. Their virtual "genes" are then mixed and crossed in order to produce a new generation. Over many iterations, the population's performance improves over time.
If you want, you can see them in action by typing "Goopies - Evolving neural networks (w.i.p.)" in youtube (first video that appears).
I plan on releasing a beta version of the software for anyone to test and play with once I have implemented a simple GUI that allows users to adjust basic parameters of the simulation (Neural Network style, population size, colors, etc.). Perhaps I'll even implement some kind of Goopy-Tournament mode, so people can have fun making their Goopies compete against each other, who knows.
This is my first coding project (ever!). Coded in C++11 and compiled using GCC 4.7. Credits to SFML for the graphic's engine and Box2D for the physics engine. And, of course, thanks to Darren for his original idea, which inspired me to make this.