Skip to content

A Flappy Bird clone powered by NeuroEvolution of Augmenting Topologies (NEAT) algorithm, demonstrating AI learning through genetic algorithms and neural networks.

Notifications You must be signed in to change notification settings

shreyashguptas/beating-flappy-birds-with-neural-networks

Repository files navigation

FlappyAI: NeuroEvolution

Overview

FlappyAI is an AI-powered version of the classic Flappy Bird game, built using Python and Pygame. This project demonstrates the application of NeuroEvolution of Augmenting Topologies (NEAT) to train an AI to play Flappy Bird.

Features

  • Classic Flappy Bird gameplay mechanics
  • NEAT algorithm implementation for AI training
  • Visualization of AI learning progress
  • Customizable game parameters and neural network settings

Technologies Used

  • Python 3.x
  • Pygame for game graphics and mechanics
  • NEAT-Python library for implementing the NEAT algorithm

Neural Network Techniques

This project utilizes the NEAT (NeuroEvolution of Augmenting Topologies) algorithm, a genetic algorithm for the generation of evolving artificial neural networks. Key aspects include:

  1. Topology Evolution: NEAT allows both weights and network structure to evolve.
  2. Speciation: Protects innovation by dividing the population into species.
  3. Genetic Encoding: Efficient encoding of network structures for genetic algorithms.

Goal

The primary objective is to train an AI that can play Flappy Bird indefinitely, navigating through pipes without collision. We aim to demonstrate how neural networks can learn complex tasks through evolutionary algorithms.

Performance

Best AI Performance: [Time or Score to be added]

Getting Started

[Instructions for setting up and running the project]

Contributing

[Guidelines for contributing to the project]

License

[Your chosen license]

Acknowledgements

  • Original Flappy Bird game by Dong Nguyen
  • NEAT algorithm by Kenneth O. Stanley and Risto Miikkulainen

About

A Flappy Bird clone powered by NeuroEvolution of Augmenting Topologies (NEAT) algorithm, demonstrating AI learning through genetic algorithms and neural networks.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published