{"id":13510349,"url":"https://github.com/xviniette/FlappyLearning","last_synced_at":"2025-03-30T15:31:13.111Z","repository":{"id":37335443,"uuid":"64085193","full_name":"xviniette/FlappyLearning","owner":"xviniette","description":"Program learning to play Flappy Bird by machine learning (Neuroevolution)","archived":false,"fork":false,"pushed_at":"2023-11-23T01:04:40.000Z","size":11472,"stargazers_count":3993,"open_issues_count":13,"forks_count":498,"subscribers_count":116,"default_branch":"gh-pages","last_synced_at":"2024-10-29T15:35:10.786Z","etag":null,"topics":["flappybird","machine-learning","neuroevolution"],"latest_commit_sha":null,"homepage":"http://xviniette.github.io/FlappyLearning/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xviniette.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-24T20:54:21.000Z","updated_at":"2024-10-25T07:28:44.000Z","dependencies_parsed_at":"2022-07-12T11:55:09.998Z","dependency_job_id":"2041cb54-8c39-42e9-baed-71de893ebf1c","html_url":"https://github.com/xviniette/FlappyLearning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xviniette%2FFlappyLearning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xviniette%2FFlappyLearning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xviniette%2FFlappyLearning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xviniette%2FFlappyLearning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xviniette","download_url":"https://codeload.github.com/xviniette/FlappyLearning/tar.gz/refs/heads/gh-pages","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246296620,"owners_count":20754634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flappybird","machine-learning","neuroevolution"],"created_at":"2024-08-01T02:01:35.156Z","updated_at":"2025-03-30T15:31:13.078Z","avatar_url":"https://github.com/xviniette.png","language":"JavaScript","readme":"# Flappy Learning ([Demo](http://xviniette.github.io/FlappyLearning/))\n\nProgram that learns to play Flappy Bird by machine learning ([Neuroevolution](http://www.scholarpedia.org/article/Neuroevolution))\n\n![alt tag](https://github.com/xviniette/FlappyLearning/blob/gh-pages/img/flappy.png?raw=true)\n\n### [NeuroEvolution.js](http://github.com/xviniette/FlappyLearning/blob/gh-pages/Neuroevolution.js) : Utilization\n```javascript\n// Initialize\nvar ne = new Neuroevolution({options});\n\n//Default options values\nvar options = {\n    network:[1, [1], 1],    // Perceptron structure\n    population:50,          // Population by generation\n    elitism:0.2,            // Best networks kepts unchanged for the next generation (rate)\n    randomBehaviour:0.2,    // New random networks for the next generation (rate)\n    mutationRate:0.1,       // Mutation rate on the weights of synapses\n    mutationRange:0.5,      // Interval of the mutation changes on the synapse weight\n    historic:0,             // Latest generations saved\n    lowHistoric:false,      // Only save score (not the network)\n    scoreSort:-1,           // Sort order (-1 = desc, 1 = asc)\n    nbChild:1               // number of child by breeding\n}\n\n//Update options at any time\nne.set({options});\n\n// Generate first or next generation\nvar generation = ne.nextGeneration();\n\n//When an network is over -\u003e save this score\nne.networkScore(generation[x], \u003cscore = 0\u003e);\n```\n\nYou can see the NeuroEvolution integration in Flappy Bird in [Game.js](http://github.com/xviniette/FlappyLearning/blob/gh-pages/game.js).\n","funding_links":[],"categories":["JavaScript","machine-learning","📚 Project Purpose"],"sub_categories":["Machine Learning (Entry-Level)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxviniette%2FFlappyLearning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxviniette%2FFlappyLearning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxviniette%2FFlappyLearning/lists"}