Machine-Learning-Flappy-Bird is an educational machine learning project that demonstrates how an artificial intelligence agent can learn to play the Flappy Bird game using neural networks and evolutionary algorithms. The system simulates a population of birds that each possess their own neural network, which acts as a decision-making controller during gameplay. The neural network receives input features representing the bird’s position relative to the next obstacle and determines whether the bird should flap or remain idle. Over successive generations, a genetic algorithm evolves the neural networks by selecting high-performing agents and recombining their parameters to produce improved offspring. This process allows the AI agents to gradually learn better strategies for navigating the obstacles and surviving longer in the game environment.
Features
- Neural network–based AI agents that control gameplay decisions
- Genetic algorithm training process that evolves better strategies
- HTML5 game implementation using the Phaser framework
- Input features representing distance and height relative to obstacles
- Population-based learning approach with fitness evaluation
- Visualization of AI agents learning to navigate the game environment