DOOM runs entirely inside a Firebird SQL database, playable in your browser

DOOM, simulated and rendered inside the Firebird SQL database using WASM

This project reimplements DOOM as a clean-room SQL application running on Firebird 6 compiled to WebAssembly. Every game tic is a PSQL procedure call, every frame a SELECT; JavaScript only handles keyboard input and canvas painting. It plays real DOOM maps, uses Freedoom data, and includes a live SQL console. Performance tricks include generator procedures to avoid re-evaluating derived tables and pinning join order with CROSS JOIN LATERAL.

Every game tic is a PSQL procedure call. Every frame is a SELECT. JavaScript only reads the keyboard and paints the rows Firebird returns.

More from this day

2026-10-06