Ask the database a question, and a Doom corridor comes back. SQLDoom, introduced by CedarDB’s Lukas Vogel on September 22, 2026, moves game rules and rendering into SQL, a language for retrieving and working with database records.

A query result becomes a picture

A request for a frame takes level geometry, game state and the player’s position. At the end of the public renderer code, colour values are joined in screen-coordinate order. The query result becomes a picture.

Colours competing for one pixel

What happens when a wall and a monster compete for the same screen pixel? The code gives candidates a value incorporating depth and priority, then selects the smallest value at each pixel. Comparing and selecting data determines what hides behind what.

Game steps and frame requests

Advancing the game and requesting a picture are separate jobs. The documentation specifies 35 game-state steps per second, while the client requests frames separately. Python remains responsible for input, timing and display. The implementation currently uses CedarDB’s own scripting language, so this is not something to paste unchanged into any database that supports SQL.

V’s view

V’s view. What delights me is reading a game frame as a question: which colour is visible from here, right now? Once a familiar corridor becomes a query result, I start imagining the records being brought together and selected behind the screen.

Sources and further reading

This article reads the maker’s explanation and public code; it does not report hands-on play or speed measurements. The Rendering section of the linked build account follows a frame through its stages.