Galaxy-brained high schooler ports Doom to a PDF file, paving the way for a bloody revolution in invoicing

Doom running in a PDF file
(Image credit: id Software, ading2210)

Porting Doom to inappropriate platforms is one of the internet's favourite hobbies. Devices compatible with id Software's definitive FPS now include Lego bricks, pregnancy tests, and player-pianos. One ingenious PhD student even displayed Doom on gut bacteria cells, making the shooter a literal cultural phenomenon.

Now, an enterprising high schooler has further extended Doom's platform omnipresence, successfully porting the FPS to a PDF pile. This latest bizarre port of Doom, creatively named DoomPDF, is the work of github user ading2210, who describes themselves as a "high school student with an interest in programming, web development, and cybersecurity".

Porting Doom to a PDF file is possible, ading2210 says, because the PDF file format supports Javascript. Indeed, they point out that the full specification in Adobe Acrobat "contains some ridiculous things like the ability to do 3D rendering". In theory, this makes a port of Doom to a PDF relatively straightforward. However, ading2210 points out that "On Chromium and other browsers, only a tiny amount of this API surface was implemented."

As for how they approached the port, they say that compiling it to run was easy enough, as was facilitating keyboard inputs, as "Chromium's PDF engine supports text fields and buttons." Making the game run satisfactorily within the file was "a lot more of a challenge", however which ading2210 explains as follows:

Previous interactive PDF projects I've seen use individual text fields that are toggled on/off to make individual pixels. However, Doom's resolution is 320x200 which would mean thousands of text fields would have to be toggled every frame, which is infeasible. Instead, this port uses a separate text field for each row in the screen, then it sets their contents to various ASCII characters. I managed to get a 6 color monochrome output this way, which is enough for things to be legible in-game.

Ading2210

The result of ading2210's work can be played here, though ensure you're running a Chromium browser before clicking the link. It's an impressive technical feat, but as ading2210 admits, DoomPDF isn't much fun to play. Visually it's just about clear enough to see what's going on, but from a control perspective, DoomPDF is extremely unresponsive. Hitting a single target is difficult, while fighting larger groups of demons next to impossible.

Incredibly, this isn't the first time someone has ported Doom into document-adjacent software. A few years back, game developer Sam Chiet ported Doom into Notepad, with arguably superior results. Sure, you need to squint like you're chopping onions to parse what's going on, but Notepad Doom is much slicker beneath the fingers than its PDF cousin. Surely, it's only a matter of time before some bored computer whizz gets Doom running in Word, and I will be first in line to output Doom frames in Wingdings.

TOPICS
Contributor

Rick has been fascinated by PC gaming since he was seven years old, when he used to sneak into his dad's home office for covert sessions of Doom. He grew up on a diet of similarly unsuitable games, with favourites including Quake, Thief, Half-Life and Deus Ex. Between 2013 and 2022, Rick was games editor of Custom PC magazine and associated website bit-tech.net. But he's always kept one foot in freelance games journalism, writing for publications like Edge, Eurogamer, the Guardian and, naturally, PC Gamer. While he'll play anything that can be controlled with a keyboard and mouse, he has a particular passion for first-person shooters and immersive sims.

Read more
LinuxPDF, linux running in a PDF document
Here's Linux running inside a PDF, running inside a browser, running on a Windows PC
A screenshot from a YouTube video of Doom running on an Apple Lightning to HDMI adapter, with a monitor showing an imp on screen.
Doom on a dongle: Turns out the Apple Lightning to HDMI adapter has more than enough grunt to blast imps with aplomb
Doom Captcha on a colourful orange and yellow background
Thanks to Doom, I can finally solve captcha prompts without wanting to spoon my eyeballs out and wander into the wilderness
Doomguy holds a glass of red wine in an art gallery
Finally someone turned Doom into an enriching cultural experience for art snobs
Diablo leers from the cover of Diablo 1.
The best way to play Diablo 1 on pretty much anything just got an update for a 20-year-old Apple OS that runs on a dead chipset, one lunatic somewhere presumably rejoices
The cover of the video game Doom
Nightdive's remaster of Doom + Doom 2 gets multiplayer mod support, spectator mode for co-op play, and stops you from losing your mind searching for red doors
Latest in FPS
Starfield's companion robot giving a thumbs-up
Former Bethesda dev who quit Starfield to go solo says it's 'much less stressful as an indie' without daily meetings or 'office politics': it's 'very refreshing to just care about the game'
Team Fortress Spy being shocked
An FPS studio pulled its game from Steam after it got caught linking to malware disguised as a demo, but the dev insists it was actually the victim of a labyrinthine conspiracy
Neighbors Suburban Warfare screenshot a child aims a slingshot at a man from across a cul-de-sac.
A beta of backyard FPS Neighbors: Suburban Warfare is out now, and the balance discussion is hysterical: nerf trash can lids and children
Fragpunk
Somebody finally figured out casual Counter-Strike
Image for
Warhammer 40,000: Darktide’s getting a new roguelite wave defense mode that sounds a whole lot like a souped-up take on Killing Floor
Destiny 2: Season of Plunder promo image.
'We made one big mistake': Destiny 2 developer reveals how a small team dedicated to player retention led to a 20 hour server outage and character rollback
Latest in News
Starfield's companion robot giving a thumbs-up
Former Bethesda dev who quit Starfield to go solo says it's 'much less stressful as an indie' without daily meetings or 'office politics': it's 'very refreshing to just care about the game'
Schedule I drug deal going down
Forget REPO, Monster Hunter Wilds and Assassin's Creed Shadows, Steam's current global top seller is an early access game about managing a drug empire
Naoe looking at the wrist blade in Assassin's Creed Shadows
Ubisoft says don't compare Assassin's Creed Shadows' success to Valhalla: The latter launched in Covid's 'perfect storm' and feedback on platforms 'less affected by review bombing' is stellar
Tarn Adams, who cofounded Bay 12 Games with his brother Zach, talks about their single-player simulation game "Dwarf Fortress" during an interview at their home office in Poulsbo, Washington, west of Seattle, on December 9, 2022. - A cult favorite among indie game fans, "Dwarf Fortress" has been available for purchase on the Steam online store since December 6, a first for this title that has been distributed for free since its debut in 2006. The real-time management game, set in a medieval-fantasy world and involving overseeing a group of dwarves seeking to build a mighty fortress, has climbed to the fourth best-selling weekly title on Steam. (Photo by Jason Redmond / AFP) (Photo by JASON REDMOND/AFP via Getty Images)
Dwarf Fortress' creator is so tired of hearing about AI: 'Press a button and it writes a really sh*tty, wrong essay about something—and they still take your job'
Crucial X9 external SSD on blue background
You can pick up the 2 TB version of my favorite budget external SSD for less than $0.06 per GB, transfers 300+ GB of data in 6 minutes
Image of illuminated manuscript-style drawings from the game Pentiment.
Random characters kept swearing in Obsidian's font-obsessed murder-mystery when its procedural error system ran amok: 'Naughtiness abounded'