Skip to content
Artificial intelligence for the Snake game.
Branch: master
Clone or download


This project focuses on the artificial intelligence of the Snake game. The snake's goal is to eat the food continuously and fill the map with its bodies ASAP. The old version of this project is written in C++. Now it has been rewritten using Python for a user-friendly GUI and the simplicity in the implementations of algorithms.

Algorithms >


We use two metrics to evaluate the performance of an AI:

  1. Average Length: Average length the snake has grown to (max: 64).
  2. Average Steps: Average steps the snake has moved.

Test results (averaged over 1000 episodes):

Solver Demo (optimal) Average Length Average Steps
Hamilton 63.93 717.83
Greedy 60.15 904.56
24.44 131.69


Requirements: Python 3.5+ (64-bit) with Tkinter installed.

$ pip3 install -r requirements.txt

# Use -h for more details
$ python3 [-h]

Run unit tests:

$ python3 -m pytest -v


See the LICENSE file for license rights and limitations.

You can’t perform that action at this time.