オリジナルDoomをSQLで動かした

原題: We ported the original Doom to SQL

なぜ重要か

SQLでリアルタイムゲームを動かすという技術的な証明は、CedarDBのクエリエンジンの処理能力と低レイテンシ性能を示す実演として機能する。

データベース企業CedarDBは2026年9月22日、1993年発売のゲーム「Doom」のゲームロジックとレンダラーをSQLクエリとして完全に移植したプロジェクト「SQLDoom」を公開した。ゲームループはオリジナルと同じ毎秒35フレームで動作し、320×200ピクセルのフレームバッファをAMD Ryzen 7 7840Uで最大60Hzで生成。4人同時のデスマッチにも対応する。

CedarDBのエンジニア、Lukas Vogelが手がけた「SQLDoom」は、ゲームのAI・物理・ステート管理を含むゲームループと、BSPツリーを使ったレンダラーをすべてSQLクエリとして実装したプロジェクトだ。外部言語であるPythonの役割はキーボード入力の読み取り、タイミング制御、データベースから返ってきたビットマップの表示のみに限定されている。

Vogelは昨年、ASCII描画に近い「DOOMQL」を公開したが、レイキャスティングを使っていたためDoomよりWolfenstein 3Dに近いという指摘を受けていた。今回はDoomが本来採用するBSPツリーによる深度ソートを正しくSQL上で再現し、テクスチャ付き壁や任意の角度の壁、床高の変化にも対応した。

ゲームループはPythonが1秒間に35回SQLへリクエストを送ることで駆動する。レンダリングはBSP traversal、壁面とVisplaneの描画を別々のSQLクエリとして分離して処理する。

公開されているデモサーバーではDoomのシェアウェア版(エピソード1)をブラウザ経由でプレイでき、EUとUSにそれぞれ4席が用意されている。席が満席の場合でも、待機しながらSQLクエリでライブゲーム状態を直接参照できる点は、データベース製品のデモとして意図的に設計されている。

CedarDBはこのプロジェクトを通じ、「すべてがデータである」というデータベース設計思想を示すとともに、ゲーム状態をデータベース上で一元管理することでマルチプレイヤー機能がほぼ追加コストなく実現できると説明している。

出典

cedardb.com — 元記事を読む →