AI注目記事のキュレーターページ

← 一覧へ戻る

重要度 中2026-07-13 22:34:41

SQLiteをゲームエンジンにしたDOOMQL

サマリー

DOOMQLはSQLiteをゲームエンジンとして利用した新しいゲームです。Pythonスクリプトを使用して実装され、SQLがゲームのすべての要素を管理します。Datasetteを使ってゲームの状態をリアルタイムで表示するアプリも作成可能です。

本文

Peter GostevがGPT-5.6 Solを使用して開発したDOOMQLは、非常に楽しいプロジェクトです。DOOMQLは、SQLiteが単なるデータストレージではなく、ゲームエンジンであるという非現実的な問いから始まりました。その結果、SQLが移動、衝突、敵、戦闘、進行、画面上のすべてのRGBピクセルを管理する小さなオリジナルのDOOM風ゲームが誕生しました。

このゲームはPythonのターミナルスクリプトとして実装されており、次の手順で試すことができます:

1. ターミナルで以下を実行します。
```
cd /tmp
git clone https://github.com/petergpt/doomql
cd doomql
uv run host/doomql.py
```

2. 上記のスクリプトを実行すると、/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
```

3. --with datasette-appsオプションを使用すると、SQLクエリをDatasetteインターフェース内で直接実行できるカスタムHTML+JavaScriptアプリを作成する新しいDatasette Appsプラグインがインストールされます。

私は新しいアプリを作成し、Claudeチャット(Fable 5)に次のように指示しました:
"画面の現在の状態を表示するアプリを作成してください。frame_pixelsビューのx、y、r、g、b列を使用し、1秒ごとに更新します。"

これにより、ゲームをターミナルでプレイしながら、現在の状態を反映するHTML+JavaScriptアプリがDatasette内に作成されました。その後、"ミニマップを追加"という指示を追加しました。

これで私のDatasetteアプリはこのようになりました。自分のDatasetteインスタンスにこのHTMLアプリコードを貼り付けて、試してみてください。

Contact us

ご質問・ご相談等ございましたらお気軽にご相談ください。

  • フォームでのご相談
    フォームでのご相談

    ホームページ制作、運用・更新における
    ご相談はお気軽にご連絡ください。

    お問い合わせ・ご相談
  • お電話でのお問い合わせ
    お電話でのお問い合わせ

    お電話でのご相談も随時受け付けております。
    見積依頼などもお気軽にご連絡ください。

    052-700-8712 平日 10:00~19:00