SQL-betriebener Doom-Klon: DuckDB-WASM für 3D-Rendering missbrauchen
Dieses Projekt erforscht die unkonventionelle Verwendung von DuckDB-WASM, einer browserbasierten analytischen Datenbank, um eine rudimentäre 3D-Spielengine zu bauen. Der Autor baute einen textbasierten Doom-Klon, bei dem der Spielzustand, einschließlich Karte, Spielerposition und Feinde, in DuckDB-Tabellen gespeichert wird. Spiellogik und Rendering werden mit SQL-Abfragen verarbeitet, wobei überraschenderweise Raycasting und 3D-Szenenrendering über rekursive CTEs erreicht werden. JavaScript fungiert als Orchestrator und verwaltet Eingaben, die Spielschleife und das Sprite-Rendering. Der Prozess beinhaltete die Bewältigung von Herausforderungen beim Laden von WASM, Nuancen des SQL-Dialekts, Problemen mit dem Abfrageplaner und asynchronen Wettlaufbedingungen. Das resultierende Spiel erreicht 6-7 FPS und demonstriert die überraschende Leistungsfähigkeit von SQL für unkonventionelle Aufgaben und die beeindruckende Leistung von DuckDB-WASM.
Mehr lesen