Doom runs on a lot of things. Here it is on an Intel Edison chip, which is actually quite mundane as these things go; far more impressive is seeing it in action on a home pregnancy test, 100 pounds of moldy potatoes, the display that shows your order in a restaurant, and even some sheep in Minecraft. Here's a whole separate list if you really want to go down that rabbit hole.
The most recent addition to the lineup of "weird things running Doom" is nothing less than Twitter, and specifically the Tweet2Doom bot that enables anyone with a bit of patience to play the game directly through the social media platform. Movement and interactions are handled through a basic scripting language that's input via reply tweets sent to the bot; those instructions are converted into a gameplay video that's sent to the user in a tweet. Each valid tweet also generates a "new game state" that can be extended through further replies, meaning that gameplay sessions can be extended across tweet threads.
The process is simple, although there are a few syntax rules and you'll need to be patient enough to figure out how the scripting works. To start a new game, you must reply-tweet "/play x,,e,,e,,e,,50-,50-u,15-f," for instance. Okay, so maybe it's not that simple.
Here are the full instructions:
And this is what it looks like in action. It is, predictably, a shit show.
🎥 Random playsDescription: 10 randomly selected @tweet2doom nodes rendered in a single videoFramerate: 60 fps pic.twitter.com/PEPbo3uUDbOctober 14, 2021
Success is possible, though. In a thread leading up to the tweet below, bot author @ggerganov and @ASPIRINmoe were able to make it all the way through E1M1 and into E1M2. It's ugly, but it works.
Author: @ASPIRINmoe | Depth: 23 | New frames: 155 | Total frames: 3795Play: 56-r,99- pic.twitter.com/SB0fNtOJwxOctober 8, 2021
The secret, as far as I can tell, is to take it in small bites: Move a bit, shoot a bit, see how the game world reacts, and then respond accordingly. You can see that in the thread above, where they move in small segments, take on individual threats wherever possible, and ensure they're in a good position for subsequent tweets.
Of course, there's always the speedrun approach:
🏆 New Record! 🏆⠀Best time for E1M1Difficulty: Hurt me plentyTime: 0:19Commands: 4⠀Tweet chain: https://t.co/IzpJXMzuMY⠀🎥 pic.twitter.com/7RAfKGAnlIOctober 12, 2021
An interactive roadmap of all the Twitter Doom runs is up on Github, where you can see all the dead-end runs (including mine, which was just a cut-and-paste of someone else's script commands to see how it all worked) and a couple of very long strings that are presumably more interesting and successful. Clicking on any of the names on the map (which can be dragged and zoomed using a mouse) will take you to Twitter, where you can see that particular slice of Doom gameplay.
It's definitely not the most practical way to play Doom, but it's fun to watch and see how the runs expand over multiple tweets. Will anyone ever make it all the way to the end of the game like this? My inclination is to say "no," but I've been around long enough to know that someone will probably pull it off—the only real question is when.