Running Doom in an SQL Database Proves We've Gone Too Far
Someone actually managed to render full-color Doom inside an SQL database, proving that developers will use relational tables for literally anything....

Every few years, the internet collectively decides to run *Doom* on hardware or software that was never, under any circumstances, intended to compute ballistic trajectory algorithms or render retro demon-slaying graphics. We have seen it on pregnancy tests, oscilloscope screens, and smart thermostats. But the latest stunt takes a special kind of unhinged brilliance. Someone got *Doom* in an SQL database, and honestly, I am both deeply disturbed and profoundly impressed.
Lukas Vogel is the mastermind behind SQLDoom. Yes, it is a terrible idea. He readily admits that. But instead of settling for janky, grayscale ASCII art like his previous experiments, this iteration churns out legitimate full-color 640x480 frames at a staggering 35 frames per second. It use a python client strictly for inputs and display output, but the heavy lifting – the actual heart-pounding game logic, geometry tracking, and frame generation – happens entirely inside CedarDB via a labyrinth of nearly thirteen hundred lines of SQL queries spread across eighty-nine common table expressions.

Consider the sheer absurdity of the setup for a second. Relational databases are built to store, index, and query structured business data, not handle binary-space partition trees or real-time raycasting math. Yet, by breaking down classic WAD files into relational tables and pre-computing a smart sort_key for positioning, Vogel turned basic `ORDER BY` statements into an engine capable of culling walls and pushing pixels. When you push relational architecture far beyond its intended design parameters, you find out what it can really do, it turns out that.
This is why I love the builder community. Nobody asked for this. There was no market research, no product roadmap, and definitely no VC funding driving it. It is pure, unfiltered technical curiosity at its finest. We spend so much time optimizing enterprise microservices and building mundane pipelines that we forget software can just be deeply, wonderfully weird. So hats off to the engineers who refuse to accept sensible limits. So hats off to the engineers who refuse to accept sensible limits.






