All images taken from the WADbot Tumblr.
The virtual world of Doom is so big these days as to be intimidating. Since 1994, modders have been creating their own Doom levels with the tools that the game’s creator id Software released, as well as those they’ve made for themselves. All of these user-created levels, amounting to tens of thousands of files, are hosted in the idgames archive—itself being a mirror of the old id Software-hosted archive.
According to Doom enthusiast and independent videogame creator JP LeBreton, each of these files, known as WADs, might contain between one and 32 maps. It’s these that he sends WADbot into as part of its mission to bring back screenshots from a random place inside the voluminous hellscapes of Doom.
As LeBreton describes it, WADbot is a bit of Python code that downloads a random file from the idgames archive, looks through its contents, launches one of the maps it finds in a modified version of GZDoom, and then tries to take an interesting screenshot. It goes through this process twice a day and posts the resulting screenshots on both Twitter and Tumblr.
There’s more than absolute randomness to WADbot’s choice of screenshot. LeBreton has taught it that an “interesting” screenshot has lots of architectural and object detail. “The Doom engine’s technical limitations make 3D space much easier to reason about than most other games: navigable space is divided into 2D ‘sectors’, walls (and steps and overhangs) are the boundaries of these sectors, an outdoor area is a sector with no ceiling,” LeBreton explained. Dividing the maps up by these sectors allows WADbot to use what LeBreton describes as a “brute force method” in order to find the high-detail areas, which it understands to be the most interesting subjects for its screenshots. (LeBreton goes into the technical side of how WADbot works and how it scans maps in this video.)
LeBreton acknowledges the limitations of the method behind his automated gallery. His bot has to stick to what it is told, and does not understand more complex notions of visual composition. It might be that, to our human eyes, the best screenshot of a particular landscape focuses on its angles and highlights its emptiness. To WADbot such a possibility would be uninteresting. Its limitations can be explained by LeBreton’s perception of WADbot as a side project (while he works on his own game): as with his other Twitter bots, it took only a few hours to write, with the goal of trying to “maximize [his] enjoyment versus effort required.”
None of which is to say that WADbot has been manufactured without a deep love for both Doom and what the bot and its screenshots represent. WADbot was inspired by another bot called Stochastic Planet that was started a couple of years ago. Its job is to pick a random place on Earth and then find the nearest photo taken to that spot and share it on Tumblr. LeBreton saw this and wanted to create a version of that for virtual spaces. But it wasn’t until the more recent human-curated Tumblr of Quake map screenshots appeared that he tied his desire to the viability of it working for Doom, and then actually pushing out the necessary code.
With WADbot, LeBreton is recognizing the wonderful “universe” of Doom‘s user-created levels. “Thanks to [the] diversity of creators, WADs run the gamut from naive art to surrealist voyages to juvenile forum in-jokes to years-in-the-making works of expert craftmanship,” LeBreton said. He has toured the eerie sci-fi facilities, bizarre pits of psychedelic fantasia, and Inferno-like labyrinths as best he could over the years, but knew he could only ever scratch at the surface of it all. He’s not the only one. Recently, his friend (and fellow Doom enthusiast) Liz Ryerson has been delving into notable WADs in her “Doom Mixtape” video series.
Similar to that, what LeBreton wanted to do was honor the breadth and depth of his decades-deep fascination. “WADbot is an attempt at algorithmic curation,” he said, “random deep dives into the unknown ocean, automated in a way that embraces obscurity, serendipity, mystery.”