April 12, 2013 at 2:09 PM ET
There's already software out there that can make video games for you. But what about playing them? For most of video games' short history, this was left to people and their stubby fingered, imperfect human reflexes. But now thanks to enterprising programmer Tom Murphy (also known as Tom 7), soon gamers may be able to sit back and watch the games unfold before them too.
For this year's SIGBOVIK research conference, Murphy created a program that, according to his introduction, "learns how to play NES games and plays them automatically, using an aesthetically pleasing technique."
Murphy's program was designed to go along with a research paper he prepared for the conference titled "The First Level of Super Mario Bros. is Easy with Lexicographic Orderings and Time Travel ... after that it gets a little tricky."
"It's a long title," Murphy says in a video introduction to his work he posted on YouTube. "I want to make sure I get everything in there so it's accurate, because, unlike most SIGBOVIK work, this is a real paper with real results."
As impressive as video game artificial intelligence may be at this point, a program that can learn to play a game entirely on its own — effectively standing in for the role of the human player — might sound too much like Skynet (or Wall-E, for that matter) for some skeptics to be convinced. But as Murphy demonstrates in the video, he essentially was able to teach the program to emulate his own impressive platforming skills in games like "Super Mario Bros." by inputting increasingly complex and specific data about his every move in the game.
"The basic idea is to deduce an objective function from a short recording of a player's inputs to the game," Murphy explains in his research paper. "The objective function is then used to guide search over possible inputs, using an emulator. This allows the player's notion of progress to be generalized in order to produce novel gameplay."
The end result is impressive. Pretty soon (in the video at least), the program is pulling off moves in NES games that younger gamers not familiar with 2D platformers would have a hard time mastering.
Gamers might be wondering what purpose this new software serves besides a neat programming trick. People like to play games, after all, not just have computers do it for them.
There is a vibrant community of game "watchers," so to speak, who enjoy seeing games unfold before them more than they appreciate all the nitty gritty challenges of completing them on their own. But like Michael Cook's paper on the ANGELINA software that can develop games, Murphy's "learnfun" program could equally be used to help game developers create more inventive types of AI in the future. "BioShock Infinite" was praised by many critics and players for the depth of the relationship between the player character and Elizabeth that Irrational was able to achieve.
But despite all her remarkably human traits, Elizabeth still served an ancillary role to Booker as the main character when it came to actually playing the game. With programs like "learnfun," could such characters not only enhance a game's story, but ultimately make the gameplay itself all the more intriguing? I, for one, wouldn't mind playing a co-op game of "Super Mario Bros." with Murphy's program.