Developer renders Doom gameplay entirely through SQL database queries
Lukas Vogel built SQLDoom, a project that runs the classic shooter's game logic inside a CedarDB relational database, using about 1,300 lines of SQL across 89 common table expressions to generate 35 full-color 640x480 frames per second. A small Python client handles input, timing, and on-screen display, while the database manages game geometry and state. The project improves on Vogel's earlier DoomQL effort, which only produced grayscale ASCII raycasting graphics.
GoKawiil's interpretation of the reporting above, not reported fact.
The project illustrates how classic game data structures, like Doom's binary-space partition trees, can be translated into relational database operations such as ORDER BY sorting, showing SQL's flexibility beyond typical business applications. It serves as a technical demonstration rather than a practical gaming solution, likely aimed at showcasing database query techniques and performance tricks to other developers. The jump from ASCII to full-color rendering suggests meaningful progress in Vogel's approach to representing complex visual logic as structured queries.
- SQLDoom uses CedarDB tables and 1,300 lines of SQL across 89 common table expressions to run Doom's game logic.
- The system generates 35 full-color 640x480 frames per second, a major visual upgrade from Vogel's earlier ASCII-based DoomQL project.
- Doom's binary-space partition trees were converted into SQL using a pre-computed sort_key, letting an ORDER BY statement determine wall rendering each frame.
Source: arstechnica.com, 2026-10-02
Published there as: “Someone got Doom in an SQL database”
Read the original report → The summary and analysis above are GoKawiil's own, written from reporting by the source above. Facts and quotes belong to the original publisher.