Kürzlich hat ein Programmierer „reines SQL“ verwendet, um ein „Doom“ ähnliches Multiplayer-Ego-Shooter-Spiel namens DOOMQL zu erstellen.Das Spiel ist mit nur etwa 150 Zeilen Python-Code implementiert. Obwohl es Einschränkungen in der Softwarearchitektur gibt, ist der Laufeffekt überraschend und die Bildrate kann etwa 30 FPS erreichen.
DOOMQL wurde von Patrick Trainers DuckDB-DOOM-Projekt inspiriert, das ebenfalls versuchte, mithilfe von SQL ein Spiel ähnlich wie „Doom“ zu erstellen, jedoch JavaScript für das Rendering und die Eingabeverarbeitung verwendete.

Im Gegensatz dazu implementiert DOOMQL ein echtes „reines SQL“-Spiel, das nicht nur den Mehrspielermodus unterstützt, sondern auch SQL für das Rendering und die Eingabe verwendet, mit einer Auflösung von bis zu 128 x 64 Pixeln.
Entwickler Lukas Vogel sagte, dass sich die Verwendung von JavaScript in DuckDB-DOOM „wie Betrug anfühlt“ und dass seine eigene Arbeit auch leistungsstärker sei, mit einer Framerate, die viel höher sei als die 8 FPS von DuckDB-DOOM.
Vogel, der auch Mitbegründer des Datenbankleistungsunternehmens CedarDB ist, hat die Entwicklung von DOOMQL während eines Monats Elternzeit abgeschlossen.
Die Architektur des Spiels ist einfach und clever: Der Status wird in Datenbanktabellen gespeichert und das Rendering implementiert Raycasting und Sprite-Projektion über SQL-Ansichten.Die Spielschleife wird von einem kleinen Shell-Skript gesteuert, das die SQL-Datei etwa 30 Mal pro Sekunde ausführt, während der Client aus etwa 150 Zeilen Python-Code besteht, der für die Eingabeabfrage und die Abfrage der Datenbank für die 3D-Ansicht verantwortlich ist.
Derzeit ist der Code von DOOMQL Open Source auf GitHub und Spieler können Docker und Python verwenden, um das Spiel lokal auszuführen. Vogel plant, das Spiel in Zukunft zu verbessern, unter anderem durch das Hinzufügen von Power-Ups und verschiedenen Waffen, die Optimierung des Sprite-Detaillierungssystems, die Verbesserung des Clients und das Hinzufügen von KI-Gegnern.
