Halo2の人工知能

Nov 17 2004
コヴナントにむち打たれるのにうんざりしていませんか?「Halo2」の人工知能を作成した男性から、彼らがどのように考えているかを学びましょう。この独占的なハウスタッフワークスのインタビューで、BungieStudiosのChrisButcherが私たちを啓発します。

コヴナントにむち打たれるのにうんざりしていませんか?「Halo2」の人工知能を作成した男性から、彼らがどのように考えているかを学びましょう。この独占的なStuffoインタビューでは、BungieStudiosのChrisButcherが私たちを啓発します。

2004年11月17日

だからここにいるのは...ピザの箱、柔らかいタコスのラッパー、ソーダ缶とコントローラーに囲まれています。疲れて臭いがします。ついに「Halo2」を倒しました。私は待ち伏せされ、狙撃され、洗い流され、追い詰められ、そして私が覚えているよりも何度もコヴナントによって単純に殴打されてきました。「Halo」と「Halo2」の両方で、敵の戦場に精通していることは、ゲームの最も印象的な側面の1つです。敵は単なる飼料の猛攻撃以上のものです。これはあなたのパパのシューティングゲームではありません。クイックトリガーフィンガーで「Halo2」のコヴナントを耕すことができると思うなら、あなたの名前が書かれたボディバッグがあります。

「AIはシミュレートされた世界に住んでいます。」

「Halo」の敵キャラクターは、すべてのビデオゲームと同様に、人工知能またはAIによって駆動されます。AIの複雑さは、ゲームの楽しさ、リアリズム、リプレイの価値を左右することがよくあります。 AIに関しては、Haloがリストのトップにいます。敵は、戦場で実際の戦闘員のように反応し、反応し、プレイヤーに適応します。

コヴナントの「ダーティプール」がいかに「ダーティ」な戦いに巻き込まれるかに驚かされるなら、クリスブッチャーが「Halo2」の人工知能について何と言ったかを聞いてみたいと思うでしょう。クリスは、Bungie Studiosの4人のエンジニアリングリードの1人であり、それぞれがHaloの作成の特定のセクションを担当しています。クリスはオリジナルの「Halo」のAIを作成し、「Halo2」で彼の作品を拡張するようになりました。Stuffoは、「Halo 2」がリリースされる数日前にクリスと一緒に座り、「Halo2」の人工知能について話す機会を得ました。

もっとハローが欲しいですか?

ストーリーとサウンドの作成に関する内部情報、Bungieスタジオのツアー、Haloの歴史の入門書などがあります。

ここをクリックしてすべてをチェックしてください。

内容
  1. 基礎
  2. AIの知覚
  3. 意思決定
  4. パスファインディング
  5. 一緒に働いている
  6. 不気味の谷

基礎

「Haloでは、プレイヤーと人工知能のキャラクターの間にほとんど違いはありません。」

「私はHalo1の人工知能を書きました」とChrisは説明します。「基本的に、これは非常に特殊なタイプのインテリジェンスです。各文字にカスタムコードがありました。」「Halo2」では、クリスは最初のゲーム用に構築したAIを拡大しました。HaloのAIキャラクターについて最初に理解することは、「AIはシミュレートされた世界に住んでいる」ということです。

QuakeやUnrealなど、ほとんどのファーストパーソンシューティングゲームは、グラフィカルエンジン上に構築されています。プレイヤーは本質的に静止した「カメラ」であり、エンジンはその効果を生み出すグラフィックをレンダリングすることにより、世界を移動する感覚を生み出します。ハローは違います、とクリスは説明します。「Haloはシミュレーションエンジンです。エンジンは世界を作成し、プレーヤーとAIをその中に配置します... []キャラクターとそのコードは世界から分離されています。」

それぞれのキャラクターは特定のことをするように書かれていますが、それぞれの役割にもかかわらず、それらはすべて同じように機能します。それは次のように分解します:

  • キャラクターはAIの「感覚」を使用して世界を認識し、周囲で何が起こっているかを検出します。
  • AIは、知覚に基づいて取得した生の情報を取得し、データを解釈します。
  • AIは、その解釈されたデータをより処理された情報に変換します
  • AIは、その情報に基づいて、そのアクションがどうあるべきかについて決定を下します。
  • 次に、AIは、周囲の世界の物理的状態に基づいて、目的の結果を達成するためにこれらのアクションを最適に実行する方法を見つけ出します。

「それはすべて、プレイヤーが持っているのと同じ機能を介して機能します」とクリスは説明します。これは、Halo AIがどのように機能するかについての重要なポイントです。キャラクターは周囲の世界を知覚することを余儀なくされているため、多くの点で、感覚によってプレイヤーのように制限されています。それら。この制限により、AIキャラクターは驚いたり、周囲で何が起こっているのかについての認識に基づいて間違いや決定を下したりする可能性があるため、よりリアルな動作が作成されます。クリスが言うように、「Haloではプレイヤーと人工知能のキャラクターの間にほとんど違いはありません」。

AIの知覚

「キャラクターは、プレイヤーが自分の感覚がその世界でどのように機能するかを理解しているため、プレイヤーが推論できる方法で世界を認識します。」

クリスは続けます:

「ロボットの人工知能を書いているとしたら、あらゆる種類のコンピュータービジョンと画像の分析を書いて、ロボットが何を見ているのかを把握する必要があります。しかし、[Haloのキャラクター]はシミュレートされた世界に住んでいるため、キャラクターはその世界を直接知覚します。私たちはシミュレートされた感覚を通してそれを行うことを選択しました。そうすることで、プレイヤーは自分の感覚がその世界でどのように機能するかを理解しているため、プレイヤーが推論できる方法で世界を知覚するからです。 AI]。

そのため、視覚、聴覚、および少しの触覚知識をシミュレートしました。プレーヤーが対処する5つの感覚を持ち、それらが十分に発達している場合、HaloのAIは、実際には主に視覚入力と音声入力にのみ応答します。これは、プレーヤーがAIに自分自身を知らせる2つの方法は、AIがプレーヤーを見るか、誰かを撃つように音を立てるという2つの方法だからです。」

クリスは続けます:

「それで、視覚と音をシミュレートしました。AIが今見ることができるものに関する情報を取得し、それをメモリ構造に変換します。したがって、[AI]は次のように言うことができます。 [女性]がすぐそこに座っているのが見えます。黒いセーターを着ている女性がすぐそこにいます。」次に、「この時点でこの特定の状態にある[女性]がいるという記憶があります」と言って、それをより処理された情報に変換します。 [あの女性]が部屋から出てその角を曲がると、もう彼女に会うことはありませんが、AIはそのキャラクターと、最後に彼女に会ったという事実、そして彼女が去ったときの記憶を保持します。 、彼女はその方向に動いていました。

したがって、彼らは世界について知っているメモリモデルを持っています。彼らはその記憶モデルを取り、それをより具体的な戦闘情報に変えます。たとえば、この部屋に7人のキャラクターの記憶があり、そのうちの1人が私の友人で、他の6人が私の敵である場合、「私は圧倒的な力で接近戦にあります。ここには6人の敵と2人の友人しかいません。これは、戦闘の状態や世界の状態についてのより永続的な知識を作成するために使用される、より処理された情報の例であり、それにどのように対応する必要がありますか?」

意思決定

「…私​​たちのAIは飲んだり、食べたり、眠ったりしません。実際に行うのは、立って戦うことだけです…」

HaloのAIは、それぞれ順番に「思考」します。これらのターンは非常に迅速に発生し、各AIが常に考えているという印象を与えます。その番になると、各AIは処理したデータに基づいて決定を下します。これがAI行動システムです。クリスは説明します:

戦闘サイクルの4つの状態は次のとおりです。

  • アイドル
  • 警備員/パトロール
  • 攻撃/防御
  • 退却

それが意思決定です。その背後には、敵を見て、敵を退却させ、別の戦闘状態に戻すという基本的な戦闘サイクルがあります。これらはすべて戦闘固有の動作です。なぜなら...私たちのAIは飲まない、食べない、眠らないからです。実際に行うのは、立ち止まって敵が近くにいるときに戦うことだけですが、私たちはそれらの行動を可能な限り本物そっくりにするように努めています。」

クリスは続けます:

「したがって、階層ツリーのすべてのレベルで、世界で何が起こっているかについての知識とAIがどのようなキャラクターであるかについての知識に基づいて、何をするのが最も適切かについての決定が行われます。たとえば、最上位レベルでは、「私が見ることができる敵がいる場合、私はそれらを戦闘に参加させる必要があります」と言う必要があります。しかし、AIが臆病なキャラクターである場合、「私が圧倒的な力に直面した場合、私は撤退します」と言うかもしれません。これが私たちのゲームデザイナーが参加するレベルです。彼らはこのすべてのゲーム情報と、AIの動作を制御するすべての数値にアクセスできます。

偶然に物事をすることはあまりありません。目標は、予測できないものを作成することではありません。必要なのは、プレーヤーが特定の入力を与えることができるように一貫性のある人工知能です。プレイヤーは物事を行うことができ、AIが特定の方法で反応することを期待できます。たとえば、私がグラントの後ろに忍び寄って彼を驚かせた場合、私は彼が逃げることを期待しています。彼らが半分の時間だけ逃げた場合、プレイヤーは半分の時間しか機能しない計画を立てることができるので、それは悪いことです。私たちは予測可能な行動をとろうとしますが、予測できない結果をもたらします。グラントはいつも逃げますが、あなたは彼がどこに逃げるのか必ずしもわかりません。そこから再生可能性が生まれます。」

パスファインディング

クリスは続けます:

「私がAIであり、周囲の敵と戦っている場合、私が下さなければならない決定の1つは、私が立っているのに最も有利な位置はどこですか?各環境で、レベルデザイナーによって指定された何百ものポイントがあります- -これらはAIが望む可能性のある場所です。これが、ゲームの流れを制御する方法です。AIを取得し、発生していることに基づいて、AIをあるポイントから別のポイントに移動します。これらすべてを、非常に低いレベルにフィードします。インテリジェンス。たとえば、私がここにいて、そこに行きたい場合、どうやってそこに行くのですか?それはパスファインディングと呼ばれ、実際、ほとんどすべてのAIはパスファインディングに関するものだと言いたいです。

出会いにはルールがあります。コヴナントはここの建物の上にあります。プレイヤーがそれらのうちの3つを殺した場合、コヴナントは建物内にある一連のポイントに移動します。実際に起こっているのは、コヴナントがプレイヤーが知覚する非常に単純なルールに従っていることです...戦闘の流れとして。コヴナントは彼らが弱体化したと考えているように思われるので、彼らはより防御的な立場に後退します。実際、彼らは実際には、そのスペースで彼らのために定められた非常に特定の規則に従っているだけです。」

クリスはレベル設計者と協力して、AIの許容領域内の各ポイントを分析します。ある意味で、思考は彼らのために行われます。各ポイントには、空間内の特性に基づいて値が割り当てられます。たとえば、攻撃している場合はハイスポットが適していますが、攻撃を受けている場合はそれほど良くありません。壁の後ろの場所は隠すのに良い場所かもしれませんが、撃つことはできません。AIはこれらの値を認識しており、現在の状況に必要な値を提供する場所を選択します。

パスファインディングの本当の課題は、理にかなった方法でそのポイントに到達することです。クリスは詳しく説明します:

「環境内を移動できないキャラクターがいる場合、そのキャラクターは、壁にぶつかったり、じっと立ったり、馬鹿になったりするなど、プレイヤーが愚かだと感じることをします。それは、どこかに行きたいからですが、私たちはゲームのパスファインディングに多くの時間を費やしました。私たちのAIは、プロパティでタグ付けしたオブジェクトが世界にあることを認識しています。これは、小さなオブジェクト、大きなオブジェクト、または巨大なオブジェクト。AIはパスファインディング時に「小さなオブジェクトを通り抜けることができます」と認識します。それらを脇に追いやるでしょう。しかし、大きなオブジェクトを走り回らなければなりません。特定の大きなキャラクターは、小さなキャラクターが避けたり走ったりするオブジェクトを通り抜けることができることを知っています周り。」

AIが世界のオブジェクトとどのように相互作用するかをさらにリアルにするために、チームはアニメーションを使用してパスファインディングの外観を滑らかにします。 「オブジェクトにアニメーションポイントのタグを付けることもできます」とChrisは説明します。 「木枠には、AIに指示するタグが付いている場合があります。「必要に応じて、この上にジャンプできます。」したがって、パスファインディング時にAIは、タグ付けされたオブジェクト上にパスを作成することを決定できます。戦闘では、AIは、敵がそのタグ付けされたオブジェクトの後ろに隠れていることを知っている場合、その上にジャンプして怖いことを言うか、負けた場合に選択できます。敵を見ると、見栄えを良くするためにオブジェクトにジャンプすることを決定する可能性があります。」

オブジェクトタグは、AIが環境の変化を認識し、AIがカバーとして使用できる場所を示すためにも使用されます。ただし、これらのカバーオブジェクトが破壊または移動されると、タグが変更されます。これは、AIが、宇宙のその時点でカバーを探すことができなくなったことを知る方法です。カバータグは、スペースではなくオブジェクトに付けられます。

一緒に働いている

「Halo2には、[AI]が連携するための新しいツールがあります。」

「Halo1」は、FPSゲームではめったに見られないレベルのAI調整と協力をプレイヤーに提供しました。作成者は、個々のAIに一連の組み込み応答を作成することで、AIが連携しているように見せました。クリスは次のように説明しています。「Haloの最も興味深い点の1つは、AIを調整された力として連携させるためのツールがたくさんあることです... [AI]は、友達と一緒に周りで起こっていることに基づいて個別の決定を下します。たとえば、Gruntは、「私が一緒にいたエリートが殺されたので、逃げるつもりです」という個別の決定を下します。

Gruntsは、常にそのように反応するようにプログラムされています。感情的または戦術的な反応としてプレイヤーに見えるのは、実際には、単純な「if / then」ステートメントです。

AIには、チームのように見せるためのガイドラインを使用して、個別に移動するコマンドも発行されました。クリスは例として海兵隊員を使用しました:「私は友達と一緒に立つのが好きですが、近すぎないでください。」それが海兵隊のしくみです。海兵隊はユニットとして一緒に移動する傾向がありますが、お互いの火のフィールドに立つことはありません。」

しかし、それが最初のHaloでした。 「 『Halo 2』には、彼らが協力するための新しいツールがあります」とクリスは説明します。彼のチームは、AIに共同行動システムを追加して、はるかに複雑なタスクで共同作業できるようにしました。 「AIは、「私はこの共同行動を検討しています。私の周りに私の友人である人々がいることに気づきました」と言うでしょう。そこで、彼らは他のAIに、「私はあなたとこの行動をしたいのです。あなたはそれを受け入れますか?」と言う要求を投稿します。他のAIは、考える番になると、それを受け入れるか拒否して、発信者に伝えます。これらの新しい開発を使用して、さまざまな微妙で明白な改善を行いました。最も明白なのは、キャラクターが互いに話し合うことです。AI共同行動を投稿します、 '私は私たちの両方が同じ男を探していることに気づきました。彼について何かお話ししたいのですが、私に返事をしてほしいのです。」または、 '私たちは両方とも同じ男を探しています。私たちが飛び出して一緒に彼を驚かせることができるように、一緒に働いて彼を見つけましょう。」

車に乗り込むことは別のグループの行動です。AIが移動中の車両を見ることができる場合、AIはその車両を運転しているAIにリクエストを投稿し、乗車を要求します。AIドライバーは、ポストを受け入れると、停止し、向きを変えて、彼を迎えに行きます。

そして、対話は味だけのためではありません、とクリスは説明します。「AIが何かを言い、その動機をプレイヤーに宣言しなければ、AIの行動とコミュニケーションはプレイヤーには明らかではないため、話すことは重要です。」

不気味の谷

「それが人工知能のすべてです。それは、プレイヤーをだまして、そこに何かインテリジェントなものがあると信じ込ませることです。」

インタビューが終わりに近づき始めたとき、クリスと私はAIが直面しているいくつかの課題について話し合いました。

「コンピュータアニメーション映画の「不気味の谷」理論に精通していますか?」彼は尋ねた。私はそうではなかったので、クリスはそれを説明しました:

「キャラクターがより写実的になるにつれて、あなたはそれらをますます信じるようになります。人間のキャラクターでは、ある種のリアリズムに到達します。実際に人間であると信じたいほどリアルなキャラクターがいるのです。 。それからあなたは彼らの欠陥に気づきます。彼らは非常にプラスチックの肌または非常に木製の目をしています。突然彼らはただ不気味になります。彼らはコンピュータの人々をアピールするというよりはゾンビの人々のようです。フォトリアリズムに近づくと、再び上昇します。」

クリスは続けます:

「私たちのゲームでは、フォトリアリスティックになろうとはしていません。私たちのキャラクターは視覚的には何であるかです。問題は、行動でその「不気味の谷」のポイントに近づき始めていることです。これらすべてのキャラクターがいます。それは、環境について非常に豊かで意味のある、これらの興味深いことをすべて言います。これらの興味深い戦闘能力はすべてありますが、応答するようにプログラムされていないことを行うことができ、彼らは反応する方法を知りません。すると突然、ゾンビのように馬鹿になります。「ねえ、チーフ、ソーダマシンに完全なフリップをさせただけです。すごかったです!」

彼らは戦闘中や戦闘後、そしてミッションの特定の時点で彼らがし、言うこれらすべての興味深いことを持っています、しかしあなたがただぶらぶらしてそれらを観察するならば、彼らは実際には何もしません。ゲーム業界は、特定の操作モードで本当にリアルなキャラクターを構築しているこの時点に急速に近づいていますが、それらの操作モードから外すと、実際に崩壊し始めます。


現在のゲームにおけるAIの課題は、「AIの境界は何ですか?これらの境界をプレーヤーから隠すにはどうすればよいですか?そして、どうすればそれらを超えることができますか?」それが人工知能のすべてです。それは、プレイヤーをだまして、そこに何か知的なものがあると信じ込ませることです。」