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

戦って楽しい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. YouTubeを活用したプロモーションを成功させる3つの原則(前編)

    YouTubeを活用したプロモーションを成功させる3つの原則(前編)

  2. 横浜みなとみらい開催『ポケモンGO』イベントの集計データが発表―200万人以上が参加、1億2千万匹のポケモンゲット!

    横浜みなとみらい開催『ポケモンGO』イベントの集計データが発表―200万人以上が参加、1億2千万匹のポケモンゲット!

  3. ドン・キホーテでVR動画スターターセットが先行発売! DMMで使える動画ポイント付き

    ドン・キホーテでVR動画スターターセットが先行発売! DMMで使える動画ポイント付き

  4. 7月14日オープンの「VR ZONE SHINJUKU」詳細発表! 『マリオカート』や「攻殻」のアクティビティも─気になる料金は?

  5. 【特集】マリオカートやエヴァ搭乗をVRで楽しめる「VR ZONE SHINJUKU」オープン─利用方法は? 要予約なの? まとめてご紹介

  6. 海外サイトが選ぶ「ゲームの政治家トップ10」−1位はやっぱり……?

  7. 県とプログラミング言語が一体となって盛り上がる!島根県とRuby【オールゲームニッポン】

  8. VR施設「SEGA VR AREA AKIHABARA」6月17日10時にオープン! VRウォーキングアトラクションを導入

  9. 任天堂、パテントトロールに勝訴し全特許を差し押さえ 『Wii Fit』を巡り

  10. 『Mr.インクレディブル』の続編が発売決定

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