# Doom — doom.wasm

Canonical: https://playable.wtf/games/doom-wasm-browser/

Project ID: project:doom-wasm-browser

A minimal Doom WebAssembly runtime with a playable browser example.

## About this version

Jacob Enget’s runtime focuses on a small host interface and provides a separate browser demonstration. This is an engine experiment with its own limitations, not a claim of a modern full-featured Doom client.

Browser launch. Shooter.

[Play on creator site](https://jacobenget.github.io/doom.wasm/examples/browser/doom.html)

## Doom

Classic WAD play, shared browser sessions and Doom 3 have different engines and file requirements.

- [Read Doom guide](https://playable.wtf/guides/doom-quake-browser-versions/)
- [Classic Doom in a browser](https://playable.wtf/games/wad-commander-v1/): Choose owned WADs, shareware or Freedoom, with a documented touch layout.
- [Keep the original DOS behavior](https://playable.wtf/games/chocolate-doom-chocolate-doom/): A native port for compatible classic content, old demos and saves.
- [Try the Doom 3 demo](https://playable.wtf/games/doom-3-browser/): A desktop browser route into the later game without a retail-data setup.
- [Play owned original Doom 3](https://playable.wtf/games/dhewm-dhewm3/): Use original 1.3.1 data in a native port; BFG Edition files do not fit.

[Browse all version comparisons](https://playable.wtf/families/)

## The original Doom in a minimal browser shell

The 1993 Doom casts you as a marine fighting a demonic invasion. Its appeal is immediate first-person combat: choosing weapons, reading the space around enemies and pushing through to the next area. This project approaches that original game as a compact runnable engine, rather than as the enhanced commercial Doom + Doom II package.

Sources: [Bethesda · original Doom description](https://store.steampowered.com/app/2280/DOOM__DOOM_II/) · [doom.wasm · runtime and browser example documentation](https://github.com/jacobenget/doom.wasm)

## Why this Doom port is different

Jacob Enget designed doom.wasm around a small interface that other programs can use. The browser page is a deliberately simple demonstration of the same module also used by native and Python examples. It defaults to shareware data; its programming interface can load custom WAD data, but that is not the same as a polished drag-and-drop mod launcher.

Choose this version if you want to see a small WebAssembly implementation at work. For a longer campaign session, its missing audio is a substantial tradeoff: neither music nor sound effects are produced.

Sources: [doom.wasm · runtime and browser example documentation](https://github.com/jacobenget/doom.wasm)

## Use the classic keyboard layout

The example follows vanilla Doom controls. Arrows move and turn, Ctrl fires, Space operates doors and switches, and comma or period steps sideways. Learn the strafe keys early so that moving out of the way does not require turning away from a target.

A brief apparent freeze during a screen transition can be the original melting animation completing without intermediate browser frames. That documented limitation is separate from a failed game load. Retail content requires your own WAD data; the shareware default is not the complete paid game.

Sources: [doom.wasm · runtime and browser example documentation](https://github.com/jacobenget/doom.wasm)

## Do I need the original game files?

The runtime defaults to Doom shareware and can accept custom WAD data; use your own files for retail content.

Creator-reported: [Project guide](https://github.com/jacobenget/doom.wasm)

## How do I get started?

Open the browser example and use the classic keyboard controls.

Creator-reported: [Project guide](https://github.com/jacobenget/doom.wasm)

## What are the controls?

The example uses vanilla Doom keyboard controls: arrows move/turn, Ctrl fires, Space uses doors and switches, and comma/period strafe.

Creator-reported: [Project guide](https://raw.githubusercontent.com/jacobenget/doom.wasm/HEAD/README.md)

## What should I know before playing?

This runtime currently produces no music or sound effects. Screen transitions can appear frozen while the original melt effect completes.

Creator-reported: [Project guide](https://raw.githubusercontent.com/jacobenget/doom.wasm/HEAD/README.md)

## Credits and project

- [Original project](https://github.com/jacobenget/doom.wasm)
