SQL-Powered DOOM-Like Game Mongopolizer Unveiled

In a recent development project, CedarDB presented the creation of DOOMQL, a version of the classic DOOM game written entirely in SQL. This project is designed to run within the CedarDB DBMS and is partially compatible with PostgreSQL. DOOMQL supports multiplayer mode and utilizes ASCII graphics for gameplay. The project’s code is open-source under the MIT license, and can be found on GitHub here.

All aspects of the game, such as rendering, player synchronization, and game mechanics, are implemented using SQL. This sets DOOMQL apart from similar projects like DuckDB-DOOM and pg_doom, which use different technologies for game development. DOOMQL utilizes tables, views, and stored procedures for game logic.

The development of DOOMQL follows the concept of “Everything is data”, where game states, player movements, events, and settings are stored in tables. The game cycle, responsible for updating the game state, is executed using a shell script and includes logic for player interactions and game mechanics.

DOOMQL also features 3D rendering capabilities, allowing for ray tracing, object processing, and HUD interfaces. Multiple players can connect to the game simultaneously, with state synchronization managed through SQL tables and views.

On the user side, a Python client is utilized with minimal code to transfer keystrokes and display information on the terminal. Rendering is done through periodic Select queries, dynamically updating the game screen based on player inputs and game events.

/Reports, release notes, official announcements.