Evolving creatures using neural networks and a genetic algorithm.
Inspired by similar projects, EV is my take on using machine learning to train creatures.
A simulated environment is filled with food and creatures with randomly seeded neural networks. The creatures are simple organisims - they have a single eye which lets them find food and can propel themselves forwards and rotate.
In order to survive, the creatures must keep their energy levels up by consuming food. If a creature runs out of energy, it dies. Once a generation is complete, the creatures with the highest energy levels are selected, their neural networks mutated, and the simulation runs again.
Libraries used in this project include SFML for graphics rendering and Eigen for linear algebra. Everything else - the physics, machine learning and genetic algorithm - were all hand rolled.
The code for this project can be found on Github.