Project Overview
The original 1993 DOOM, running in the browser with no plugins or installs. Unlike Diablo Web, which embeds a third-party port, this one is built and hosted here: the engine is compiled from source and served by the site itself.
Technology Behind It
- Chocolate Doom: a source port that reproduces the original DOS game as faithfully as possible
- doom-wasm: Cloudflare's WebAssembly port of Chocolate Doom (GPL-2.0)
- Emscripten: compiles the C engine to WebAssembly, with SDL2 for video, input and sound
- Cloudflare R2: stores the game data files, served through short-lived signed URLs
Features
-
Game selector
- Shareware Episode 1, free for everyone
- The Ultimate Doom, DOOM II, TNT: Evilution and The Plutonia Experiment from a legally owned copy
- Expansions: SIGIL, No Rest for the Living and the 20 Master Levels, each with its own level list
- Each game starts straight from its own URL
-
Persistent saves
- Saved games and settings live in the browser's IndexedDB
- A separate save folder for each game
-
Original sound
- Sound effects and the OPL (AdLib) soundtrack, emulated in real time
-
Fast reloads
- Game data is cached in the browser after the first download
Engine Changes
The upstream port only ran the shareware without music. The build here patches it to:
- Skip the OPL chip detection, which waited on the audio callback in a single-threaded runtime and froze the game
- Mount an IndexedDB filesystem for saves and settings
- Let the page know when the player quits from the in-game menu
- Fix a
booleansize mismatch with Emscripten'sstdbool.hthat spawned ghost players - Add a
-nervemode with No Rest for the Living's level order and ending
SIGIL ships in the 2024 re-release as Episode 5, which the original engine doesn't know. A build script moves it to Episode 3, the same trick as the official "compat" release: maps, music, sky, level names, intermission and ending text.
Controls
- W A S D / arrows - Move
- Mouse - Turn
- Left click / Space - Fire
- Right click / E - Use
- Shift - Run
- 1-7 - Weapons
- Tab - Map
- Esc - Menu
Play Now
DOOM is a trademark of id Software. Chocolate Doom and doom-wasm are distributed under the GNU GPL.


