Skip to content

Ruben-Madelaine/snake

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐍 Snake

Implementing the well known Snake game with a bit of A.I. 🤖 flavor !

🎉 Examples

snake

🗓️ Dates

🚀 Started

Project pitched and started the 11th november 2020

🎯 Release date

First expected release the friday 15th november 2020

Dependencies

  1. Set your Virtual Environment:

    # Download venv librairy
    apt-get install python3-venv -y
    # Create your venv
    py -m venv my_venv
    # Activate your venv
    . venv/bin/activate

    For more information, go to Python Virtual Environment Official Documentation.

  2. Install the project dependencies:

    apt install python3-pip
    pip install numpy
    pip install PTable

📋 Tasks

  1. Grid

    • Pop up Fruits
  2. Snake interface

    • Move
    • Eat
    • Grow
  3. Rules

    • Snake dies when touching it's tail
    • Biting his tail cuts him in two
    • Can plant a fruit for later by loosing it's tail
  4. Player

    • Allow Human to play
    • Allow AI
      • Random
      • Myopic vision (Adjacent cells)
      • Linear vision
      • T shape vision
      • Cone shape vision
      • 360 linear vision
      • Loose points based on cause of death
      • Learn from human games
    • Allow game replay
  5. AI

    • Implement a Neural Network
      • Input the cells
      • Output the directions
    • Allow training
    • Implement a NN manually
    • Save Neural Network configuration and load it
    • Show statistics
    • Train to win in short periods
    • Use a librairy (Pytorch or Tensorflow)
      • Use Pytorch
  6. Population

    • Load population
    • Run games
    • Get best game
    • Clone best snake (or the N bests)
    • Mutate clones randomly
    • Save best configuration
  7. Display

    • Basic console output
    • Animate Wind
    • Graphical interface

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages