AIにテストプレイしてもらう
OpenForge MCP には、AIがシーンを自動で再生してバグや問題を発見する「AIプレイテスト」機能がある。自分でプレイしなくても、AIが代わりにテストして結果をレポートしてくれるんだ。
AIプレイテストとは
AIプレイテストは、以下のことを自動で行う機能:
- シーンの再生 -- Unity のプレイモードを開始する
- 視覚的な確認 -- スクリーンショットを撮影して、見た目を分析する
- インタラクションのテスト -- オブジェクトの衝突やスクリプトの動作を検証する
- レポートの生成 -- 発見した問題点と改善提案をまとめたレポートを出力する
手動テストでは見逃しがちな問題も、AIの視点でチェックしてくれるよ。
AIプレイテストは現在 Unity で利用できる。Blender や Godot でも、レンダリング結果の確認は可能だけど、インタラクティブなプレイテストは Unity が対象だよ。
前提条件
- Unity が起動していて、OpenForge MCP と接続済みであること
- テスト対象のシーンが開いていること
ステップ1: テスト用のシーンを用意する
まず、わざとバグを含んだ簡単なシーンを作って、AIプレイテストの効果を確認してみよう。
あなた:
新しいシーンを作って。以下のオブジェクトを配置して:
- 地面(Plane、50x50メートル)
- プレイヤーキャラクター(カプセル、Rigidbody付き)を原点に配置
- ゴールオブジェクト(黄色い立方体)を座標(10, 0.5, 10)に配置
- 壁(細長い直方体)を3枚、迷路のように配置
何が起きる: シンプルな迷路風のシーンが構築される。
わざとバグを仕込む
学習目的で、いくつかの問題をわざと入れておこう。
あなた:
以下の変更を加えて:
- 壁の1つのコライダーを無効にして(すり抜けバグ)
- ゴールオブジェクトの位置を地面の下(Y座標を-2)に移動して(到達不能バグ)
- プレイヤーのRigidbodyのMassを0.001にして(物理挙動の異常)
何が起きる: 3つの意図的なバグがシーンに仕込まれた状態になる。
ステップ2: AIプレイテストを実行する
準備ができたら、プレイテストを実行しよう。
あなた:
このシーンをAIプレイテストして。以下の項目をチェックして:
- プレイヤーが正しく地面の上に立てるか
- すべての壁が衝突判定を持っているか
- ゴールオブジェクトに到達可能か
- 物理演算が自然に動作するか
何が起きる: AIが以下の手順でテストを進める:
- シーンを再生する
- プレイヤーオブジェクトの状態を確認する
- 壁とのインタラクションをテストする
- ゴールまでの到達可能性を分析する
- 物理演算の挙動をチェックする
- スクリーンショットを複数枚撮影する
ステップ3: レポートを読む
テストが完了すると、AIがレポートを返してくれる。
レポートの例:
AIプレイテスト レポート
========================
テスト項目: 4件
問題検出: 3件
[問題1] コライダー無効 -- 重大度: 高
壁オブジェクト「Wall_02」のBox Colliderが無効になっている。
プレイヤーがこの壁をすり抜けてしまう。
推奨: Wall_02のBox Colliderを有効にする。
[問題2] オブジェクト到達不能 -- 重大度: 高
ゴールオブジェクト「Goal」のY座標が-2で、地面の下に埋まっている。
プレイヤーからは視認できず、到達することもできない。
推奨: GoalのY座標を0.5以上に変更する。
[問題3] 物理挙動の異常 -- 重大度: 中
プレイヤーのRigidbody Massが0.001で、極端に軽い。
わずかな衝突でも大きく吹き飛ばされる可能性がある。
推奨: Massを1.0程度に変更する。
[OK] 地面の配置
プレイヤーは地面の上に正しく立っている。問題なし。
レポートには重大度が付いている。「高」は必ず修正すべき問題、「中」は修正を推奨する問題、「低」は軽微な指摘だよ。まずは「高」から対処していこう。
ステップ4: 問題を修正する
レポートの内容に基づいて、問題を修正しよう。AIに直接修正を頼めるよ。
あなた:
プレイテストレポートの問題をすべて修正して
何が起きる: AIがレポートの内容を元に、以下の修正を自動で行う:
- Wall_02 の Box Collider を有効にする
- Goal の Y座標を 0.5 に変更する
- プレイヤーの Rigidbody Mass を 1.0 に変更する
個別に修正したい場合
一括修正ではなく、1つずつ確認しながら修正することもできる。
あなた:
Wall_02のコライダーだけ修正して。他はそのままで
何が起きる: 指定した問題だけが修正される。段階的に確認したい場合に便利だよ。
ステップ5: 再テストする
修正が完了したら、もう一度プレイテストを実行して、問題が解消されたか確認しよう。
あなた:
もう一度AIプレイテストして。さっきと同じ項目をチェックして
何が起きる: 再度テストが実行されて、新しいレポートが返ってくる。
AIプレイテスト レポート
========================
テスト項目: 4件
問題検出: 0件
[OK] コライダー確認
すべての壁に有効なColliderが設定されている。問題なし。
[OK] ゴール到達可能性
ゴールオブジェクトは地面の上にあり、到達可能。問題なし。
[OK] 物理挙動
プレイヤーのMassは1.0で、自然な挙動を示す。問題なし。
[OK] 地面の配置
プレイヤーは地面の上に正しく立っている。問題なし。
すべての問題が解消されたことが確認できたね。
プレイテストのカスタマイズ
チェック項目を自分で指定する
プレイテストでチェックする内容は自由に指定できる。
あなた:
AIプレイテストして。以下を重点的にチェックして:
- UIのボタンがすべてクリック可能か
- テキストが画面外にはみ出していないか
- 音声が正しく再生されるか
スクリーンショットの枚数を増やす
あなた:
プレイテストで、1秒ごとにスクリーンショットを撮って。合計10枚くらいで
何が起きる: テスト中に複数のスクリーンショットが撮影されて、時系列で状態の変化を確認できる。
特定のシナリオをテストする
あなた:
プレイテストで、プレイヤーがスタート地点からゴールまで最短経路で移動するシナリオをテストして
何が起きる: AIが経路を計算して、そのシナリオに基づいたテストを実行してくれる。
よくあるプレイテストの活用パターン
| 場面 | チェック項目の例 |
|---|---|
| アクションゲーム | 衝突判定、落下判定、ダメージ処理 |
| UIデザイン | ボタンの配置、テキストの可読性、画面サイズ対応 |
| 物理パズル | オブジェクトの挙動、解法の存在、詰み状態の有無 |
| ワールド制作 | 壁抜けの有無、移動可能範囲、パフォーマンス |
AIプレイテストは万能ではない。複雑なゲームロジックや、人間の「面白さ」の判断は苦手。あくまで技術的な問題の発見を補助するツールとして活用しよう。最終的な品質判断は、自分の目で確認することが大切だよ。
まとめ
このチュートリアルで学んだこと:
- AIプレイテストの概要と仕組み
- テスト対象シーンの準備
- プレイテストの実行とレポートの読み方
- レポートに基づく問題の修正
- 再テストによる修正確認
- チェック項目のカスタマイズ
AIプレイテストを開発フローに組み込むと、バグの早期発見ができて、手戻りが減る。シーンを変更するたびにプレイテストを走らせる習慣をつけると、品質を保ちやすくなるよ。