Video games used to be much more difficult than they are today, so don’t feel bad that an artificial intelligence might have more gamer cred than you do.
Dr. Tom Murphy VII, Ph.D., published a paper on April 1, 2013, with the results of an experiment to automate the playing of Nintendo Entertainment System (NES) games. He called the program “Playfun.” The computer kicks some serious ass at exactly the right kind of NES games.
Murphy posted three YouTube videos showing Playfun in action. Watch below as Playfun tries its virtual hand at Gradius, a 2D side-scrolling shooter that requires quick reflexes and constant attention to detail in order to beat.
Playfun is not always a genius. It kills itself when trapped by bullets, for example, until it’s down to one life. Playfun apparently then understands what’s at stake, because the AI brings some serious pain at crunch time.
Murphy begins the first video in this series with a technical explanation about how Playfun works. This is meant to be a more accessible version of the explanation in his paper. It still may not be digestible for everyone, so here’s the best layman’s explanation we could boil down.
Murphy “trains” Playfun by allowing it to watch him playing a game, as expressed by registering his control inputs (for example, button presses). Next, Murphy defines for Playfun what it means to “win” a game, which in many cases man can expressed numerically, for instance by increasing a score.
Once Playfun knows how to play a game, and what it means to win that game, it can figure out what to do at any given moment in order to increase the number or numbers that define victory. This simple AI can be applied to several different NES games, because the basic functionality of the program still applies.
It doesn’t always work, of course. For instance, here is Playfun’s epic fail at the original Legend of Zelda, where the victory conditions are not as easily expressed in numbers as in Gradius, which has a score counter.
Murphy says that there are better ways to automate NES play, but that they aren’t as “mathematically elegant” as his solution. We’re not sure what that means, precisely. If you do, and want to check it out, Murphy offers the Playfun source code on his website.
Screengrab via suckerpinch/YouTube