All Projects → erilyth → Flappy-Bird-Genetic-Algorithms

erilyth / Flappy-Bird-Genetic-Algorithms

Licence: MIT license
Use genetic algorithms to train flappy bird

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Flappy-Bird-Genetic-Algorithms

Machine Learning Flappy Bird
Machine Learning for Flappy Bird using Neural Network and Genetic Algorithm
Stars: ✭ 1,683 (+1927.71%)
Mutual labels:  genetic-algorithm, flappybird
GeneticAlgorithmUniversityClassScheduler
A class scheduler using adaptive-elitist genetic algorithm.
Stars: ✭ 98 (+18.07%)
Mutual labels:  genetic-algorithm
pokerwars.io-starterbot-python
A starter bot written in python for the pokerwars.io platform. To play: pull this code, register on pokerwars.io, get your API token and play!
Stars: ✭ 37 (-55.42%)
Mutual labels:  games
moon-cheeser
Moon Cheeser is an infinite runner where the player plays as a mouse gathering cheese pieces and avoiding craters and other astronomical objects, such as comets and planets, on a moon made of cheese.
Stars: ✭ 32 (-61.45%)
Mutual labels:  games
reactive-trader
In the coming weeks this plans to become a Gekko plugin that reacts to market changes, finding and running only the most profitable strategies.
Stars: ✭ 91 (+9.64%)
Mutual labels:  genetic-algorithm
zx-spectrum-games
Collection of ZX Spectrum annotated game source code dissasemblies as .skool files
Stars: ✭ 35 (-57.83%)
Mutual labels:  games
ga
Simple genetic algorithms in Go
Stars: ✭ 101 (+21.69%)
Mutual labels:  genetic-algorithm
arxwasm
Port of Arx Libertatis to WebAssembly using Emscripten
Stars: ✭ 28 (-66.27%)
Mutual labels:  games
AI4U
AI4U is a multi-engine plugin (Unity and Godot) that allows you to specify agents with reinforcement learning visually. Non-Player Characters (NPCs) of games can be designed using ready-made components. In addition, AI4U has a low-level API that allows you to connect the agent to any algorithm made available in Python by the reinforcement learni…
Stars: ✭ 34 (-59.04%)
Mutual labels:  games
webDOOM
Classic DOOM recompiled with WebAssembly
Stars: ✭ 61 (-26.51%)
Mutual labels:  games
crossbow
Cross-Platform Rust Toolkit for Games 🏹
Stars: ✭ 80 (-3.61%)
Mutual labels:  games
geneal
A genetic algorithm implementation in python
Stars: ✭ 47 (-43.37%)
Mutual labels:  genetic-algorithm
NeuroEvolution-Flappy-Bird
A comparison between humans, neuroevolution and multilayer perceptrons playing Flapy Bird implemented in Python
Stars: ✭ 17 (-79.52%)
Mutual labels:  genetic-algorithm
agario
Python clone of agar.io game, made with pygame.
Stars: ✭ 32 (-61.45%)
Mutual labels:  games
Stock-Market-Prediction-using-Neural-Networks-and-Genetic-Algorithm
Matlab Module for Stock Market Prediction using Simple NN
Stars: ✭ 59 (-28.92%)
Mutual labels:  genetic-algorithm
DeepHyperNEAT
A public python implementation of the DeepHyperNEAT system for evolving neural networks. Developed by Felix Sosa and Kenneth Stanley. See paper here: https://eplex.cs.ucf.edu/papers/sosa_ugrad_report18.pdf
Stars: ✭ 42 (-49.4%)
Mutual labels:  genetic-algorithm
trsh
Project about minimizing costs in garbage collection in Montevideo, Uruguay, using Evolutionary Algorithms
Stars: ✭ 17 (-79.52%)
Mutual labels:  genetic-algorithm
EMF
Extended Mechanics & Flavor
Stars: ✭ 33 (-60.24%)
Mutual labels:  games
open-source-games
A list of open source games.
Stars: ✭ 65 (-21.69%)
Mutual labels:  games
zoofs
zoofs is a python library for performing feature selection using a variety of nature-inspired wrapper algorithms. The algorithms range from swarm-intelligence to physics-based to Evolutionary. It's easy to use , flexible and powerful tool to reduce your feature size.
Stars: ✭ 142 (+71.08%)
Mutual labels:  genetic-algorithm

Flappy Bird Genetic Evolution

Train a neural network using genetic evolution to play flappy bird! For a tutorial on how to get started with your own genetic algorithms, take a look here.

Final Results

Trained Model

Algorithm Details

  • Starts out with a pool of 50 models
  • Each iteration based on fitness scores of the models, perform crossover
  • Crossover would swap the first layers (input -> hidden) for both the selected parents
  • Random mutation ensures that the models are changed at every iteration

Progress Screenshots

Stage 1

Initially all the models would do the "same" wrong thing. So they would all die out quickly.

Untrained No-Spread

Stage 2

After some time however, they would start to show more variation, but still perform the wrong moves. This gives us a spread of flappy birds throughout the screen (lengthwise).

Untrained Spread

Stage 3

After a bit of training (~1hr) the spread decreases and is more concentrated at the height where there is a hole in the pipes. They start performing a lot better since they now understand when to flap and when not to.

Trained

Stage 4

The model with the maximum fitness can be considered as a trained model and it would perform much better than the average human.

Final Trained Model

Disclaimer

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].