Neuroevolution game assignment.
Fall 2021 - Computer Intelligence.
This game has been developed as an assignment for students at Amirkabir University of Technology to apply neuroevolution using a simple game.
Welcome to the Snail Jumper Game with Neuroevolution! This project combines a fun and addictive game with the power of neural networks and evolutionary algorithms. Evolve and train characters to overcome obstacles and achieve high scores.
- Introduction
- Features
- Getting Started
- Game Modes
- Neural Network Architecture
- Evolution Algorithm
- Game Controls
- Contributing
- Acknowledgements
The Snail Jumper Game with Neuroevolution combines entertainment with AI training. In this game, players can either control the character manually or observe characters evolving over generations using neural networks. This project demonstrates the potential of evolutionary algorithms and neural networks in gaming.
- Interactive gameplay with manual controls.
- Automatic character evolution through neuroevolution.
- Dynamic obstacles and challenges.
- Fully connected neural network architecture.
- Evolution algorithm for selecting and evolving characters.
- User-friendly GUI for intuitive navigation.
- Learning curve tracking for observing AI improvement.
- Python 3.x
- Pygame (Install using
pip install pygame
)
-
Clone the repository:
git clone https://github.com/your-username/snail-jumper.git cd snail-jumper
-
Install dependencies:
pip install -r requirements.txt
- Launch the game using
python main.py
. - Click on the "Start Game" button on the main menu.
- Control the character's gravity using the spacebar.
- Avoid obstacles and aim for a high score.
- Launch the game using
python main.py
. - Click on the "Start With Neuroevolution" button on the main menu.
- Watch characters evolve automatically using neural networks.
- Characters are trained to navigate obstacles and improve over generations.
The game uses a fully connected neural network with adjustable architecture. The network processes inputs related to character and obstacle positions and outputs gravity direction.
Characters in neuroevolution mode undergo an evolutionary algorithm process.
- Parent selection using roulette wheel or SUS.
- Crossover and mutation to create a new generation of characters.
- Fitness values drive the evolution process.
- In manual mode: Use the spacebar to toggle the player's gravity and avoid obstacles.
- In neuroevolution mode: No direct controls are required. Characters evolve automatically.