This is amazing. Tom Murphy created a computer program that actually learns how to play classic NES games on its own, with a little instruction from Tom.
You can see the computerâs progress (which begins near 6:10, after Tomâs explanation of the program) in learning how to play Super Mario Bros. (and other games) in the video above. Itâs a little hyperactive in the first version of the program, but Tom manages to iron out the intricacies to get it to play the game pretty damn well.
The project and accompanying research paper were created for the SIGBOVIK 2013 annual research conference. If youâve got time, you should check out Tomâs research paper, which is fascinating though honestly a bit over my head.
If you donât have time for the full thing, hereâs the basic explanation from Tom:
The basic idea is to deduce an objective function from a short recording of a playerâs inputs to the game. 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.
If you watch the video long enough, you can even see the computer pull off some tricky moves in a couple of the games shown off. I repeat: this is amazing.
learnfun & playfun: A general technique for automating NES games [Tom Murphy]
Thanks for the find, big brother!