TL;DR
Get the latest gadgets delivered free — and shop member deals
- Fast, free delivery on millions of items
- Access to Prime Big Deal Days deals on October 6–7
- Prime Video, Amazon Music and more included
A CedarDB developer reports porting the original 1993 Doom’s game logic and renderer to SQL queries running inside a database. The game loop runs at 35 frames per second, and the project supports multiplayer deathmatch; Python handles input, timing and display.
A CedarDB developer has ported the game logic and renderer of the 1993 game Doom to SQL queries that run inside a database, according to a project report published September 22. The project, called SQLDoom, runs its game loop at 35 updates per second and supports deathmatch, demonstrating an unusual use of database queries for a complete game simulation.
The developer says the database holds the game state and runs both the logic that advances play and the renderer that produces the image. SQLDoom returns a 320-by-200 RGB frame buffer. The report says the renderer can provide frames at up to 60 Hz on the author’s laptop, while the game logic advances at Doom’s original 35 Hz pace.
A Python client handles keyboard input, schedules game updates and displays the returned bitmap. The report says those tasks are deliberately kept outside the database; game state, rules and rendering remain in SQL. The author also says the project supports multiplayer deathmatch with four player slots on EU and US servers, with a queue when seats are full.
The project uses data imported from Doom’s WAD files, which contain the game’s maps and assets. The author says importing the first Doom game takes about 18 seconds on their laptop and required roughly 1,000 lines of Python. The report describes the available game as the shareware version of the first episode.
A Database Runs the Game
SQLDoom is a practical demonstration of how far database queries can be pushed beyond storing and retrieving records. The project author says SQL performs both the simulation and image rendering, including the work needed for enemies, projectiles, pickups, animations and the heads-up display. That makes the project relevant to database developers as an experiment in representing and processing complex, changing state.
The report does not establish that SQL is a suitable replacement for conventional game engines. Instead, the significance is the implementation itself: Doom’s interlocking systems have been expressed through database operations while retaining a playable game loop, according to the author. Its deathmatch mode also means the project is more than a renderer that produces still images or a visual approximation.
gaming keyboard with customizable keys
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
From ASCII Doom to SQLDoom
The project follows DOOMQL, an earlier effort by the same developer. That version rendered an ASCII scene at about 30 frames per second, but the author said critics were right to describe it as closer to Wolfenstein 3D than Doom because it used ray casting. Doom uses binary space partitioning, or BSP, to order geometry for rendering.
For SQLDoom, the author set a higher target: it should look and feel like the original, with both the game loop and rendering implemented in SQL. The report says user-defined functions inside the database are allowed. Its client can be written in another language, provided it handles input, timing and displaying the output rather than game logic.
“The game loop runs at the original 35 FPS.”
— The SQLDoom developer
As an affiliate, we earn on qualifying purchases.
Performance Beyond One Laptop
The performance figures in the report are the developer’s account of tests on a laptop with an AMD Ryzen 7 7840U. The report does not provide independent benchmarks or comparable measurements across different database systems and hardware. It also does not specify the database configuration behind the reported frame rates.
The source describes multiplayer servers in Europe and the United States, but does not give details about network latency, server capacity beyond four player slots per game, or how often those servers are available. It is also unclear whether the project will be maintained or expanded beyond the shareware episode described in the report.
gaming mouse with programmable buttons
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
The developer’s report says readers can play SQLDoom on EU or US servers, subject to available seats and the queue. Players who cannot join a match can still query live game state through SQL, according to the report. The next useful evidence will be hands-on access and additional performance details: the article does not announce a release schedule, broader compatibility testing or plans for further development.
gaming headset with surround sound
As an affiliate, we earn on qualifying purchases.
As an affiliate, we earn on qualifying purchases.
Key Questions
What is SQLDoom?
It is a project that runs the original Doom’s game logic and renderer as SQL queries inside a database, according to its developer.Does the project run the complete game?
The report describes the shareware version of Doom’s first episode and says the project includes the game loop, rendering and deathmatch. It does not say that every version or episode is supported.What does Python do?
Python reads keyboard input, drives the game updates at 35 times per second and displays the bitmap returned by the database.Can people play against each other?
The developer says deathmatch is available on EU and US servers, with four slots and a queue when a match is full.How fast does SQLDoom run?
The developer reports a 35 Hz game loop and rendering of the full 320-by-200 frame buffer at up to 60 Hz on a laptop with an AMD Ryzen 7 7840U. Independent benchmarks are not included in the report.Source: hn
Halloween Picks
halloween
As an affiliate, we earn on qualifying purchases.
