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

戦って楽しい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. 【CEDEC 2011】女性視点でのゲーム運営 ― 『農園ホッコリーナ』がモバゲー女性ランキング1位になった理由

    【CEDEC 2011】女性視点でのゲーム運営 ― 『農園ホッコリーナ』がモバゲー女性ランキング1位になった理由

  2. ゲームショップにも人が溢れる!米国で最も過酷なセール“ブラックフライデー”を現地レポート

    ゲームショップにも人が溢れる!米国で最も過酷なセール“ブラックフライデー”を現地レポート

  3. セガゲームス誕生 ― グループ組織再編により、コンシューマ事業とセガネットワークスが一つに

    セガゲームス誕生 ― グループ組織再編により、コンシューマ事業とセガネットワークスが一つに

  4. 【インタビュー】KLabに訊くプロジェクト管理ツール「SHOTGUN」導入事例―管理業務の負担を半分に削減?!

  5. DMMの動画・電子書籍にペイパル決済が導入―期間中ペイパルで支払うと10%のポイントバック

  6. DMM GAMES、TGS 2016に出展決定!ファン必見のスペシャルサイトも公開

  7. ゾンビになって映画を一足先に体験!?VR映像『BIOHAZARD VENDETTA : Z Infected Experience』5月24日配信

  8. 元CC2の渡辺雅央氏が独立!すでにスマートフォン向けゲームを制作中の模様

  9. 【GDC 2013】ディズニー&ピクサーのヒットタイトルに見られるストーリーの黄金律とは? 現役クリエイターがあかす方程式

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

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