TL;DR
Get games and gaming gear 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 that the original 1993 Doom’s game logic and renderer now run as SQL queries inside a database. The game loop runs at 35 ticks per second, the renderer can return frames at up to 60 Hz on the developer’s laptop, and four-player deathmatch is available on EU and US servers.
A CedarDB developer has published SQLDoom, a port of the original 1993 Doom in which game logic and rendering run inside a database as SQL. The developer says its game loop runs at the original 35 ticks per second, the renderer can produce frames at up to 60 Hz on a laptop, and four-player deathmatch is available through EU and US servers.
The project separates the database work from its small Python client. According to the developer, SQL stores the game state, processes the game logic and generates the rendered frame. Python uses Pygame to read keyboard input, trigger a game tick and display the bitmap returned by the database. The renderer and game loop are separate: game logic runs at a fixed 35 Hz, while the client can request frames more often.
The developer says the port handles more than a static view of the game. Its logic covers movement, turning and firing, alongside enemy actions, pickups, moving projectiles and rocket blast effects. The report also describes animations, view bobbing and the heads-up display. The stated rendering output is a complete 320-by-200 frame buffer, with performance of up to 60 frames per second on the developer’s laptop; that figure is a reported result for that setup, not a guarantee for other systems.
SQLDoom uses data imported from Doom’s WAD files. The developer says importing the Doom 1 data takes about 18 seconds on their laptop, using roughly 1,000 lines of Python for the import process. The playable build is the shareware version of the first episode. The report offers four-player deathmatch on servers in Europe and the United States, with a queue when all player slots are occupied. Players waiting in a full queue can still inspect live game state through SQL, according to the project page.
A Database Runs More Than the Renderer
SQLDoom is a demonstration of how far database queries can be pushed beyond ordinary data storage and retrieval. The project places both the game simulation and frame generation in SQL, rather than using SQL only to store levels or player records. That makes it a technical experiment in expressing a real-time application’s changing state and visual output through database operations.
The practical significance is the boundary it tests, not evidence that databases are a better general-purpose game engine. The developer’s report describes a working port and multiplayer, but does not establish that this approach is more efficient or suitable for commercial game production. For readers, the concrete result is a playable demonstration of the original game’s systems running through an unconventional architecture.
As an affiliate, we earn on qualifying purchases.
From ASCII Prototype to Doom
The project follows the developer’s earlier experiment, DOOMQL, which rendered an ASCII view at about 30 frames per second. The developer says that version used raycasting and was closer to Wolfenstein 3D than to Doom’s rendering approach. The new project was intended to reproduce the original game more faithfully, including its use of binary space partitioning (BSP) trees to order geometry for rendering.
The developer sets out two central requirements: the result should both look and feel like Doom, and the rendering and game loop should be SQL-based. A separate-language client is permitted for input, timing and displaying the returned image. The report says Doom’s WAD level data is relational enough to load into database tables, including vertices, linedefs, sidedefs, sectors and map objects. This structure provides the data the SQL queries use to represent and render the levels.
“The original Doom’s game logic and renderer, both implemented as SQL queries.”
— CedarDB developer, in the SQLDoom report
As an affiliate, we earn on qualifying purchases.
Performance and Portability Limits
The report gives performance figures for the developer’s laptop but does not provide a detailed independent benchmark, hardware comparison or broader test results. It identifies the machine used in an accompanying demonstration as an AMD Ryzen 7 7840U, but does not establish how performance changes on other processors, database configurations or concurrent workloads.
The published account also does not fully document the port’s coverage against the original game, including whether every level and gameplay feature is implemented. It identifies the available build as the shareware first episode and says four-player deathmatch works, but does not give details about network latency, server capacity or the multiplayer implementation. Those points remain unverified beyond the developer’s report.
As an affiliate, we earn on qualifying purchases.
The immediate next step for readers is to try the version the developer has made available through the EU and US deathmatch servers. The report says each match has four player slots, with a queue once they are taken. It does not announce a release schedule for additional episodes, expanded server capacity or a broader software release.
Further performance measurements and technical documentation would help clarify how the SQL implementation behaves beyond the developer’s laptop and hosted demonstration. Until then, the published project stands as a developer-reported port of the first episode’s shareware version, with working multiplayer and the core game loop and renderer assigned to SQL.
As an affiliate, we earn on qualifying purchases.
Key Questions
What is SQLDoom?
SQLDoom 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 entire program run in SQL?
No. The developer says the game state, game logic and renderer run in the database, while a Python and Pygame client reads keyboard input, triggers game ticks and displays the returned bitmap.
How fast does it run?
The developer reports a fixed 35-tick-per-second game loop and rendering of up to 60 frames per second on a laptop. The report does not provide benchmark results for other hardware.
Can people play it online?
The developer says four-player deathmatch is available on EU and US servers. The build uses Doom’s shareware first episode, and players may have to queue if all slots are taken.
Is every Doom level included?
The report identifies the playable version as the shareware version of the first episode. It does not confirm that the full original game or every feature has been ported.
Source: hn
Halloween Picks
halloween
As an affiliate, we earn on qualifying purchases.
