# Doom now runs inside an SQL database

> A developer rendered the classic shooter using database queries, achieving 60 fps with full-color graphics.
- Title: Doom now runs inside an SQL database · Ars Technica | Shortify
- Summary: A developer rendered the classic shooter using database queries, achieving 60 fps with full-color graphics. Lukas Vogel built SQLDoom, a working version of…
- Keywords: doom, sql, lukas vogel, sqldoom, cedardb, video game ports, database rendering, technology, science, runs, inside, database
- Source: Ars Technica — https://arstechnica.com/gaming/2026/10/can-it-run-doom-sql-database-edition
- Published: 2026-10-02T21:19:05+00:00
- Read time: 1 min
- Topics: doom, sql, lukas vogel, sqldoom, cedardb, video game ports, database rendering, technology, science
## Doom rendered in SQL
Lukas Vogel built SQLDoom, which renders the classic shooter using an SQL database. A Python client handles input, output, timing, and display while CedarDB tables track game geometry and state.

> Rendering Doom in a database is obviously a bad idea
## How it works technically
About one thousand three hundred lines of S Q L queries spread across eighty-nine common table expressions implement the game logic and generate thirty-five bitmap framebuffers per second at full-color six hundred forty by four hundred eighty resolution.
## Better than the last attempt
Vogel's previous DoomQL project generated grayscale A S C I I graphics similar to Wolfenstein three D. SQLDoom improves on this by generating full-color frames that look like they came from the original Doom executable.
## Converting Doom to database
Doom's classic W A D files converted to a relational database relatively simply because the original game broke levels into vertices, lines, and sectors. Binary-space partition trees use a sort key pre-computed for each position at load time.
## Performance and multiplayer benefits
SQLDoom runs at about sixty frames per second on a Ryzen seven-powered laptop, with occasional dips to thirty-five fps for busy scenes. The database's reference snapshot of game state offers benefits for multiplayer servers.

> no partially applied updates, physics bugs, or disagreements over whether the rocket actually hit
## How to try it yourself
The code is available on GitHub with CedarDB and a Doom W A D file. A free online hosted demo match is also available, though performance varies depending on your connection and system.
## Key takeaway

Lukas Vogel built SQLDoom, a working version of Doom that runs inside an SQL database using Python for input and output, generating thirty-five bitmap framebuffers per second.