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

戦って楽しい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. 「日本と海外におけるゲーマーにとってのリージョン制限」・・・イバイ・アメストイ「ゲームウォーズ 海外VS日本」第22回

    「日本と海外におけるゲーマーにとってのリージョン制限」・・・イバイ・アメストイ「ゲームウォーズ 海外VS日本」第22回

  3. 任天堂ミュージアムに行ってきました!

    任天堂ミュージアムに行ってきました!

  4. ゲーム1本の開発期間は平均16ヶ月、開発者の38%が据置機に携わりたいと思っている…CEDECのゲーム開発者調査が公開

  5. USJのVRジェットコースター「XRライド」がヤバ過ぎる…レールのない空間を走り、前振りなく急落下する

  6. 吉本興業が手掛けるe-Sportsチームとリーグの運営とは?「吉本興業e-Sportsセミナー」レポート

  7. 「2021年最も活躍したと思うゲーム実況者は?」第1位に輝いたのはあの“インターネットヒーロー”!

  8. 目黒将司×LAM 無二の個性派クリエイター対談-「目黒サウンド」「LAM絵」と称される“キャッチーさ”はどう育まれた?

  9. ゲームで使うためのスクリプト言語開発とは〜 IGDA日本SIG-GTレポート

  10. 【CEDEC 2014】知られざるアプリ大国、フィンランドのゲーム産業を歩く~新清士氏によるカジュアルゲーム視察報告

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