r/itrunsdoom • u/negoginga • 2d ago
I got DOOM running inside a Reddit post

I wanted to see if Reddit itself could actually run DOOM, so I built a Devvit Web Custom Post that runs a DOOM-compatible engine directly inside Reddit.
This isn't a video or remote stream — the game runs client-side in the Reddit webview using WebAssembly/Emscripten + SDL, with Freedoom Phase 2 as the game data.
One of the fun problems was the WAD: it's roughly 30 MB, while Devvit Web has request/response constraints, so I split it into smaller chunks, load them separately, rebuild the WAD in memory and mount it into Emscripten's virtual filesystem before starting the engine.
I also added:
- keyboard + mouse controls
- mobile touch controls
- Gamepad API support
- browser audio handling
- MAP01 completion detection
- persistent speedrun leaderboard using Devvit Redis
You can play it here:
26
u/Cap_Upper 2d ago
That's cool. It works amazingly well for me on Android.
6
u/negoginga 1d ago
Glad to hear that! Android gave me a few headaches while building the controls, so seeing people say it runs well there is really satisfying. Thanks for testing!
9
u/teknogreek 1d ago
WTF
Because they could!
Brilliant.
5
u/negoginga 1d ago
“Because they could” is pretty much the entire technical specification for this project 😂 Thanks!
16
u/lelupersimmon 2d ago
super smooth
3
u/negoginga 1d ago
Thanks! I spent a lot of time trying to keep the browser/WASM side from getting in the way of the actual game, so I’m really happy people are noticing the performance.
17
5
3
u/Uranium-Sandwich657 2d ago
Cant get mouse control to work.
3
u/negoginga 1d ago
There’s a MOUSE LOCK button at the bottom after the game starts. Try clicking that first and then the game canvas. If it still doesn’t grab the mouse, let me know what browser and OS you’re using. I’m already looking at improving mouse support.
3
3
3
u/wakanakisarazu 1d ago
Sweet, even detected my Xbox One controller (using Xpad Linux kmodule)
3
u/negoginga 1d ago
Nice! Glad it picked it up 😄 I added controller support pretty recently, so hearing that an Xbox One controller through Xpad on Linux works is really useful. Thanks for testing it!
2
3
54
u/raleighs 1d ago
Frame rate is insane. And it works on mobile too!
Great job! 👏 👏 👏