Doom

This is id's engine, the source they released in 1997, compiled to WebAssembly and running in the tab. The levels and art are Freedoom, which is free to pass around. If you own Doom you can point this at your own copy instead, and it never leaves your machine.

Movement is on WASD as well as the arrows, which vanilla Doom never had. The trade is that cheat codes spelled with those letters cannot be typed any more, and F is fullscreen here as it is on every game on this site, so idfa and idkfa flip the screen on the way through.

Doom

Freedoom is a complete free replacement for the original game data, so this runs without anything of id's in it. About 10 MB compressed, fetched once and then cached by your browser.

Starts on the first level. Click the view to aim with the mouse.

Click the view once to hand over the pointer, then the mouse turns you and left click fires. Esc gives the mouse back without leaving the game, and the browser keeps that first press to itself, so it takes a second one to open Doom's menu. F for fullscreen · WS forward and back · AD strafe · QE or turn · Ctrl also fires · Space opens doors · Shift to run · 1 to 7 weapons · Esc for the menu · Tab for the map. Turning too fast or too slow is Options, then Mouse Sensitivity.

The engine is doomgeneric, a port of id Software's Doom source release, under the GPL 2. The game data is Freedoom, under a BSD licence. Built with tools/build-doom.sh, which also patches in WASD and mouse aim, neither of which the port shipped with. Music is off: the MIDI playback needs a patch set that is bigger than the rest of this put together, so the sound effects run and the music does not.