Neuroevolution Snake

Neuroevolution Machine Learning Approach for Snake using C++ from Scratch. This was part of an academic paper on machine learning with focus on neuroevolution.


The entire thing is implemented from scratch only using the C++ Standard Library. I did this to get a deep insight into how this appraoch is realised on a technical level.

This is a basic UML of the general strcucture of the implementation.

Neuroevolution Snake UML


I tested this implementation to see how good the model can get when trying to play Snake.

The last model was created with the 8th Generation, which was able to get a score of 17. This was after a total of 26 hours of training on a mediocre laptop from 2018.


The academic paper can be supplied on request.

See the accompanying GitHub project timmeinerzhagen/neuroevolution-snake.