RTP DesportoTriatleta Maria Tomé 11.ª classificada na etapa da Taça do Mundo de RomaPunchPolice arrest man for raping, impregnating 12-year-old in AbujaThe Jerusalem PostNetanyahu: 'Britain still an ally of Israel,' even if gov't 'appeases our enemies, attacks us'InquirerLacson on Trillanes’ revelations: ‘No probative value’ESPN DeportesNico Williams, cuarta baja de España en la Nations LeagueESPNPitt upsets Va. Tech after losing QB; Narduzzi tells pollsters to 'wake ... up'ZDF heuteAktuelle Pressemitteilungen des ZDFBusiness AMVijf drones dringen Moldavisch luchtruim binnen tijdens Russische aanvallen op buurland OekraïneCNN Türkİstanbul'da son yağmurlar barajlara yaradı: Baraj doluluk oranları açıklandıTagesschauNach Wahl in Berlin: Linke, Grüne und SPD sehen "gemeinsamen Weg"CBS NewsTrump vows Iran war to end "very quickly" as more troops head to MideastIl Fatto QuotidianoÈ successo che Roma resterà a lungo senza l’Angelo Mai
The Daily Newsstand · Free, Always
Saturday, October 3, 2026

Clever database, but can it run Doom?

Translate

Reg hack learns the meaning of 'Be careful what you wish for'

"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.

REG AD

DOOMQL was an undeniably impressive thing. However, Vogel told The Register, "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.

REG AD

"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. ®

View the original on The Register →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.