We’ve covered all sorts of Doom ports here, from Minecraft to McDonald’s cash registers, and this might be the weirdest yet. Someone’s gotten the FPS game running in gif form, and you can see it in action down below.
The way it works is simple – on this ao3 page, you’ll see a constantly evolving gif of Doom, with a set of clickable controls below. Much like the Twitch plays series of crowd-controlled play-throughs, every input that’s clicked by anyone with the webpage open goes into a queue, and the server runs through them in order, sending back the updated images. This does make the gif itself somewhat unstable, between the constant loading, and sheer pressure on the server from people trying to get a look.
Software developer Andrew Sillers is the man behind the magic. He provided a talk explaining what’s actually happening here during BangBangCon. Whenever a website loads an image, it’s doing so through a piece of code that’s requesting that image. With gifs, because they start loading before every frame has been received, you can make a cycle where new frames are always being added, making them into a flowing animation rather than a looping one. Using this basic premise, and some commands, you can play a videogame, like a narrative adventure game, or a roguelike game, or Doom.
Here’s the Doom gif itself, motoring away – the ao3 link above gives you access to all the controls, and you might need to refresh to get it to load properly:
This build is Freedoom, a free alternative built from Doom’s source code. You can read more about it here.
Sillers’ talk is here:
You can find more details, as well as the WAD files for this version of Doom, on GitHub. Digital cameras, drone controllers, gifs, where will Doom end up next?