
"Can it run Doom?" now applies to databases, as the author of DOOMQL has released a far more visually accurate port.
There's a saying: "Be careful what you wish for." In 2025, we wrote a piece about a database boffin coming up with a version of Doom that was written in SQL. It was neat, but the visuals were nearer to 3D Monster Maze than to the 90s pixel blaster. We commented, "If persuading SQL to do the entire rendering pipeline is a 'bad idea,' we cannot wait for a terrible one."
And so here we are. The author, Lukas Vogel, has been at it again and ported both Doom's game logic and renderer to SQL, running it in a database. Python handles timing, keyboard input, and bitmap display, but the rest comes from SQL queries and the CedarDB database.
DOOMQL was an undeniably impressive thing. However, Vogel told , "Someone on Hacker News complained last year when I did the first iteration that that one was more Wolfenstein-like because I used raycasting instead of BSP-tree traversal which was *the thing* that made Doom revolutionary.
"So I obviously couldn't let that stand."
Which brings us to SQLDoom. Doom, ported to SQL. In his blog, Vogel noted the ground rules for the port. Unlike DOOMQL, this had to look like real Doom. The rendering had to be purely SQL-based: "the only acceptable SQL output is a table or a bitmap encoding exact RGB values for every pixel," and the game loop also had to be purely SQL-based.
Vogel told us, "I was very thrilled to find out that porting the real Doom was a) feasible and b) the performance was actually *better* than the much more barebones approach from last year!
"Also, at some point I started actually playing it for fun in my free time, which is still a very strange feeling. I intended it as a tech demo, but it just feels like the real Doom, even though it doesn't share a single line of code with any existing Doom port. So I wanted to see how far I could take it.
"In the end, I even got deathmatch to work."
According to Vogel, the game is perfectly playable on his laptop (using a Ryzen 7 7840U), and multiplayer games can be played online using EU and US servers. We found the server performance a little sluggish – likely more due to the servers than the port – although getting SQL to jump through these hoops is something that, only a few short years ago, would be unimaginable.
It's worth keeping in mind that this is a thinly veiled demonstration of the capabilities of CedarDB. It's a compiling database system where complex queries are eventually compiled to machine code. Still, it's hard not to get swept up in Vogel's enthusiasm and the fact that this is Doom… running in a database.
Certainly this is a lot more fun than recreating yet another online store for yet another interminable keynote. ®