Big Data/Analytics Zone is brought to you in partnership with:

Alec is a Content Curator at DZone. He lives in Raleigh and spends his free time writing and programming. Alec is a DZone Zone Leader and has posted 462 posts at DZone. You can read more from them at their website. View Full User Profile

Machine Learning and Flappy Bird: Automating Gameplay

02.21.2014
| 9877 views |
  • submit to reddit

Sometimes you just want to make games play themselves. This recent blog post from Sarvagya Vaish applies reinforcement machine learning techniques to the controversial and recently-disappeared mobile game, Flappy Bird. The strategy is based on reinforcement learning, which avoids the need to model the movement dynamics of the game. According to Sarvagya:

Here's the basic principle: the agent, Flappy Bird in this case, performs a certain action in a state. It then finds itself in a new state and gets a reward based on that.

So, Sarvagya's hack learns based on a reward system derived entirely from the status of the bird - either living or dead - and makes decisions for the bird (whether to, you know, flap) depending on the rewards associated with the current state (distance from the pipes).

Check out Sarvagya's GitHub for the code, as well as this video overview: