SQLDoom renders Doom in full color using an SQL database
Lukas Vogel's SQLDoom uses a Python client and about 1,300 lines of SQL to generate 35 full-color 640x480 frames per second.
Lukas Vogel has detailed SQLDoom, a project that renders Doom in full color using an SQL database. A small Python client handles input and output, drives the game's timing, and displays each frame to the screen, while CedarDB tables track the game geometry and state.
The game logic and frame generation are implemented in about 1,300 lines of SQL queries spread across 89 common table expressions. According to Vogel, this setup generates 35 bitmap framebuffers per second, each a full-color 640x480 frame.
Vogel wrote a lengthy blog post explaining how he rendered Doom using an SQL database, as reported by arstechnica.com.
Background
Last year, Vogel's previous DoomQL project set out to build a multiplayer Doom-like shooter entirely in SQL, but ended up with raycasting-based, grayscale ASCII graphics akin to Wolfenstein 3D's 90-degree-angled maps.
Quick answers
What is SQLDoom?
SQLDoom is a project by Lukas Vogel that renders Doom in full color using an SQL database, with a Python client handling input, output, timing, and display.
How does SQLDoom generate frames?
It uses about 1,300 lines of SQL queries across 89 common table expressions to generate 35 bitmap framebuffers per second, each a full-color 640x480 frame.
What was Vogel's previous project?
Last year, Vogel's DoomQL project aimed to build a multiplayer Doom-like shooter entirely in SQL, but produced raycasting-based, grayscale ASCII graphics similar to Wolfenstein 3D's 90-degree-angled maps.