Zum Hauptinhalt Zur Navigation Zur Suche

Datenbank: Doom läuft auch in SQL

Doom ist das wohl meistportierte Spiel. Ein Entwickler zeigt eine Variante für SQL-Datenbanken – Sqldoom läuft flüssig auf einem Laptop.
/ Johannes Hiltscher
1 Kommentare Auf Google folgen (öffnet im neuen Fenster)
Sqldoom sieht aus wie das Original-Doom, wird aber über eine SQL-Datenbank berechnet. (Bild: Cedardb/Screenshot: Golem.de)
Sqldoom sieht aus wie das Original-Doom, wird aber über eine SQL-Datenbank berechnet. Bild: Cedardb/Screenshot: Golem.de

Der Shooter-Klassiker Doom ist dafür bekannt, auf praktisch jede Turing-vollständige(öffnet im neuen Fenster) Plattform portiert zu werden. Zu den eher unerwarteten Plattformen zählen PDF-Renderer und seit neuestem die SQL-Datenbank Cedardb. Deren Entwickler nutzen ihre Datenbank, um Rendering und Spiellogik von id-Softwares Klassiker abzubilden.

Entwickler Lukas Vogel beschreibt Sqldoom, wie die Portierung genannt wurde, in einem umfangreichen Blogpost(öffnet im neuen Fenster). Ganz autark ist Sqldoom dabei nicht: Ein Python-Script liefert die Eingaben, gibt die gerenderten Bilder aus und stößt die Erzeugung der einzelnen Frames an. Änderungen des Spielzustands, die Gegner-KI sowie das Rendern der Bilder erfolgen hingegen ausschließlich über die Datenbank, wobei aber nutzerdefinierte Funktionen zulässig sind.

Der komplette Code dafür umfasst rund 5.900 Zeilen – weniger als die 9.000 Zeilen C-Code des Originals, wie Entwickler Vogel anmerkt. Das Kartenformat sei dabei am leichtesten abzubilden gewesen, da es bereits eine stark relationale Struktur aufweist. Beim Rendering hingegen gelang es Vogel nicht, den Doom-Algorithmus umzusetzen, weshalb er hier auf einen Brute-Force-Ansatz zurückgriff.

Stabil 35 FPS auf einem Laptop

Einen Nachteil haben Portierungen auf exotische Plattformen: Sie sind deutlich weniger performant. Sqldoom ist da keine Ausnahme, läuft aber nach Angabe Vogels je nach Komplexität der Szene mit 35 bis 60 FPS auf einem Laptop mit Ryzen 7 PRO 7840U(öffnet im neuen Fenster) (8 Zen4-Kerne).

Sqldoom ist bereits Vogels zweites Spiel, das durch eine SQL-Datenbank gerendert wird. Seinen ersten, 2025 vorgestellten Anlauf, Doomql(öffnet im neuen Fenster), bezeichnet er mittlerweile selbst als beschämend. Der renderte lediglich Ascii-Art, während Sqldoom identisch zum Vorbild ist. Als Vorteile der SQL-Implementierung nennt Vogel, dass Modifikationen sehr einfach seien, da die Datenbankwerte selbst im Spiel schnell und leicht geändert werden können. Auch lasse sich ein Multiplayer-Modus praktisch ohne zusätzlichen Aufwand implementieren.

Den können Interessierte ausprobieren – Cedardb stellt dafür einen Deathmatch-Server bereit(öffnet im neuen Fenster).


Relevante Themen