There have been a lot of cool ways to build Doom maps over the years, from traditional node samples to image topography. Building maps in id Software’s iconic game has seen a number of upgrades over the years, but none of them top the latest feature: using a Roomba to build maps in Doom. Really, it’s true… it’s very true.
Over on the Rich Whitehouse website from the designer and programmer, there’s a blog entry for Doomba, which is the unholy combination gamers never thought they needed. It combines the Roomba with id Software‘s Doom. And yes, I’m talking about the robot vacuum cleaner when I refer to “the Roomba.” In particular, Whitehouse explains that he and his wife were looking for a Roomba 980 from eBay and that through his research he found out that the devices operate on SLAM technology. The inner designer in Whitehouse figured that there must be data he could glean from the Roomba and so he got to work on extracting what he could from the device.
Whitehouse actually did manage to stitch together binary layouts with cobbled-together scripts, and instead of a Christmas present birthed of mirth and merriment, he developed a holiday Frankenstein made up of hellish demons and a dirt buster.
You’ll need to download Whitrehouse’s Noesis converter from over on his website, and then apply the tool_roomba.py file into the plugins directory, which is a Roomba tracker script that you can load from the tools menu in Noesis.
Once you load the tool, the Roomba Tracker software interface will pop up and it will give you IP data, user data, and a password menu. You’ll then need to retrieve the data from your Roomba using a UDP broadcast, which should be familiar to anyone who has home consoles or other PnP devices hooked up to their home network.
Once the Roomba is set up within the tracker menu, save the file and begin the tracking process. When the tracking is done, you can then save the data to a specified file.
When the file is created you can then be able to browse the file using the DOOMBA tool to merge the files and generate a PWAD out of the Roomba tracking data. What this means is that the tool will begin to convert the topographical tracking points captured by the device and convert them into Doom nodes.
You’ll need to set up the parameters of the algorithm so that it generates proper vertex data and can trace the nodes properly and build out stable enough geometry and texture layouts for the map.
It’s an extremely cumbersome way to build maps, to be honest. However, if you wanted to experiment by creating some unique Doom maps, it’s not a bad tool to mess around with. It’s certainly not going to outdo the ease-of-use offered by something like SnapMap or some of the other GUI map builders for Zdoom, but if you wanted to make your vacuum cleaner do a little more than just vacuum up stuff, you can put it to work as a map builder for the 25-year-old first-person shooter.