© 2020 Strange Loop
The Nintendo Entertainment System is a tiny computer that makes sounds and pictures for our pleasure. In order to coax it to make the best sounds and pictures, one usually has to press its buttons in complex combinations, which takes time, practice, and concentration. This work explores the automation of NES game playing, using the mathematically elegant and amusingly simple techniques of lexicographic ordering and time travel. By watching a human play the game, a simple program deduces what "winning" is. A second program then searches for sequences of button-presses that "win" the most. The approach is general and works on dozens of games without modification.
In this talk I'll detail the algorithm and show new results on several games, some of which are impressive and some hilariously bad.
Tom Murphy VII is a professional software-person and whimsical research-hobbyist who has made over one jillion miscellaneous thingies. His specialty is creating under duress: Games, music, writing, fonts, and so on; this helps to explain both the quantity and the spottiness. You can find many examples at tom7.org. He did his Ph.D. at Carnegie Mellon on the theory and practice of modal type systems for distributed programming. Tom is a static typing acolyte but will only argue about it if you get a beer or two in him, which is not hard.