Building a DOOM-like multiplayer shooter in pure SQL

154 lvogel 31 9/9/2025, 3:12:18 PM cedardb.com ↗

Comments (31)

a3w · 10h ago
THIS IS MADNESS.

Krieger, is that you? You went too far with it.

I am all for catgirl holograms, so good science by Archer's Krieger on that. But SQL should not run Doom. The limits of science have been pushed beyond madness!

Well okay, "does it run Doom" comes up here frequently.

But why not solve "does it run catgirls" first, if you are a real-life mad scientist?

paulryanrogers · 3h ago
I feel like these more extreme efforts barely qualify as running Doom. Technically I guess it's Doom in pure SQL, not running on it (since that suggests hardware).

Other efforts such as Doom (like) CAPTCHA or Doom in TypeScript types are either so incomplete, unplayable, or so absurdly abstract that it strikes me as desperate cries for attention.

That said, people have all kinds of weird interests, so to each their own. I'd just prefer these absurd efforts didn't take up so much attention that they distract from artistic efforts with more to say than "look what I can do". Even some other efforts in Doom; like "Thatcher's Techbase", "Kriegsland: Blutorden", "Blades of Agony", or HDoom.

pjot · 9h ago
Author of the mentioned DuckDB-DOOM here!

This is awesome - multiplayer is a great addition. Really like the cone in the mini-map too

lvogel · 7h ago
Love that you liked it! Your project was the inspiration and showed me the insanity was actually feasible :D
IncRnd · 8h ago
This is pretty neat. I was expecting a WAD file to get loaded, but this was still pretty neat, even better than Windows XP in JS.
selimthegrim · 7h ago
romperstomper · 8h ago
I'd say this is more like Wolfenstein 3D :)
lvogel · 7h ago
That's just my age showing, I guess. For me, all 2.5D shooters are DOOMlikes. I was actually first thinking about calling it a Quake-like since IMHO that is much more well known for its multiplayer, but then I never got around to implement powerups and all the other stuff people might have expected.
to11mtm · 4h ago
tbh feels like OG Wolf crossed with some early text based 'first person' RPG crossed with real time updates...

I suppose if there's one frustration it's that various 8/16bit dooms are out there including asciidoom and wondering why the better UX/vis of those weren't a thing...

gs17 · 8h ago
For some reason it's really common to call this kind of project a "Doom clone" despite it not having the features that made Doom notable at the time. Honestly, it's impressive enough that it doesn't need to be tied to being a "[90s game] clone".
lvogel · 10h ago
If you want to take a look at the source code, here's the repo! https://github.com/cedardb/DOOMQL
halifaxbeard · 5h ago
unironically, this is such an elegant way to express ray marching

https://github.com/cedardb/DOOMQL/blob/f14b5ef9ef0b23045376b...

boredinstapanda · 4h ago
Reminds me of the text mode Doom before the ASCII mode video drivers.

I couldn't find the site after a quick search,maybe the wayback machine.

esafak · 10h ago
This is a clever ad! I had not heard of them so I looked up the technology behind it: https://cedardb.com/docs/technology/

A Postgresql-compatible HTAP. It appears to be single server and closed source. Roadmap: https://cedardb.com/docs/roadmap/

FridgeSeal · 5h ago
IIUC its a commercialisation of a research DB called Umbra which has some pretty amazing performance characteristics.
zekrioca · 7h ago
Would this multiplayer work on Postgresql?
ChrisWint · 5h ago
Depends on what you mean by "works" I guess. The statements all look like PostgreSQL SQL and should, therefore, all work. That said, they are pretty heavy duty, especially the recursive Ray tracing, so I expect it to lag quite a bit.
valorzard · 9h ago
Feel like the logical extreme of this is a database built for multiplayer games, something like: https://github.com/clockworklabs/SpacetimeDB

Though there, you are still writing the main game logic in Rust or C#

crooked-v · 8h ago
"Just build all the logic directly in the DB" is something I've thought about before for simple multiplayer online RPGs and the like, where quite a lot of things are effectively just a direct mapping from database to screen. But, using the general idea for 'twitch' gaming is really wild.
lvogel · 7h ago
Yea, I actually thought of the viability of SQL for games while working on DOOMQL. It's just so easy to express a lot of game logic in SQL queries. As an avid OSRS player I was thinking about doing a simple MUD/MMO next.

Thanks for the pointer to SpacetimeDB - haven't heard of it before!

all2 · 4h ago
My understanding is that Spacetime db embeds the "system" component of an ECS into a DB. The rest of the ECS is in there too.

I briefly looked into it, but never got past that fundamental piece.

ant6n · 8h ago
It’s a very cool accomplishment. As a nerd of early shooters, I do wonder whether it’s fair to call it Doom-like. It’s clearly more untextured Wolfenstein 3d.

Are we sufficiently far from 1993 to just “round” it all to being Doom-like? certainly it’s better for eyeballs.

johnisgood · 7h ago
Yeah, it is definitely Wolfenstein 3D in my opinion. Many Doom-clones are. Maybe Wolfenstein 3D is a Doom-clone in itself? I dunno, I do not know the history. Can anyone enlighten me?
nemomarx · 7h ago
Wolfenstein came first, Doom followed from the same team. While some doom clones at the time continued to use the Wolfenstein engine it was fairly brief. Rise of the triad is I think the most impressive one using basically the Wolfenstein model?
jandrese · 7h ago
Depends where you want to draw the line. You could trace the lineage all the way back to Rogue with its grid map where the player is fixed to the grid and moves in full block increments. Then you had those 3D maze games where you were still on the grid and stuck moving in cardinal directions, but you got a 3D representation of the area. Then Wolfenstein allowed the player to move freely on the same grid map. Finally Doom (finally!) dispensed with the grid and made the map out of vectors.
wduquette · 6h ago
Not knocking your history, but I gotta say that Wolfenstein-3D was like nothing I'd ever seen...and I played the original Wolfenstein on the Apple II--and the original Wizardry as well, which is a lot more to the point than Rogue IMHO. The Wizardry map grid and the Wolfenstein-3D map grid are really similar, now that I think about it.
flykespice · 3h ago
The previous trend was about trying to run DOOM on as many constrained devices as possible

now it has evolved to trying to prove turing-completeness on the least places you'd expect it to be.

phoenixhaber · 4h ago
I once made a doom emulator with a bandsaw and a pile of toothpicks but unfortunately I had difficulties cross compiling to a dumpster fire of banana peels.
ForHackernews · 5h ago
There's also pg_doom that runs Doom as a Postgres extension https://github.com/DreamNik/pg_doom arguably less impressive because PG extensions can be normal(ish) C.
OhMeadhbh · 4h ago
"Programming languages differ not so much in what they make possible, but in what they make easy."
alexchantavy · 8h ago
Do it in Neo4j now lmao