A Pygame implementation of classic Flappy-Bird game controlled by Neuroevolutional AI.
Screenshots & Gifs
Logistic
This project uses the NEAT(NeuroEvolution of Augmenting Topologies) algorithm with neat-python.
Check out the initial NEAT Paper here.
In our NEAT algorithm, each bird has its own genomes(weights of its neural network), and birds that performs well get to pass their genomes to the next generation. Our idea is to evolve the “best” set of genome through generations to make the birds master the game.
Dependencies
neat-python
:
1 | pip install neat-python |
pygame
:
1 | pip install pygame |
How To Run
Clone this project and run flappy-bird.py
.
Sample Stats of A Generation
1 | ****** Running generation 1 ****** |
Potential Improvements
- increase the difficulty along with game progress
- try different model architectures
- add random rewards and punishments(such as fruits and bombs) in the game
- …