Program learning to play Flappy Bird by machine learning (Neuroevolution)
Clone or download
Latest commit a75677d Jan 25, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
img Yes Jul 25, 2016
License License Nov 10, 2016
Neuroevolution.js fix indentation Jan 25, 2018 Update Jul 25, 2016
game.js refactor(game): make one call of context translate instead of two Nov 15, 2016
index.html Display out update loop, MAX speed, pipe delete optimisation Nov 13, 2016

Flappy Learning (Demo)

Program that learns to play Flappy Bird by machine learning (Neuroevolution)

alt tag

NeuroEvolution.js : Utilization

// Initialize
var ne = new Neuroevolution({options});

//Default options values
var options = {
    network:[1, [1], 1],    // Perceptron structure
    population:50,          // Population by generation
    elitism:0.2,            // Best networks kepts unchanged for the next generation (rate)
    randomBehaviour:0.2,    // New random networks for the next generation (rate)
    mutationRate:0.1,       // Mutation rate on the weights of synapses
    mutationRange:0.5,      // Interval of the mutation changes on the synapse weight
    historic:0,             // Latest generations saved
    lowHistoric:false,      // Only save score (not the network)
    scoreSort:-1,           // Sort order (-1 = desc, 1 = asc)
    nbChild:1               // number of child by breeding

//Update options at any time

// Generate first or next generation
var generation = ne.nextGeneration();

//When an network is over -> save this score
ne.networkScore(generation[x], <score = 0>);

You can see the NeuroEvolution integration in Flappy Bird in Game.js.