Doom hacker gets Doom running in Doom

Getting Doom to run on things that were never meant to run Doom is something of a cottage industry among a die-hard subset of PC hackers and coders. Your motherboard's BIOS, a bunch of old potatoes, a Lego brick, a home pregnancy test: The list goes on and on. But YouTuber and Doomworld community member kgsws has set a new standard for, well, something with this brilliant bit of techno-recursion: Doom running in Doom.

The full explanation for how it works gets technical (and, frankly, a bit dull, unless hacking is your hobby) but what it comes down to is an exploit that enables code execution within the game itself. That's why this bit of trickery only works with the original DOS-based Doom 2, and not any of the more modern ports like GZDoom, which lack the exploit. (That's not convenient for this project but it's a good thing overall, kgsws noted: "People would abuse it to spread malicious code.")

The video is basically a mini-documentary of kgsws' process, but if you want to get straight to the good stuff it starts at around 8:10, when he gets the Chocolate Doom source port imported into the exploit. It's a little wonky at first but within a minute or so, it's working. From there, kgsws builds the whole thing into a Doom movie theater, complete with interactive lobby screens explaining what the mod is and how to interact with it in various ways. You can even jump in and out of the game on the screen seamlessly, from viewer to player and back, leading to potentially paradoxical questions about which game is the real game—and which "you" is the real you.

"Confusing, isn't it?" kgsws asked.

And that's not all. Kgsws also gets Heretic running in Doom, presumably just to prove that he can.

It's not just a video. You can go hands-on with kgsws' Doom-in-Doom creation using the DOS-based release of Doom 2 (kgsws said the version on Steam works with the DOSBox emulator, and I would assume the GOG version, which is pre-configured with DOSBox, will also be fine) and the did-v1.zip file from Github. Copy the kgdid.wad file into the directory containing doom2.exe, then fire it up in DOSBox with "doom2 -file kgdid.wad," minus the quotation marks. Other options, detailed in the video, are also available if you want to dive deeper.

Speaking of which—I wonder how long it will be before someone gets Doom running in Doom... in Doom? The mind boggles.

Thanks, PCGamesN.

Andy Chalk

Andy has been gaming on PCs from the very beginning, starting as a youngster with text adventures and primitive action games on a cassette-based TRS80. From there he graduated to the glory days of Sierra Online adventures and Microprose sims, ran a local BBS, learned how to build PCs, and developed a longstanding love of RPGs, immersive sims, and shooters. He began writing videogame news in 2007 for The Escapist and somehow managed to avoid getting fired until 2014, when he joined the storied ranks of PC Gamer. He covers all aspects of the industry, from new game announcements and patch notes to legal disputes, Twitch beefs, esports, and Henry Cavill. Lots of Henry Cavill.