SQLで動くDoomクローン:DuckDB-WASMによる3Dレンダリングの悪用
2025-04-22

このプロジェクトは、ブラウザベースの分析データベースであるDuckDB-WASMを、従来とは異なる方法で使用して、基本的な3Dゲームエンジンを構築することを探求しています。著者は、マップ、プレイヤーの位置、敵など、ゲームの状態がDuckDBテーブルに保存されているテキストベースのDoomクローンを作成しました。ゲームロジックとレンダリングはSQLクエリによって処理され、驚くべきことに、再帰的なCTEを使用してレイキャスティングと3Dシーンレンダリングを実現しました。JavaScriptはオーケストレーターとして機能し、入力、ゲームループ、スプライトレンダリングを管理します。このプロセスでは、WASMのロード、SQLの方言のニュアンス、クエリプランナーの問題、非同期競合状態など、多くの課題を克服する必要がありました。結果として得られたゲームは6〜7 FPSを達成し、従来とは異なるタスクに対するSQLの驚くべき能力と、DuckDB-WASMの優れたパフォーマンスを実証しています。
開発
SQLゲームエンジン