Computer science professor Aaron Williams and his students explore the code behind classic video games to understand how they work, to make improvements and to create their own.
As a high school student, Aaron Williams challenged himself to put together the perfect mixtape. For him, that meant figuring out how to arrange the songs to fill a cassette so there was no dead air before his Walkman automatically switched between sides A and B.
“That was the first time I wrote a really complicated program, to generate all these possibilities and test them,” the computer science professor recalls. “And that ended up becoming the theme of my career.”
As did the 1980s, the golden age of the mixtape—and of video games.
In addition to teaching courses on data structures, advanced programming and the theory of computation, Williams has a deep interest in retrogame archaeology. That means digging into the code of old video games with his students to understand how they work, making improvements and creating new ones using the same tools, technology, hardware, budget and time constraints developers encountered three or four decades ago.
Williams and his students do this work in a tiny game lab tucked deep in Schow Science Library. The space, which once housed maps, is now filled with row upon row of consoles, joysticks, connectors and game cartridges in plastic sleeves. The sights and sounds are recognizable to anyone who ever popped a quarter into the slot of a video game at the arcade. Screens display pixelated, two-dimensional scenes populated by aliens, spaceships, knights, bees and other characters drawn in boxy outlines. Repetitive, electronic music emanates from the speakers.
Some items collected in Williams’ lab are well known, like Dr. Mario, an action puzzle video game released by Nintendo in 1990 that’s part of the widely popular Mario Bros. universe. Others are more obscure, like an original 1982 Monster Mansion cartridge from Nintendo’s Japanese rival, Epoch. Played on Epoch’s Cassette Vision console, Monster Mansion was the company’s answer to Nintendo’s hit game Donkey Kong, whose massive success helped launch the video game revolution of the 1980s.
And then there are the games designed by students themselves. As many as a dozen students work in Williams’ lab on Friday afternoons during the academic year and summer. Many were introduced to retrogame archaeology during Williams’ Winter Study course on the subject.
In the final week of Winter Study in 2020, Williams hosted a Winter Jam. Thirty students ranging in experience from first-time programmers to seniors pursuing a concentration in computer science contributed 23 games built in the programming language Lua on a platform called Pico-8. The platform mimics the look and feel of a game played on a console but runs in a web browser.
The games appear simple. In Honey Havoc, players can move a bee up, down, forward and backward to avoid getting stuck in honey while racing against the clock. Ghostly Night involves navigating increasingly complex two-dimensional mazes to reach a heart guarded by growing numbers of strategically positioned guards.
Computer science and studio art major Jennifer Lee ’22 designed Bird With a Gun, which features a sparrow battling rats and vultures in a McDonald’s parking lot. She says she is drawn to the way retrogame graphics are similar to the repetitive patterns in quilts and textiles.
Lee is now working in Williams’ lab on her thesis, which involves developing artificial intelligence to solve Dr. Mario puzzles “as fast as possible.” After graduation, she plans to work at Amazon Web Services in Arlington, Va.
Elijah Washington ’24 began working in Williams’ game lab last summer on a project to make classic Nintendo games accessible to people with vision deficiencies. He and several students developed a tool to improve how color is implemented in the games.
Washington went on to take Williams’ Data Structures and Advanced Programming course in the fall and then the retrogame archaeology course this past Winter Study.
“Part of the interest in the code was seeing how developers would deal with those constraints,” he says. “It was definitely difficult, but it was fascinating to see how things that just seem sort of magical when they happen in video games have a set routine that can be found—and altered, even—if you know where to look.”
Says Williams, “It’s natural for people to look at these games and think that the developers just had limited creativity or couldn’t see obvious things that would have made the game better. “In reality,” he adds, “these were incredibly talented people pulling off miracles.”
Play games developed by students during Winter Jam 2020 at bit.ly/wmswinterjam2020.