Developer Runs Doom Inside an SQL Database With CedarDB
Developer Lukas Vogel has built SQLDoom, a Doom-style game running inside a CedarDB SQL database, with a Python client handling input, timing, and display.
Vogel writes that "Rendering Doom in a database is obviously a bad idea," though the project demonstrates that it can be done. The output is full-color 640x480 frames that the report says look like they could have come from the original Doom executable. SQLDoom is a major improvement over Vogel's previous DoomQL project, which last year set out to build "a multiplayer Doom-like shooter entirely in SQL."
That earlier effort ended up with raycasting-based, grayscale ASCII graphics, more akin to the simplistic 90-degree-angled maps of Wolfenstein 3D. The newer SQLDoom instead produces bitmap framebuffers at 35 frames per second, with the database handling game logic and state. The Python client remains responsible for input, timing, and presenting each frame to the screen.
According to the report, users who want to run a Doomtabase on their own local machine can do so with the GitHub code, a copy of CedarDB, and a Doom WAD file. A free online hosted demo match is also available for testing the project without the setup. The report did not provide details about performance beyond the 35 frames per second or about compatibility with different Doom WAD files.
Editor's Summary
Lukas Vogel has built SQLDoom, a project that runs a Doom-style game through CedarDB and about 1,300 lines of SQL, with a Python client handling input, timing, and display. The project produces full-color 640x480 frames at 35 frames per second and improves on his earlier DoomQL effort. The code is available on GitHub, and a free hosted demo allows users to try it without setting up the database locally.