Skip to content

Using neural networks and a genetic algorithm to beat Flappy Bird.

License

Notifications You must be signed in to change notification settings

jonathanyin12/Flappy.ML

Repository files navigation

Flappy.ML

A genetic algorithm based reinforcement learning project that plays Flappy Bird.


Project Details:

At the start of training, a random popultation of birds is created. Each bird consists of unique genetic material (weights) that determines when it jumps relative to the distance from the pipes and the ground.

After each generation, the birds with the highest Darwinian fitness are selected to produce offspring that have a combination of their parents’ “DNA”. Thus, each successive generation improves until a bird eventually learns to beat the game.

Implementation Details:

This program was written in Java and uses the Processing library for visuals.

How to run this project:

Clone the repository and run the "FlappyBird.java" file, which is found in the "src" folder.

Releases

No releases published

Packages

No packages published

Languages