Feed Forward Neural Networks evolving to play Snake
- Code for the Neural Networks and Genetic Algorithms is neuroga.
- snake.py - internal model of snake game (independent of graphics, etc)
- engine.py - graphical front-end. Used to actually play snake game (or show a Neural Network playing the game in real time)
- trainer.py - run this script to run the Genetic Algorithm to train Neural Networks (will be saved in
model/
directory).- NB: trainer will interact with internal snake game model directly for performance reasons so there is no real-time graphics as it trains
- will show graphs of progress, though (fitness-time and rate of fitness-time graphs)
- notes.txt - small notes I took for myself while developing this project
You need to have Python 3 installed
Install numpy and pygame
python3 -m pip install numpy pygame
Clone this repository
git clone https://github.com/makurell/SnakeAI.git
cd SnakeAI
Train
python3 train.py
Run engine to see Network in action
python3 engine.py