Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsYes: SQLDoom runs the original 1993 Doom game logic and textured renderer inside CedarDB. The headline’s 5,900 lines refer to SQL game logic, according to creator Lukas Vogel—not the entire project. A Python client still reads player input, advances the game clock and displays the frames returned by the database.
What “Doom in SQL” means
SQLDoom is not just a database query that prints a Doom-like scene. Its repository describes a port of the original game, including WAD map data, BSP traversal, textures, game logic and rendering. The core game state is updated in database tables, and a SQL query pipeline produces the framebuffer. The project repository and Vogel’s write-up document that division of work.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
DOOM Eternal: Standard Edition - PlayStation 4 | $27.49 | Buy on Amazon |
| 2 |
|
DOOM: The Dark Ages – Xbox Series X | $39.99 | Buy on Amazon |
| 3 |
|
DOOM: The Dark Ages – PlayStation 5 | Buy on Amazon | |
| 4 |
|
Doom - Xbox One | $26.99 | Buy on Amazon |
| 5 |
|
DOOM + DOOM II (Limited Run Games #144) - for Playstation 5 | $44.48 | Buy on Amazon |
The client and database have distinct jobs:
- SQL in CedarDB: game logic, state updates and rendering.
- Python: reading input, driving the game clock and displaying the resulting bitmap.
So the project demonstrates that substantial game logic and rendering can be expressed in SQL; it does not mean that no code runs outside the database.
What the 5,900-line figure counts
Vogel says SQLDoom’s game logic is about 5,900 lines of SQL. He compares that with roughly 9,000 lines of the original Doom C source doing the same game-logic work. Those are the author’s figures for this comparison, not a general measure of how SQL and C implementations compare.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →#1 Best Overall
- Gain access to the latest demon-killing Tech with the DOOM Slayer's advanced praetor suit, including a shoulder-mounted flamethrower and the retractable wrist-mounted DOOM Blade
- Upgraded guns and mods, such as the Super shotgun's new distance-closing meat hook attachment, and abilities like the double Dash make you faster, stronger, and more versatile than ever
- You can't Kill demons when you're Dead, and you can't stay alive without resources. These tools are the key to your survival and becoming the ultimate demon-slayer
- A new class of (destructible) demon
- Battle mode is the new 2 versus 1 multiplayer experience built from the ground up at id software
The repository lists other substantial components: about 1,300 lines of Python for the WAD importer and about 1,300 lines of SQL for rendering, excluding comments, organized across 89 common table expressions (CTEs). The 5,900-line headline therefore should not be read as the total line count for every part of the project.
How the database runs a game
Game clock and state
The Python client triggers game tics at Doom’s original rate of 35 per second. Each tic advances the SQL-side game state. The client can request a rendered frame when needed; the game loop and frame rendering are decoupled rather than being one operation for every display refresh.
Rank #2
- Developed by id Software, DOOM: The Dark Ages is the prequel to the critically acclaimed DOOM (2016) and DOOM Eternal that tells the epic cinematic origin story of the DOOM Slayer’s rage.
- In this third installment of the modern DOOM series, players will step into the blood-stained boots of the DOOM Slayer, in this never-before-seen dark and sinister medieval war against Hell.
- A dark fantasy/sci-fi single-player experience that delivers the searing combat and over-the-top visuals of the incomparable DOOM franchise, powered by the latest idTech engine. With a customizable difficulty system, it’s the perfect entry point whether you’re new to the franchise or a long time fan.
- As the super weapon of gods and kings, shred enemies with devastating favorites like the Super Shotgun while also wielding a variety of new bone-chewing weapons, including the versatile Shield Saw.
- Experience the origin story of the DOOM Slayer’s rage in this epic, cinematic, and action-packed story.
Maps and rendering
A Python importer converts Doom WAD map data into database tables. Vogel describes the WAD format as relational in structure and reports that importing Doom 1 took about 18 seconds on his laptop. The renderer then uses SQL queries to process geometry and game state into a 320×200 framebuffer. The repository describes a textured renderer using BSP traversal, rather than the ASCII raycasting approach of the earlier DOOMQL experiment.
What performance has been reported
The project reports measurements from its author, not independent benchmark results. They depend on the hardware and scene:
Rank #3
- Developed by id Software, DOOM: The Dark Ages is the prequel to the critically acclaimed DOOM (2016) and DOOM Eternal that tells the epic cinematic origin story of the DOOM Slayer’s rage.
- In this third installment of the modern DOOM series, players will step into the blood-stained boots of the DOOM Slayer, in this never-before-seen dark and sinister medieval war against Hell.
- A dark fantasy/sci-fi single-player experience that delivers the searing combat and over-the-top visuals of the incomparable DOOM franchise, powered by the latest idTech engine. With a customizable difficulty system, it’s the perfect entry point whether you’re new to the franchise or a long time fan.
- As the super weapon of gods and kings, shred enemies with devastating favorites like the Super Shotgun while also wielding a variety of new bone-chewing weapons, including the versatile Shield Saw.
- Experience the origin story of the DOOM Slayer’s rage in this epic, cinematic, and action-packed story.
| Measure | Project-reported result |
|---|---|
| Game clock | 35 tics per second, retaining Doom’s original clock rate. |
| Average tic with six awake monsters | 2.15 ms, in the author’s measurements. |
| Tic in a described E4M1 scene with 46 awake monsters | 10.45 ms, in the author’s measurements. |
| Rendering on the author’s Ryzen 7 PRO 7840U laptop | Roughly 60 FPS, falling to 35 FPS in very busy scenes. |
These figures describe reported tests on particular scenes and hardware; they are not performance guarantees for other machines or installations.
What you need to try SQLDoom
The published repository requires CedarDB Community Edition because SQLDoom uses CedarDB’s cedarscript functions. The README says a port to plpgsql may be possible, but does not claim the current code runs unchanged on PostgreSQL.
Rank #4
- A Relentless Campaign: There is no taking cover or stopping to regenerate health as you beat back Hell's raging demon hordes
- Return of id Multiplayer: Dominate your opponents in DOOM's signature, fast-paced arena-style combat
- Near-Limitless Gameplay: Doom SnapMap – A Powerful, but Easy-to-Use Game and Level Editor That Allows for Limitless Gameplay Experiences on Every Platform
- Entertainment Software Rating Board (ESRB) Content Description: Blood and gore, intense violence, strong language
- Set up CedarDB Community Edition and the Python dependencies
psycopg2andpygame, as described in the SQLDoom repository. - Provide a Doom IWAD separately. The repository does not include WAD files; it says the shareware
doom1.wadis sufficient for episode one, while retail WADs work if you own them. - Follow the repository’s setup instructions to import the WAD and run the Python client against CedarDB.
SQLDoom’s code is licensed under GPL version 2 or later. That software license is separate from the terms governing Doom’s game data: the project does not bundle the WAD, and users need to obtain data they are entitled to use.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.SQLDoom versus DOOMQL
SQLDoom and DOOMQL are related experiments, but they are not the same implementation. DOOMQL, the earlier project identified by Vogel, is a multiplayer Doom-like game with raycasting and ASCII presentation. SQLDoom instead targets the original Doom’s game logic and textured BSP renderer. The DOOMQL repository documents that predecessor.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Best Value
- DOOM + DOOM II on a region-free physical disc.
- Includes: DOOM, DOOM II, TNT: Evilution, The Plutonia Experiment, Master Levels for DOOM II, No Rest for the Living, Sigil & Sigil II, Legacy of Rust (a new episode created in collaboration by id Software, Nightdive Studios and MachineGames).
- A new Deathmatch map pack featuring 25 maps
- Total of 187 mission maps and 43 deathmatch maps in DOOM + DOOM II
- # of Players: Single System 1-4, Local wireless 1-8, Online 1-16
Vogel’s reaction to the work was: “To be honest, I was surprised how easy it is to express pretty complicated game logic in SQL.” That is the author’s observation about this project, not a claim that SQL is generally the best tool for game development.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.



