DOOMQL:SQLite をゲームエンジンとして活用した実験的プロジェクト
本文の状態
日本語全文を表示中
詳細モードで約2分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Simon Willison Blog
Peter Gostev は、データ保存場所ではなくゲームエンジンそのものとして SQLite を機能させる「DOOMQL」を開発し、移動や衝突判定、描画までを SQL で制御する実験を行った。
AI深層分析を開く2026年8月6日 12:41
AI深層分析
キーポイント
SQLite をゲームエンジンとして再定義
Peter Gostev は、データ保存場所ではなくゲームエンジンそのものとして SQLite を機能させる「DOOMQL」を開発し、移動や衝突判定、描画までを SQL で制御する実験を行った。
SQL によるリアルタイムレンダリングの実現
再帰的 CTE(Common Table Expression)を用いた大規模な SQL クエリにより、SQLite 上でフル機能のレイトレーシングを実行し、テキストモードでドーム風のゲームを描画している。
AI ツールによる動的アプリ生成
Simon Willison は Datasette のインターフェース内で Claude chat (Fable 5) を使用し、現在の画面状態を表示する HTML+JavaScript アプリやミニマップ機能を即座に生成させた。
SQLクエリから描画されるDoom風ゲーム
このアプリはSQLクエリからフレームデータや tactial map を取得し、リアルタイムでレトロなドームスタイルのゲームをレンダリングする。
Datasette環境での実行方法
提供されたHTMLコードをDatasetteインスタンスに貼り付けることで、`uvx --with datasette-apps`レシピを使用して試すことができる。
重要な引用
DOOMQL started with a deliberately unreasonable question: what if SQLite were the game engine, not merely the place where a game stores data?
The result is a small, original Doom-like game in which SQL owns movement, collision, enemies, combat, progression and every RGB pixel on screen.
Here's the huge SQL query that implements a full ray tracer in SQLite using a recursive CTE.
auto-refreshing once a second · frame and tactical map straight from SQL
編集コメントを表示
編集コメント
このプロジェクトは、データベース技術の境界を拡張するユニークな試みであり、AI ツールが複雑なシステム構築をいかに迅速に支援できるかを如実に示している。ただし、これはあくまで実験的なプロトタイプであり、実用ゲームエンジンとしての性能や安定性については別評価が必要である。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
DOOMQL
Peter Gostev 氏が GPT-5.6 Sol を活用して開発したこのプロジェクトは、非常に面白いです。
DOOMQL は「SQLite が単なるゲームデータの保存場所ではなく、ゲームエンジンそのものになったらどうなるか」というあえて不合理な問いから始まりました。
その結果生まれたのは、移動、衝突判定、敵の挙動、戦闘システム、進行状況、そして画面に表示されるすべての RGB ピクセルに至るまでを SQL が完全に支配する、小規模ながらオリジナル性の高いドーム(Doom)風ゲームです。
これは Python のターミナルスクリプトとして実装されています。実際に動かした手順は以下の通りです。
cd /tmp
git clone https://github.com/petergpt/doomql
cd doomql
uv run host/doomql.py

ここでは、再帰的 CTE(共通テーブル式)を活用して SQLite 内で完全なレイトレーシングを実装している 大規模な SQL クエリ を紹介します。
上記のスクリプトを実行すると、/tmp/doomql/.doomql/doomql.sqlite に SQLite データベースが作成されます。これを Datasette で探索するには、以下のようにコマンドを叩きます。
uvx --prerelease=allow --with datasette-apps datasette \
/tmp/doomql/.doomql/doomql.sqlite \
-p 4444 --root --secret 1 --internal internal.db
--with datasette-apps オプションは、Datasette のインターフェース内で直接 SQL クエリを実行できるカスタム HTML+JavaScript アプリを作成可能にする新機能 Datasette Apps プラグインをインストールします。
私はこのアプリを新規作成し、コピー&ペーストしたプロンプトを Claude chat(Fable 5)に貼り付けて 指示しました:
画面の現在の状態を、frame_pixels ビュー(x, y, r, g, b カラムを含む)を使って表示するアプリを作成します。更新は 1 秒ごとに自動で行います。
これで、ターミナルでゲームをプレイしている最中に、その状態をリアルタイムで反映できる HTML+JavaScript アプリが Datasette 上で動くようになりました。さらに、ミニマップも追加しました。
完成した Datasette アプリの画面は以下の通りです:

アプリの HTML コードはこちら こちら です。上記で説明した uvx --with datasette-apps のレシピを使ってご自身の Datasette インスタンスに貼り付ければ、すぐに試すことができます。
Via @petergostev
Tags: games, sql, sqlite, ai, datasette, generative-ai, llms, ai-assisted-programming, gpt, datasette-apps
AI算出
技術分析ainew評価標準
AI コーディングエージェント(GPT-5.6 Sol)を活用して独自の実験的プロジェクトを開発・実証した事例であり、技術的な深みと新規性が高い。ただし、対象は特定の個人による実験的プロジェクトであり、日本市場への直接的な影響や適用可能性は限定的である。
6つの評価軸を見る
- AI関連度
- 75
- 情報源の信頼性
- 75
- 新規性
- 75
- 調べる価値
- 75
- 重複の少なさ
- 100
- 日本での有用性
- 25
関連記事
News to Guide
ニュースの次に確認する
発表内容を、現在の料金や仕様と照らし合わせられる関連ガイドです。
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み