Durable Doom
Doom on Durable Streams. Every game tic is an offset, every offset is a branch point. Live spectating, time-travel, and fork-to-continue — all client-side, no backend.
How it works
Doom's game engine is compiled to WebAssembly and runs entirely in the browser. Every tic (input frame) is captured and appended to a Durable Stream. Because Doom is a deterministic pure function of its input log, replaying the stream reproduces identical game state.
This gives Doom properties that come for free from the stream primitive:
- Live spectating — tail the stream over HTTP, fan out via CDN to unlimited observers
- Time-travel — read up to any offset and replay to that point, with WASM memory snapshots for instant backward seek
- Fork-to-continue — fork the stream at any tic and take over someone else's playthrough mid-action
No servers, no game backends, no sandboxes. Just a static page, a WASM engine, and Durable Streams on Electric Cloud.
Read the blog post for the full technical deep dive.