Key information
Creator Lukas Vogel has developed SQLDoom, a project running the 1993 game inside the performance-focused, Postgres-compatible relational database management system CedarDB. The frontend handles graphics, sound, and inputs via Python, acting as peripherals while all mathematical calculations occur within the database.
Converting the project required 5,900 lines of SQL for the core gameplay loop and 1,300 lines for the graphical renderer spanning 89 different tables. Vogel noted that data within Doom package files is highly relational, allowing map levels to be easily replicated in plain database tables.
Vogel found that SQL simplified various operations by replacing iterative loops with single UPDATE statements executed in parallel, though he mentioned that floor and ceiling renderers did not map cleanly because they rely on flood-fill algorithms.
Multiplayer functionality benefited from the database environment, where transaction commands automatically synchronize states across tables. Interested users can download or explore SQLDoom via its GitHub repository or read Vogel's blog post.


