私はそのようなブログについては知りませんが、戦術的なターンベースの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よりも優れています:)