X

新時代のAIアドベンチャーゲーム制作してみた

おーら
暇に任せて面白いものができたのでご紹介します。まだプロトタイプの段階でデバッグもほとんどしていませんが、今後のゲーム制作の指針になりそうです。内容は、AIを使って毎回シナリオが変わる古典的な一本道のフラグ回収型アドベンチャーゲームです。名づけるなら「ローグライクアドベンチャーゲーム」という新ジャンルです。やや高めのPCスペックが必要になりますが、インストール方法についても記載しました。但しとりあえず動作しているだけでゲームとして成立させるためにはさらにチューニングが必要だと考えます。GitHubに登録しても良かったのですがアップデートする気がないのでやめておきました。あとシナリオフラグはjsonよりベクトルDBを使い、LLMは120BではなくChatGPT5を使えば本格派ローグライクアドベンチャーが作れそうです。

🎮 AI推理アドベンチャーゲーム システム

完全AI生成による次世代アドベンチャーゲーム

🌟 システムの特徴

このゲームスクリプトは、シナリオ作成とシーン作成とプレイの管理全てをAIが担当する革新的なアドベンチャーゲームシステムです。


🧠 核心技術:完全AI駆動のゲーム生成

1. LM Studio + OpenAI API による動的シナリオ生成

  • 初期シナリオ作成:AIが推理小説レベルの本格的なシナリオを自動生成
  • JSON形式でのデータ構造化:シーン、イベント、フラグ条件を体系的に管理
  • 一本道フラグ回収システム:プレイヤーが特定の条件を満たすことで物語が進行

2. Stable Diffusion による完全自動画像生成

  • シーン背景画像:AIが生成したシナリオの各場面を視覚化
  • キャラクター画像:主人公探偵などの登場人物を自動作成
  • 合成画像:背景とキャラクターを組み合わせた完成画像を生成

🎯 革新的なゲームプレイ体験

自然言語による自由度の高いプレイ

  • プレイヤーは日本語で自由に行動を入力(「部屋を調べる」「証拠を探す」等)
  • OpenAI APIが入力内容を解析し、適切なゲームイベントに自動変換
  • 事前に生成されたフラグシステムと照合し、条件達成をリアルタイム判定

動的物語生成システム

  • 各ターンでAIがその場で状況説明とストーリーを生成
  • プレイヤーの行動に応じてパーソナライズされた物語展開
  • フラグ回収状況に基づく自然なシーン進行とエンディング分岐

⚙️ 技術的な革新ポイント

1. 完全自動ゲーム制作パイプライン

シナリオ生成 → 画像生成 → ゲームデータ統合 → プレイ可能状態

従来: 人間がシナリオ・画像・プログラムを個別作成
本システム: AIが全工程を自動化、数分でゲーム完成

2. リアルタイムAIゲームマスター

  • 状況判断: プレイヤー行動の意図を正確に理解
  • 進行管理: フラグ条件と照合し適切な反応を生成
  • 物語創作: 毎ターン新鮮な描写と展開を創造

3. 高度なメモリ・VRAM最適化

  • GPU使用量: 6GB以内で高品質画像生成
  • 並行処理: LM StudioとStable Diffusionの効率的な使い分け
  • キャッシュ管理: 生成済み素材の再利用によるパフォーマンス向上

🎮 実際のプレイ体験

プレイヤー視点での魅力

  1. 毎回異なるシナリオ:AIが生成するため同じゲームは二度とない
  2. 直感的な操作:複雑なコマンドを覚える必要がない
  3. 美しいビジュアル:プロレベルのアニメ調イラストが自動生成
  4. 没入感のある物語:AIが紡ぐ一貫性のあるストーリー展開

開発者視点での価値

  • ゲーム制作の民主化:プログラミング知識なしでもADVゲーム制作可能
  • コンテンツの無限生成:AIにより無数のシナリオが作成可能
  • 開発時間の劇的短縮:従来数ヶ月の作業が数分で完了

🚀 次世代ゲーム開発への示唆

このシステムが示す未来:

  • AIがゲームクリエイターとして機能する時代の到来
  • プレイヤー一人一人に最適化されたパーソナルゲーム体験
  • 人間の創造性とAIの生成能力の理想的な融合

技術的意義:

  • LLMとStable Diffusionの実用的な統合事例
  • 自然言語処理によるゲームインターフェースの新形態
  • AIによるインタラクティブコンテンツ生成の実証

プレイ画面


🎮 インストールマニュアル

⚠️ 重要な免責事項

このソフトウェアはプロトタイプ(試作品)です。以下の点をご理解の上でご使用ください:

  • 本ソフトウェアは実験的・研究目的で開発されたプロトタイプです
  • 動作の安定性や完全性は保証されません
  • 使用によって生じるいかなる損害・データ損失・システム障害等について、開発者は一切の責任を負いません
  • 商用利用や重要なデータが存在する環境での使用は推奨されません
  • 大容量のモデルファイルダウンロードにより、通信費用やストレージ容量の消費が発生します
  • 高負荷処理によるハードウェアへの影響(過熱、電力消費等)にご注意ください

本ソフトウェアの使用は完全に自己責任となります。上記に同意できない場合は使用を控えてください。

📋 システム要件

推奨環境(プロトタイプ検証済み)

  • OS: Windows 11
  • RAM: 80GB
  • GPU: RTX 4070 (VRAM 12GB)
  • 言語生成モデル: GTP-OSS 120B

最小動作環境

  • OS: Windows 10/11
  • RAM: 32GB
  • GPU: RTX 3060以上 (VRAM 8GB以上)
  • 言語生成モデル: GTP-20Bクラス

💡 注意: 言語生成モデルをGTP-20Bやgemma-3-12bクラスに下げることで、RAM32GBでも十分稼働可能ですが、LM Studioのモデル設定で言語モデルは敢えてRAMにロードさせてstable diffusion をVRAMで稼働させる工夫が必要です。少しスクリプトを修正すればオンラインのChatGPTのAPIで使うことも可能でしょう。


🔧 インストール手順

Step 1: LM Studio のセットアップ

    1. LM Studio のインストール
    2. 言語モデルのダウンロード
      • LM Studio を起動
      • 🔍虫眼鏡アイコンをクリックしてモデル検索画面を開く
      • 以下のいずれかを検索してダウンロード:
        • 推奨: openai/gpt-oss-120b (高性能・要80GB RAM)
        • 軽量版: openai/gpt-oss-20b (32GB RAMで動作)
        • その他: 任意のGPT互換モデル

ゲームシナリオ生成のためContext Lengthは10000以上にして、

gpt-oss-120b稼働のコツは西川さんの記事を参考にしてください。

  1. モデル名の確認
    • ダウンロードしたモデル名をメモしてください
    • 後でスクリプトに設定します

Step 2: Python環境の構築

  1. 作業ディレクトリの作成
mkdir ai-adventure-game
cd ai-adventure-game
  1. Python仮想環境の作成
python -m venv venv
venv\Scripts\activate  # Windows
# source venv/bin/activate  # Linux/Mac
  1. 必要なモジュールのインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install diffusers transformers accelerate
pip install pillow requests json5
pip install safetensors

環境によって足りないモジュールがある可能性がありますので、エラーが出たら都度pip installしてください。ChatGPTにエラーを貼り付ければ何が足りないかとどんなインストールをすればいいか教えてくれます。

Step 3: ゲームファイルの配置

  1. スクリプトファイルの配置
    • advgame.py を作業ディレクトリにコピー
    • prompts.json を作業ディレクトリにコピー

    ダウンロードするZIP形式のスクリプト advgame

    モデル設定の変更(必要に応じて)

advgame.py の以下の部分を編集:

# ====== 設定 ======
LMSTUDIO_BASE_URL = "http://127.0.0.1:1234/v1"
LMSTUDIO_MODEL = "openai/gpt-oss-120b"  # ← ここを変更

変更例:

# 軽量版を使用する場合
LMSTUDIO_MODEL = "openai/gpt-oss-20b"

# 別のモデルを使用する場合
LMSTUDIO_MODEL = "your-downloaded-model-name"
  1. Stable Diffusionモデル設定の変更(オプション)

高品質な画像を生成したい場合は、以下の部分も変更可能:

def init_image_pipeline():
    model_path = "runwayml/stable-diffusion-v1-5"  # ← ここを変更
    # 推奨: "andite/anything-v4.0" (アニメ特化)

Step 4: 実行

  1. LM Studio でモデルをロード
    • LM Studio を起動
    • ダウンロードしたモデルを選択
    • **「Load Model」**をクリック
    • サーバーが localhost:1234 で起動することを確認
  2. ゲームの実行
python advgame.py

⏱️ 初回実行時の注意事項

ダウンロード時間について

初回実行時には以下のダウンロードが発生します:

  1. Stable Diffusionモデル (4-7GB)
    • runwayml/stable-diffusion-v1-5 など
    • ネットワーク速度に依存
  2. シナリオ生成処理
    • LLMによるシナリオ作成: 3-10分
    • 画像生成: 3-15分(シーン数による)

所要時間の目安

  • 高速回線 + 高性能PC: 10-15分
  • 標準的な環境: 20-30分
  • 低速回線または低スペックPC: 30分以上

🕐 重要: 初回起動時はStable Diffusionモデルのダウンロードと画像生成により、最大30分程度かかる場合があります。気長にお待ちください。


🚨 トラブルシューティング

よくある問題と解決方法

問題 原因 解決方法
ModuleNotFoundError パッケージ未インストール pip install 不足パッケージ名
CUDA out of memory VRAM不足 より軽量なモデルに変更
Connection refused LM Studio未起動 LM Studioでモデルをロード
Model not found モデル名不一致 LMSTUDIO_MODELを正しい名前に変更

メモリ不足対策

# advgame.py に以下を追加(init_image_pipeline関数内)
pipe.enable_attention_slicing()
pipe.enable_vae_slicing()
pipe.enable_sequential_cpu_offload()  # 最低限のVRAMで動作

📁 ディレクトリ構成

実行後のサンプルディレクトリ構成:

ai-adventure-game/
├── venv/                    # Python仮想環境
├── advgame.py              # メインスクリプト
├── prompts.json            # プロンプト設定
├── scenario.json           # 生成されたシナリオ(自動作成)
└── images/                 # 生成された画像(自動作成)
    ├── backgrounds/        # 背景画像
    ├── characters/         # キャラクター画像
    └── composite/          # 合成画像

🎮 実行開始

セットアップが完了したら、以下のメッセージが表示されます:

=== 推理ADVゲーム システム ===
新しいシナリオをAIで生成します...
高品質画像生成開始...

これで準備完了です!AIが生成する推理アドベンチャーゲームをお楽しみください!


💡 まとめ

このAI推理アドベンチャーゲームシステムは、従来のゲーム制作の常識を覆す革新的な技術実証です。

シナリオライター、イラストレーター、ゲームマスターの役割を全てAIが担当し、プレイヤーは自然言語で自由に行動できる、真の意味での「次世代アドベンチャーゲーム」を実現しています。

ゲーム業界におけるAI活用の可能性を示すと同時に、個人開発者でも本格的なゲーム制作が可能になる時代の扉を開く、画期的なシステムです。

Categories: 人工知能
おーら: