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

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

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

ゲームビジネス その他
戦って楽しい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月に開催予定です。
《伊藤雅俊》
【注目の記事】[PR]

編集部おすすめの記事

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

  1. 挑戦的すぎる任天堂−懐かしのCM

    挑戦的すぎる任天堂−懐かしのCM

  2. 「パワプロ」生みの親、大阪電通大教授・長江勝也さん死去

    「パワプロ」生みの親、大阪電通大教授・長江勝也さん死去

  3. 戦慄ホラー『Outlast 2』開発元が「専用おむつ」を発表!ファンからの「漏らした」報告を受け

    戦慄ホラー『Outlast 2』開発元が「専用おむつ」を発表!ファンからの「漏らした」報告を受け

  4. 【レポート】100センチの巨尻に会いに行く!グラドルVRビデオ「トキメキメテオ」、その見どころは?

  5. 鎖に繋がれた美しき少女と共に世界に色と音を取り戻せ!VRステージクリア型謎解きゲーム『VoxEl』体験レポート

  6. 【週刊マリオグッズコレクション】第5回 マリオのシャンプーをいろいろ紹介

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