FlappyLearning

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

Github stars Tracking Chart

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
ne.set({options});

// 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.

Main metrics

Overview
Name With Ownerxviniette/FlappyLearning
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 2)
Platform
License:MIT License
所有者活动
Created At2016-07-24 20:54:21
Pushed At2023-11-23 01:04:40
Last Commit At2016-07-24 22:59:03
Release Count0
用户参与
Stargazers Count4k
Watchers Count116
Fork Count496
Commits Count30
Has Issues Enabled
Issues Count14
Issue Open Count8
Pull Requests Count5
Pull Requests Open Count5
Pull Requests Close Count11
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private