コンピューターの対戦相手が生きていると感じるのはなぜですか?


107

RPGゲームでAIをよりリアルに感じられるようにすることについて述べている推奨ブログやホワイトペーパーはありますか?(具体的には順番に基づく戦闘。)

私は何かがそこになければならないことを知っていますが、私はAIの背後にあるアルゴリズムについて述べている論文だけを見つけています。私は「これこそが、コンピューターの対戦相手を生き生きと感じさせるもの」の流れに沿ってもっと見ています。リスクを冒す、楽になる、後退するなど...


非常に多くの素晴らしい答えがあり、それらのいくつかを受け入れられることを望みます。みんな、ありがとう!


コンピューターが戦略を立てれば、それはより生き生きと感じさせます。FEARのAIは、(とりわけ)プレイヤーの側面にあるため賞賛されました(その多くは実際にスクリプト化されたと思いますが)
-thedaian

10
その死のアニメーション。バング。いいえ、真剣に、あなたに対して環境を使用しています。そして間違いを犯しますが、巧妙な間違いです。右?先見の明がある人のように、彼だけが推論の連鎖のある時点で間違った仮定をしました。
エンジニア

コンピューターのキャラクターが生きていると感じるか、すべてのコンピューターのキャラクターをコントロールするあなたと同じように他の人間のプレイヤーと戦うような印象を与えたいかどうかは明らかではありませんか?
日光

4
コンピューターを生き生きとさせる方法:Bladerunnerをもう一度見る...
Kheldar

これを読みたいかもしれません。決定木の上のファジーロジックを使用します。
ジョナサンディキンソン

回答:


109

間違い。15マイル離れたところからあなたをヘッドショットできるAI対戦相手ほど悪いことはありません。常に完璧な勝利戦略を選択します。それは没入感を破り、あなたがルーチンをプレイしていることを明らかにします。間違いは、AIをより人間らしく見せることができます。

多くのFPSゲームは、最初の数ショットでAIをミスさせ、キルに進む前にAIがいることをプレイヤーに警告します。

戦略ゲームは次善の戦略を選択することもあれば、脅威を評価する際に意図的に戦略の一部を無視することもあります。

プレイヤーが近くにいたときに計算したレースゲームは、サイコロを振って、目の前のAIカーをコーナーでアンダーステア​​にしたり、タイヤを吹いたりしました。リアルなAIで賞賛されました。

ただし、不完全なAIを作成することは、依然として課題の1つです。馬鹿げた失敗をするまで、完璧な行動を繰り返してから完璧な行動をとるのではなく、説得力のある率で説得力のある間違いを犯さなければなりません。これは、完璧なAIをプレイするよりもさらに悪い場合があります。たとえば、上記のレーシングAIに取り組んでいるプログラマーは、車がどのようにアンダーステア​​するか、そして説得力のあるアンダーステア​​を引き起こすためにAIが必要とする入力のモデリングに多くの時間を費やしました。いつものように、プレイテストは不可欠です。

これらの種類の間違いの原因についての良い記事がありますhttp : //www.gamasutra.com/view/feature/3947/intelligent_mistakes_how_to_.php


38
「多くのFPSゲームは、最初の数発でAIをミスさせ、キルする前にAIがいることをプレイヤーに警告します」:GURPSでは、このインペリアルストームトルーパーマークスマンシップアカデミートレーニングと呼ばれます。
カオス

4
ミスが多すぎて、それはダムのコンピューターです。
-LarsTech

30
無限のエネルギーは、ストームトルーパーの横にある刑務所の独房に赤いシャツの男を配置することによって作成されます。ストームトルーパーは目標を達成できず、赤シャツの男は死ななければなりません
zzzzBov

私は答えのポイントを取得し、コンピューターの完璧さと人間の完璧の間の境界線について考えます。何が変わるの?悪夢のようなレベルのCPUとは何が違うのか、致命的なようなquake3プレイヤーですか?
Pitto

AIが取り得るすべての可能な動きを計算し、状況とAIに割り当てられた性格特性(bloodlust、afraidOfDeath、怒りなど)に基づいて動きに重みを割り当てます。これは、あなたとAIが死にかけようとしている場合、まっすぐ進むAIがあなたを撃ち、ヘルスパックをつかむようなシナリオに最適です。彼らが高い怒りや血に飢えているのでなければ、彼らはあなたの一人が死ぬまで撃ちます。
売り切れた活動家

44

他の人は、AI、ロジック、計画、およびミスをすることの重要性について話しました。そして、これらはすべてAIの開発に役立ちます。

しかし、問題はコンピューターの対戦相手を生き生きとさせるものについてであり、それはAIを介して達成することはできません。そうではありません。プレイヤーは、戦略レベルの選択に基づいてゲームのキャラクターを判断しません。彼らははるかに小さなものに基づいてそれを判断します。

コンピューターの対戦相手を生き生きと感じさせるために必要なのは、対戦相手のための高品質のアニメーションとサウンド(特にボーカル)の包括的なセットです。プレイヤーはAIを見ることができません。彼はそれを聞くことができず、彼はそれを経験することができず、彼は相手が何を考えているのか知ることができません。「このキャラクターは生き物です」の外観は、キャラクターで再生されるアニメーションと、キャラクターが生成するサウンド(これもまたほとんどがボーカルになります)を通じてプレイヤーに完全に提示されます。

キャラクターが周囲の刺激に反応することが重要です。近くのものを見る、近くのオブジェクトに触れる(適切な場合)、驚いたときにびっくりする、適切なときに他の感情を表示する。

これらのことについて話すときは、繰り返しを最小限に抑えることが重要です。キャラクターが攻撃するたびに同じ「攻撃」アニメーションを使用する場合、生きていると感じることはありません。彼が他に何もしていないときに単一のループ「アイドル」アニメーションを再生する場合、彼は生きているとは感じません。彼が同じ声を2回(特に連続して)言った場合、キャラクターが生きているという幻想を破ります。

そして、それだけです。あなたが生きているようにしようとしている相手があなたのゲームに物理的に存在している場合、それらを生きているように見えるようにするあなたの成功は、プレイヤーに表示されるグラフィックとサウンドによって主に決定されます。

ChessやStarCraftの場合のように、「生きている」ようにしようとしている相手が実際にゲームに存在しない場合は、この返信を無視してください。あなたの最善の策は、AIに焦点を当てた返信に従うことです。


4
「敵はどこでも!」と叫ぶマスエフェクトのすべての敵を思い出させます。2秒ごと。
ダシュト

私はこれをもっともっと投票できるといいのですが。私は2つのトリプルA FPSに取り組んできましたが、素晴らしい環境を作成する上で、アニメーション(ピーク、ジェスチャー、移動)とオーディオ(意図、質問、会話)がどれほど重要かを強調することはできません。AIはプレイヤーを打ち負かすことではなく、リアリズムを伝えることです。リアリズムの大きな部分は、私たちがどのように動き、音を出すかです。
AAグラパス

1
+1、良い点。Oblivionequeゲームについて考えてみました。NPCとやり取りする試みは、ベッドに座って横向きになり、立ち上がって、最後にあなたと向き合うことによって妨げられることがあります。
zenzelezz

これにより、より没入感のあるゲームプレイができることに同意します。ほとんどのマルチプレイヤーゲームで、何人の人間プレイヤーが動作するかを見たことがありますか?一部のゲームでは、プレーヤーの半数が無目的に飛び回っており、残りの半数が1秒に20回同じボイスクリップでボイスチャットをスパムしています。多くの場合、ボットは人間よりも優れた動作をします。
ライライアン

AIを人間に見えるようにする方法の1つは、おそらく、AIが殺され続けている場合に、彼らを怒らせることです。または、新しいプレーヤーをだまして、高価なアイテムを無駄なブリングと交換させます。プレイするのは楽しいゲームではありませんが、少なくともAIは「生きている」と感じます。
ライライアン

30

対戦相手をより鮮明にすることができるいくつかの簡単な概念のリストを次に示します。

  1. 意図
    プレイヤーにAIの「意図」を占領する何らかの方法を与えます。これは、正確なヘッドショット攻撃を試みる前に「品質を超える量」、背後に追い込もうとするときに「側面を打つ」、または主人公を攻撃する前に「リーダーを連れて行く、他には何もしない」と叫ぶだけの簡単なものです。また、より複雑になることもあります。たとえば、彼らにチームメイトに手話を与えてから、それらのチームメイトの行動を変更することもできます。

  2. 絶望
    敵が死に近づいたら、絶望感を与えることができます。特定の健康マイルストーンで戦術を変更します。後の段階をよりパニックにし、より大きなリスクを負わせます(ゆっくりとチッピングするのではなく、あられに行きます)。これも視覚的に伝えます(より誇張されたアニメーション、脈打つ静脈など)。

  3. バングで出かけます。
    彼らとの戦いを繰り返す価値のあるものにする死を与える。うなり声を上げます。ボスは独り言。誇らしげなキャラクターなら、あなたに殺害を拒否させ、最後のダメージを自分に与えます。あなたはドリフトを取得します。


4
こんにちは。あなたは本当にあなたの答えにあなたの資格を書く必要はありません。あなたのプロフィールに記入し、あなたが話していることを知っていれば誰かが興味を持っているなら、こんにちはあなたの名前をクリックします。それでおしまい ;)。
ノタベン

1
意図のポイントは良いものです。良い戦略は、AIチームメイト(存在する場合)に、相手が何をしているかを呼びかけることです-「彼らは側面攻撃をしています!」実際、敵のAIがそのようなことをしていない場合でも、この戦略は非常に効果的です。:)
tenpn

1
@Notabene、あなたのコメントに同意するのではなく、メモとして- あなたはあなた自身で無関係な情報を編集する担当者がいます。:)私はちょうど編集をしましたが、私にとっては「レビューの対象」です。:)
サイクロプス

2
@サイクロプス。はい、考えました。しかし、適切なコメントがなければ、かなり失礼に感じられる可能性があり、ヨルダーンにそれについて自分で判断させたいと思いました。もちろん、フレンドリーなことを意味します。しかし、トピックのコメントで良い答えを破壊するのをやめ
ましょう

3
ねえ。皆さんにお知らせするために、学士号の行を自尊心の一形態として含めました。ここオーストラリアでは、ゲームの学士号は、印刷された論文の価値はありません。自慢するつもりはありませんでした。「無駄な30,000ドルと3年間の研究の集大成であるいくつかの明白なアドバイスがあります。」正しく伝えられなかった場合は申し訳ありません。
ヨルダンミロナス

22

このGoogle IOトークをお勧めします。GoogleDoodleパックマンについてです。約18:00に、彼らはパックマンの幽霊の性格について話し始めます。単純な経路探索に個性をいかに簡単に加えることができるかは、本当に驚くことです。

Google I / O 2011:Googleパックマンの秘密:ゲームショー

ビデオ全体を見る価値があります。本当にお勧めです。


本当に質問に答えているわけではありませんが、インスピレーションを与える可能性があります...(推測)
-Notabene

11
有効な回答だと思います。質問は、コンピューターの対戦相手に「生きている」と感じさせる方法についてであり、幽霊の性格を設計することはまさにそれを行います。
サイクロプス

14

私はそのようなブログについては知りませんが、戦術的なターンベースのRPGはローグライクの次に私のお気に入りのジャンルなので、ブログ記事を書きます。私の経験から、RPGやRTSでの戦術的なAIの難しさはしばしば私を先送りにしましたが、その反対は、AIの完全な近視眼性とチーム決定の欠如です。人間はこのように遊ぶことはありません。

当時、私はまだJRPGをゲームデザインの頂点と見なしていたとき、Final Fantasy Tacticsのような戦術的なターンベースの戦闘に重点を置いた「典型的な日本のTRPG」を作ろうとしていました。いつものように、それは経路探索とAIの単なる技術デモになったので、このテーマに関する私の考えを共有します。

これらのTRPGのほとんどは、AIをあまり気にしません。プレイヤーの面白さは、複雑な戦術的または戦略的な挑戦からではなく、一般的な農業と面白い方法でのAIの乱用から生まれます。だから、彼らのAIが人間が今までしてくれなかったことをすることは大したことではない。通常、愚かなAIを用意し、事前に複数の動きを見る必要がなく、最高の短期的な動きのみを使用するようにゲームデザインとバランスをとれば十分です。もちろん、それは決してリアルではありませんが、誰が気にしますか?これは間違っているように感じます。農業と蒸し焼きの代わりに、複雑なAIアクションと戦うことに基づいて楽しみを作成できると信じたいです。おそらく不要で、時間もかかりますが、可能です。

オリジナルのFinal Fantasy Tacticsとそのハードコアmod FFT 1.3を思い出して、人間に似た楽しいAIをプレイするために次の目標を設定しました。

  • AIはチャレンジを作成する必要がありますが、楽しいチャレンジであり、「人間の完全検索」チャレンジではありません。この楽しいチャレンジは、現在のミッションの全体的なコンテキストを介してプレイヤーによってしばしば期待されるべきです。通常、スクリプトが登場し、ワントリックポニーAIを作成します。
  • AIは賢いはずですが、ディープミニマックスは賢くありません。さまざまな種類のAIには、さまざまな人間の性格と同じように、さまざまな欠陥があるはずです。ゲームで遭遇することはめったにありません。たとえば、Advance Warsには将軍用の台本が書かれていましたが、部隊にもそれがあります。
  • AIは、意図されていないときは愚かに見えることを避けなければなりません。わいせつな愚かさは知性の幻想を完全に台無しにし、常に勝利戦略もそうします。そして、不注意なスクリプトによって作成された抜け穴は、それらが最悪です。

私は、#1を緊急行動で、#2を異なる性格と人間のような「セミランダム」戦略選択で、#3をハードコーディングを最小限に抑えて慎重にテストすることで取り組むと考えました。

だから私が話しているこれらの行動は何ですか、それは使用する能力のスクリプト化されたシーケンスですか?重み付きリストの最上位の能力ですか?いいえ、私が念頭に置いていたのは、希望する知性性格タイプ、および現在利用可能な能力と武器から派生した役割の組み合わせでした。この組み合わせは、「愚かな凶暴なダメージディーラー」または「スマートディフェンシブヒーラー」として説明できます。そのため、クラスや職業などのAIの専門分野、たとえば弓を使用して、エイムのテイクやアローシャワーなどの事前定義された汎用アーチャーのコンボセットで矢を放つアーチャーAIは、ハードコーディングではなく論理的に出現します。

基本的に、これらの役割を検出して操作することが重要です。ダメージディーラー、ダメージソーカー、ディセーブルー、スカーミッシャー、ヒーラー、バッファー/デバッファー、エフェクターエリア。通常、1人のキャラクターがこれらの役割のうち少なくとも2つを実行します。

これから戦術的な面白さを引き出すために、ビヘイビアーがいくつかのケースをしっかりと処理できるようにします。

最も単純なケース。多くの弱いゴブリンがヒーローを待ち伏せしています。知覚される脅威は明らかであり、ゴブリンはいくつかの原始的な近接能力を持つ愚かな凶暴な性格を持つ各ゴブリンでプレイヤーを圧倒しようとします。その一般的な方向のAoEベースの呪文。ダメージソーカーを見つけ、AoE'erを見つけ、ダメージソーカーをAoE'erダメージタイプに特化し、ゴブリンマスにダメージソーカーを送り、ゴブリンがグループになったときにダメージAoEスペルをキャストします。

単純なチームインタラクションをテストする通常のケース。プレイヤーは騎士、射手、魔術師、聖職者に遭遇します。脅威の認識はより複雑になり、さまざまな相互作用が可能になりました。あなたはすでに可能な役割とその組み合わせを見ることができます。クレリックはバフとヒールを行い、メイジは複雑ではあるが高ダメージの魔法を使い、ナイトは誰かをチャージするか、メイジを防御します。これは騎士の選択に依存します。敵の個性は、同じ出会いをユニークな体験に変えるランダムに決定されるかもしれません。プレイヤーは、現在所有しているユニットで何が最善の戦略であるかを決定する必要があり、AIが画面の反対側で同じことを行おうとする場合は興味深いでしょう。

チームの相互作用と戦略的計画をテストする複雑なケース。4人の暗殺者(巧妙な注意深いダメージディーラー+散兵)のギャングに立ち向かう戦いがあります。数は少なく、威withするような外観で、彼らの知覚された脅威は巧みな致命的な攻撃にあり、弱点と認識されているのは、たった1人の暗殺者を殺すだけで全体の強さを簡単に減らすことができるということです。当然、彼らは賢く、お互いにうまく機能し、射撃プレイヤーの最も危険なキャラクターに集中できる能力を使用します。重傷者は退却し、治癒し、バフに参加するために自分自身をバフします。明らかに、プレイヤーは最初にそれらの1つを壊そうとします、そして、暗殺者はこの簡単な戦略をソフトカウンターしなければならないので、それはそれほど支配的ではありません。

多くの戦略のためのハードケース。いくつかの敵の部隊があり、各部隊のリーダーがローカルでの最善の戦術的動きを決定し、次にすべてのチームに利益をもたらすために最良のグローバル戦略的決定が選択されます。

不可能なケース。戦略を決定するために将軍を追加し、分隊のリーダーに最高の分隊能力にそれを実装させます。

それはすでにたくさんの手紙であるので、長い話は短く、実装は混乱であり、私は「ハードケース」を決して通過しなかったが、それでも楽しい戦術へのこのアプローチは実行可能と感じた。私はFSMから始めましたが、そのアプローチをすぐに放棄しなければなりませんでした。それは、デバッグが不可能な状態と遷移の混乱に巻き込まれました。しばらくしてから、考えられる個々のアクションの行動ツリー、考えられる個々のアクションに基づいて考えられるチームのアクションに影響を与えるグローバル戦略、または何かのろくでなしバージョンのような「感覚思考行動」パラダイムのような半自律能力知覚ベースのキャラクターで落ち着きましたN-Gramの統計的予測が投げ込まれたように。

これはどのように機能しましたか?驚いたことに、AIは何度も私の心を読みましたが、十分な説得力のある欠陥があったため、疲れて放棄しました。

  • 最大の欠点は、戦略の迅速な変更を罰したにもかかわらず、AI操作全体が時々奇​​妙で混oticとしたものになることでした。おそらく、戦略ロジックまたは間違った人格のいずれかが犯人でしたが、私は決して見つけませんでした。はい、コードアーキテクチャは恐ろしいものでした。
  • 利用可能な能力と性格を慎重に選択することにより、望ましいシナリオを微調整するのは退屈です。
  • ロールの能力タグ付けは非常に慎重に行う必要があります。そうしないと、いくつかの奇抜なコンボが表示されます。
  • パーソナリティのタグ付けについても同じですが、奇抜なコンボの代わりに、正面攻撃のために慎重なキャスターがバフしているのが見えます。
  • 特定の能力の「賢さ」レベルを決定するのは困難でした。
  • 「何があってもこの城壁を保持する」などのレベル設計に必要な、一見愚かな決定は、ハック的な方法で実装する必要がありました。
  • 時間ベースの攻撃を実行するユニットの計画もハックでした。

私のアプローチはせいぜい平凡なもので、まったく悪いものではなく、AIはバギーであり、さらに発展するための苦痛でしたが、それでも、気を散らす子供と遊ぶかのように、それと遊ぶのは本当に楽しい時間でしたTactics Ogreよりも優れています:)


あなたのアイデアのいくつかは非常に刺激的であり、少し調整することで、私が取り組んでいるシムのAIを改善できるかもしれません。
ジャンプネット

@jumpnett知っておくといいのですが、少なくとも一般的なアイデアが理解できることを望んでいました:)おまけとして、あなたのシムで、私のクレイジーな考えをもっと聞くことができます。リアルタイムシミュレーションを想像すると、最も重要な選択肢の1つは整然としたタスクスケジューラロジックになると思います。タスクをそのように整理しようとしたのではないかと思います。優先度のある主なタスク、「家を建てる」などの「戦略」、「4人の労働者、ポイント10、10の4x4の空きノード、10木製の板; 20石のスラブ」。すべての前提条件が満たされると、戦略は完了したと見なされます。
EnoughTea

各前提条件は、対応する前提条件を達成するためのサブタスクを生成します。サブタスクは、並列、順次、または相互に排他的です。タスクが正常に終了したら、前提条件を完了として設定します。たとえば、「10ストーン」タスクは「4ワーカー」タスクと「4x4プレース」タスクで連続しています。ワーカーなしでストーンを収集することはできず、プレースなしでストーンを配置することはできませんが、 「20石」タスク。これは、石はたくさんあるが木はないという状況が望ましくなく、労働者は最初に石を使用する代わりに木を待っているだけだからです。
EnoughTea

一般に、新しい戦略タスクがスケジューラに配置されたときに、すぐに開始できるかどうかを知りたい場合など、前提条件の観点からタスクを考えることは非常に便利です。このシステムを使用すると、優先度の高いタスクのすべての不完全な前提条件を簡単に収集し、新しいタスクの前提条件がそれらと競合しているかどうかを確認できます。
EnoughTea

ここでの主なボトルネックは、完了できないサブタスクの解決です。これらには2つの種類があります。1)現在完了できない、2)完了できない。一般に、#1の場合は以前の戦略に役立つ優先度の高い新しい戦略を作成し、#2の場合は戦略を永久に放棄する必要があります。事は、これらの2種類を区別するのは難しいことです。ここではあまり言えません。まあ、あなたのアプローチはすでにこのようなものかもしれませんが、多分あなたはいくつかのアイデアを
探し出す

4

アクションXにアクションYで常に応答するようにしないでください。各潜在的なアクションを評価するときに、ランダムなファッジファクターを追加して、AIが常に同じオプションを選択するのではなく、適切なものを選択するようにします。

攻撃が成功するか、少なくとも意味のある損害を与える合理的な機会があるかどうかを評価します。あまりにも多くのゲームには、人間がAIを繰り返し待ち伏せするために学習して使用できるスクリプト化された攻撃ルートがあります。


3

私が多くのことを示唆していることの1つは、AIにその「考え」を何らかの方法でプレーヤーに伝えることです。これはしばしば、一人称視点のシューティングゲームで、敵に(非現実的に)プレイヤーに計画を叫ばせることによって行われます(つまり、「脇腹!」、「彼はそこにいます!」など)。

結局のところ、プレイヤーは自分がAIと対戦していることを知っているので、AIが最初にプレイヤーに通知することなく行う賢いことは、不正行為として却下されます。


暗殺者の信条では、追われると追跡者は「彼はここにいる!」と叫ぶでしょう。または「彼はどこに行ったの?」または他の追跡者にそのようなもの。だから私見:それは現実的なことができます。
ジェームズ・コーリー

1
確かに、それは多くの場合に意味があり、ゲームのコンテキストに依存する可能性があります。Assassin's Creedのガードは、たとえば現代のSWATチームとは異なるコミュニケーション方法を持っています。多くの場合、現実的なソリューションは必ずしも楽しいとは限りません。警告なしでAIが常に横に並んでいるのはイライラする可能性があります。
mrohlf

1

多くの場合、「AIをどのように作成しますか?」

これは、「AIとは何か?」という大きな質問をスキップしています。

私が数年前に見たTED.comからのこの講演は、人工知能の定義に対する非常に刺激的なアプローチを共有しました。

プレイヤーに敵が「インテリジェント」であると感じてもらいたい場合、これは高レベルの答えを提供し、本質的にAIについてのまったく新しい考え方、つまり「予測する能力」を提供します。

http://www.ted.com/talks/jeff_hawkins_on_how_brain_science_will_change_computing.html


0

私にとって、「生きていると感じる」とは、キャラクターが実際の生活で思うように行動することを意味します。

実生活の人々には、ニーズ、動機、恐怖、欠陥があります。彼らは話し、彼らがグループであれば互いに反応し、彼らは自分の人生を大切にするので逃げます。

彼らが軍事的または訓練されている場合、彼らは戦術を持っています。

そのため、コンピューターサイエンスではなく、人間科学の分野でチェックする必要があります。


1
うーん、これについてはわかりません。何よりもAIは楽しいものでなければなりません。敵が逃げるのは楽しいですか?ゲームの重要なポイントは戦うことだから、きっと彼らと戦うのはもっと楽しいだろうか?
tenpn

それはあなたが望む楽しみ次第です。人々はシミュレーションに楽しみを感じ、他の人はアーケードゲームに夢中になります。
日光
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.