Doom has been ported to devices such as toasters, refrigerators and basically anything else you can think ofso the limits are gaunt on truly amazing things that can run Doom. But one high school student managed to port Doom to an actual PDF file that can be run in a browser.
Sure, it’s missing little things like “text” and “audio” – but what’s the point really when you can play E1M1 while pretending to pay the taxes you’ve been ignoring?
Github user and “high school student” adding2210 was inspired by a recent port of Tetris called TetrisPDF to the humble PDF format and decided to make one of the most celebrated shooting games in the world available in a nearby Chromium-based browser.
adding2210 took advantage of the way JavaScript is used in the browser’s PDF reader to port Doom to a .PDF file. Although the official PDF specifications allow for more sophisticated scripting, browser security concerns limit this somewhat. But it was enough to move Doom to this format.
The JavaScript capabilities included in the PDF specifications allowed ading2210 to “do any calculation” and the results were great. Using a six-color ASCII grid to represent sprites and graphics, the high school student managed to create a readable version of Doom, provided he was ecstatic with the sluggish response time of 80 ms per frame drawn on the screen.
You might not want to throw away your PS5 just yet, but seeing Doom transferred inside a .PDF file is quite remarkable, especially considering how readable the overall result is.
TetrisPDF creator Thomas Rinsma published on Hacker News that he also created his own PDF version of Doom, but added that the ading2210 version is “prettier in many ways.”
While you may not want this version of Doom to be how you first experience the game, what’s modern is that Doom runs on all sorts of ridiculous devices and files (or even live intestinal bacteria) provides endless fun.
Wesley is the UK news editor at IGN. Find him on Twitter at @wyp100. Wesley can be reached at wesley_yinpoole@ign.com or confidentially at wyp100@proton.me.