Lukas Vogel created SQLDoom, a project that renders the classic game Doom using an SQL database. The system employs a small Python client for managing input, output, and game timing, while a CedarDB SQL database handles the game's geometry and state. Approximately 1,300 lines of SQL queries, spread across 89 common table expressions, implement the game's logic.
The SQL database generates 35 full-color 640x480 bitmap framebuffers per second. This approach represents an advancement over Vogel's earlier DoomQL project, which aimed to build a multiplayer Doom-like shooter entirely in SQL but resulted in raycasting-based, grayscale ASCII graphics. SQLDoom's output visually resembles the original Doom executable.
Converting Doom's WAD files into a relational database was straightforward due to the game's structured breakdown of levels into vertices, lines, and sectors. Binary-space partition trees were also adapted to SQL using a pre-computed sort_key for objects. This allows a simple 'ORDER BY' statement to determine visible wall segments, contributing to performance.
✨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors — check the original sources. How BrevFeed works →
One email each morning: the day's tech stories, clustered across outlets and summarized. No account needed.
One email a day. Unsubscribe in one click, any time.
Spend a few minutes, get the whole day. Every topic's top stories in one hands-free rundown — listen, watch, or read the transcript.
▶ Play today's briefNew every morning, and the back catalogue is archived by date.
Lukas Vogel developed SQLDoom, a project that renders full-color 640x480 frames of Doom using a CedarDB SQL database for game logic and state. This project improves upon his previous DoomQL, which only produced grayscale ASCII graphics, by leveraging SQL queries and table structures to manage game geometry and generate framebuffers.