メインコンテンツまでスキップ

AIにテストプレイしてもらう

OpenForge MCP には、AIがシーンを自動で再生してバグや問題を発見する「AIプレイテスト」機能がある。自分でプレイしなくても、AIが代わりにテストして結果をレポートしてくれるんだ。

AIプレイテストとは

AIプレイテストは、以下のことを自動で行う機能:

  1. シーンの再生 -- Unity のプレイモードを開始する
  2. 視覚的な確認 -- スクリーンショットを撮影して、見た目を分析する
  3. インタラクションのテスト -- オブジェクトの衝突やスクリプトの動作を検証する
  4. レポートの生成 -- 発見した問題点と改善提案をまとめたレポートを出力する

手動テストでは見逃しがちな問題も、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が以下の手順でテストを進める:

  1. シーンを再生する
  2. プレイヤーオブジェクトの状態を確認する
  3. 壁とのインタラクションをテストする
  4. ゴールまでの到達可能性を分析する
  5. 物理演算の挙動をチェックする
  6. スクリーンショットを複数枚撮影する

ステップ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がレポートの内容を元に、以下の修正を自動で行う:

  1. Wall_02 の Box Collider を有効にする
  2. Goal の Y座標を 0.5 に変更する
  3. プレイヤーの 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プレイテストを開発フローに組み込むと、バグの早期発見ができて、手戻りが減る。シーンを変更するたびにプレイテストを走らせる習慣をつけると、品質を保ちやすくなるよ。