要点

開発者のLukas Vogel氏は、パフォーマンス重視のPostgres互換リレーショナルデータベース管理システム「CedarDB」内で1993年のゲーム『DOOM』を動作させるプロジェクト「SQLDoom」を開発しました。フロントエンドはPythonを介してグラフィック、サウンド、入力を処理する周辺機器として機能し、すべての数学的計算はデータベース内で行われます。

このプロジェクトの変換には、コアとなるゲームプレイ・ループに5,900行のSQL、グラフィックレンダラーに1,300行のコードが必要で、89個の異なるテーブルにまたがっています。Vogel氏は、『DOOM』のパッケージファイル内のデータは非常にリレーショナルであり、マップレベルを単純なデータベーステーブルに簡単に複製できると指摘しました。

Vogel氏は、SQLが反復ループを並列実行される単一のUPDATE文に置き換えることで様々な操作を簡素化することを発見しましたが、床と天井のレンダラーはフラッドフィルアルゴリズムに依存しているため、きれいにマッピングできなかったと述べています。

マルチプレイヤー機能はデータベース環境の恩恵を受けており、トランザクションコマンドがテーブル間で自動的に状態を同期します。興味のあるユーザーは、GitHubリポジトリからSQLDoomをダウンロードまたは探索するか、Vogel氏のブログ記事を読むことができます。

詳しい内容は原文をご確認ください。