Skip to Content

Master any classic video game (with help from an AI algorithm)

If, like me, you spent too much of your youth playing video games, well, at least now you can finally conquer all those games with a little help from artificial intelligence.

Wrap it up: A new Python library provides a way to train a reinforcement-learning algorithm to play just about any old video game. The library works as a wrapper around the popular game emulator MAME. The readme shows how to write a quick program to master the classic Street Fighter 3. Fight!

Go, go: Reinforcement learning is inspired by the way animals seem to learn in response to positive feedback. DeepMind, the subsidiary of Google that aims to develop “artificial general intelligence,” famously used reinforcement learning to train programs to play Atari games. It was also the basis of AlphaGo, a program that proved capable of playing the ancient board game Go with superhuman skill. This was groundbreaking because the game is so complex and difficult to master.

Game theory: The intersection between games and AI is an interesting one. While DeepMind popularized the idea of using games to benchmark progress in AI, it actually stretches back a long way. One of the earliest “AI” programs (although really it was dumb as a plank) was developed by the AI pioneer Arthur Samuel for playing checkers, and it used a simple form of machine learning.

Learn away: Reinforcement learning requires huge amounts of data, and it’s often difficult to get it to work. Hence there aren’t many practical applications for the technology as yet. Still, it’s fun to see these games becoming accessible to reinforcement learning. You can even dream of parlaying your video-game obsession into one of the hottest jobs going—AI researcher. 

(NOTE: I haven’t tested this, so please don’t get mad at me if it doesn’t work for you.)