人生にゲームをプラスするメディア

戦って楽しいAI作り〜 IGDA AI連続セミナー第4回はHaloとHalo2

ゲームビジネス その他

戦って楽しいAI作り〜 IGDA AI連続セミナー第4回はHaloとHalo2
  • 戦って楽しいAI作り〜 IGDA AI連続セミナー第4回はHaloとHalo2
  • 戦って楽しいAI作り〜 IGDA AI連続セミナー第4回はHaloとHalo2
  • 戦って楽しいAI作り〜 IGDA AI連続セミナー第4回はHaloとHalo2
  • 戦って楽しいAI作り〜 IGDA AI連続セミナー第4回はHaloとHalo2
IGDA日本は、ゲームAIについての連続セミナーの第4回を開催しました。講師はフロム・ソフトウェアで「クロムハウンズ」のAI開発に携わった三宅陽一郎氏です。今回のテーマはBungie Studioの大ヒットFPS「Halo」と「Halo2」のAIです。

Haloでは、キャラクタごとの特徴を出すためカスタムコードを記述しましたが、Halo2ではシステムとして対応できる仕組みを作ることでスケーラブルなAIが構築されました。



● 初代HaloのAIについて

HaloのAIでは繰り返し遊んでもらえるように、「知性」「インタラクティブ」「予測不可能」を実現するよう作られました。「知性」を感じさせるために、敵は状況に応じて声を発したり、外見から分かりやすい行動(隠れる、走る、こそこそする、など)を取る、AIの注意がどこに向けられているかがわかるように視線や体の向きなどを調整する、といったアクションを起こします。

また、プレイヤーのアクションに対応した行動を取る「インタラクティブ」性により、AIが驚いたり恐れたりといった感情をみせます。さらにある程度バカっぽい動き(予測しやすい動きや近隣の状況だけで判断した動き)をしつつ、突発的な動き(恐怖のあまり逃走、凶暴化など)もします。

さらに、予測不可能なAIとしては、ランダムではないのに同じ動きを繰り返さないよう、位置やタイミングなどアナログ的な情報を参照して、ちょっとの差で条件が変わるようになっているとのことです。

HaloのAIは、もっとも核心となる意志決定部分がキャラクタごとの特徴を持った単純なロジックで作られていて、グラントなら「すぐ逃げる」、エリートは「傷つくと隠れる」、ジャッカルは「シールドを持つ」といった動作をするよう書かれています。また、それぞれのAIがマップ上でどのあたりに陣取るかはチーム単位でコントロールされるようになっていて、あらかじめレベル(マップ)デザイン時に設定されたポイント群を移動します。別のポイント群への移動を指示することで、攻め込んだり退却したりといった「戦いの流れ」を表現します。

当初、怒りや防御、恐れ、驚きをファジー変数で制御するようにしていたところ、プレイヤーからAIの思考が見えにくいということでこの方法を断念。撃たれたり仲間が死んだりといったイベントに反射して行動をする仕組みに変えたところ、キャラクターたちが状況を認識してゲーム世界で生きているかのように動き始めたということです。

●Halo2のAIについて

Haloではキャラクタごとの特徴を出すためにコードを記述しましたが、Halo2になってゲーム世界が複雑になると、Haloの方法のままでは特定のAIにしか使えないコードがより複雑化していくことになります。このためHalo2の開発では柔軟なAIを構築することに主眼が置かれました。

そこで採用されたのが階層型有限状態マシン(HFSM)です。階層管理された状態ごとにどう行動するかをツリー構造にまとめたFSMで、「有向非環グラフ」と呼ばれています。

FSMの階層化というのは、上位に「戦う」「敵を探す」「逃げる」という状態遷移図があり、「戦う」の中に「グレネード」「格闘」などの状態遷移図が入っている、といったイメージです。

ツリーは大きいため、Halo2ではAI全部が共有するツリーがシステム内に1つあり、各AIはそのツリーを利用して、それぞれの状態(会敵、防御、退却など)に応じてどの行動が適切かを判断する仕組みになっています。ビークルを運転しているときは特定の攻撃がおこなえないといった判断のため、状態に応じて優先順位や選択肢のオンオフを変更できるようになっています。さらに、キャラクタタイプに応じた振る舞いの変化のために、特定キャラクタの独自行動については判定ごとにツリーに一時的に追加して行うようになっています。

また、集団制御についても改善され、AIグループ(Squads)とエリアの集合(Zones)に加え、ゾーン移動の指示(Orders)が概念として追加されました。これに、振る舞いのオンオフを設定する「スタイル(ゾーンごとに許される行動リスト)」が組み合わされることで、あるチームに「push forward(前進せよ)」というオーダーを出すときに、エリア(相手陣地)と行動セット(「逃げ出す」などの選択肢がない、攻勢パターン)を設定することで、押しまくる感じの行動をさせたりできるようになりました。

この仕組みにより、プログラマの手を借りることなく、レベルデザイナーがAIの振る舞いをカスタマイズできるようになっています。


●仕様書をFSMで考えましょう

IGDA日本の長久勝氏は、今回のテーマとなったFSMについて「UMLのステートチャートで仕様書を書けば、矛盾や漏れを減らすことができるので、プランナーもこうした図の書き方を身につけたほうがいい」と、そのメリットをアピールしました。

これは、「Aというキャラクタは、Bのような条件で必殺技Cを発動する」といった仕様を箇条書きで羅列すると、矛盾があっても仕様書の段階ではわかりにくく、作って動かしてみないと分からないといったことがあるためです。ステートチャートでは、状態から状態への遷移を図示するので、キャラクタの振る舞いの流れを、矢印を追って把握することができます。また、ステートチャートにしておけばそのままFSMに実装できるため、プランナーにとっても「考えたとおりにキャラクタが動く」ことが期待できそうです。

ゲームAI連続セミナーの第5回は、ニューラルネットワークを採用した「N.E.R.O」が題材ということで、学習と進化がゲームにどのように応用できるのかがテーマとなるようです。第5回は7月もしくは8月に開催予定です。
《伊藤雅俊》

編集部おすすめの記事

ゲームビジネス アクセスランキング

  1. 今週発売の新作ゲーム『グランツーリスモSPORT』『サイコブレイク2』『巨影都市』他

    今週発売の新作ゲーム『グランツーリスモSPORT』『サイコブレイク2』『巨影都市』他

  2. 任天堂、ビデオコーデックのMobiclipを買収

    任天堂、ビデオコーデックのMobiclipを買収

  3. 【インタビュー】TGS2017では異色の出展社?!ゲームユーザーのためのPayPalの「覚悟」とは

    【インタビュー】TGS2017では異色の出展社?!ゲームユーザーのためのPayPalの「覚悟」とは

  4. 企画とデザインのキャッチボールで生まれた『グランブルーファンタジー』の稀有な開発体制―春田康一プロデューサーと皆葉英夫氏に聞いた

  5. 【インタビュー】もっと気楽に「SHOTGUN」を―ドリコムによる導入事例を訊く

  6. PCデポ、ゲーム機をインターネットに接続するサービスを開始

  7. スクエニとイニスがタッグを組んだ新作音ゲー『DEMONS' SCORE』 時田貴司プロデューサーに聞いた開発秘話

  8. 【UNREAL FEST EAST 2017】堀井氏がSwitch版『DQXI』の最新情報をポロリ!? ここだけのエピソードが満載だった『DQXI』基調講演

  9. 2017年10月発売の新作ゲームは何を買う?―注目タイトルまとめ!

  10. 【TGS2017】ロボの起動スイッチはスカートの奥?『十三機兵防衛圏』『ドラゴンズクラウン・プロ』ステージレポ

アクセスランキングをもっと見る