  Game maps are useful for human players, general-game-playing agents, and
data-driven procedural content generation. These maps are generally made by
hand-assembling manually-created screenshots of game levels. Besides being
tedious and error-prone, this approach requires additional effort for each new
game and level to be mapped. The results can still be hard for humans or
computational systems to make use of, privileging visual appearance over
semantic information. We describe a software system, Mappy, that produces a
good approximation of a linked map of rooms given a Nintendo Entertainment
System game program and a sequence of button inputs exploring its world. In
addition to visual maps, Mappy outputs grids of tiles (and how they change over
time), positions of non-tile objects, clusters of similar rooms that might in
fact be the same room, and a set of links between these rooms. We believe this
is a necessary step towards developing larger corpora of high-quality
semantically-annotated maps for PCG via machine learning and other
applications.
