究極の非常識なリアルタイム戦略ゲームAIを改善するために何ができるでしょうか?


12

リアルタイム戦略ゲームでリソースの不正行為をせずに人間を倒せるAIを作成できるかどうかについて、私の友人とこのチャットをしました。ほぼ完璧にプレイできるAI。今日のゲームのAIには、改善できる多くの領域があり、それらのほとんどはリソースの不正行為、それによる早期のベース開発の改善、および波の攻撃に依存しています。

それでも、問題は、究極のAIを取得するためにこれを改善するために何をする必要があるかです。また、特定の機能が使用されたゲームの例がある場合、それは素晴らしいでしょう。

編集:タイトルや問題を説明するいくつかの段落を読んでいない人に提供できる説明はほとんどありません。これは、リアルタイム戦略ゲームと究極のAIについてです。これは、Strarcraft、Warcraft、Generals、Red Alert、Age of Empires、AI Warなどのゲームです。複数の難易度がありますが、ここでの焦点は究極の挑戦です。

tenpnには素晴らしいリソースで満たされた素晴らしい投稿があります。ありがとう、tenpn!もっと多くの人がその方向に貢献してくれることを願っています。


6
本当にこの質問は、特定のケースがなければ意味がありません。すべてのゲームは、関与するゲームの仕組みに応じてAIの実装方法が異なり、「ゲームを改善する方法」は大きく異なります。ここには「正しい」答えがないため、少なくともこれはコミュニティWikiである必要があります。
-MrCranky

2
前者に加えて:チェスは戦略ゲームであると考えてください。
-Rushyo

1
なぜしたいのですか?Pongのゲームに最適なAIを作成することは絶対に簡単で、対戦するのはまったく楽しいことではありません。ゲームAIの目標は、プレイヤーを倒すことではありません。なぜなら、楽しんでいるのは(コンピューターではなく)プレイヤーだからです。
イアンシュライバー

1
Ian:OPはPongとは非常に異なる何かについて話している。無敵のPong AIやTic-Tac-Toe AIを簡単に作成できます。チェスはAIに連れて行かれ、非常に最高のプレイヤーだけが敗北することができます。しかし、RTSは別の球技です。
共産主義のダック

2
STRIPSアルゴリズムに興味があるかもしれません。
user712092

回答:


12

答えるのは難しい質問です。改善が必要なものを述べるには、動作する既知のAIが必要です。ただし、aigamedev.comからのRTS AIの例を次に示します(登録が必要です)。

残念ながら、本当に良いもののほとんどはペイウォールの背後にあります。

一般的なAIソリューションは、目標指向アクションプランナーです。これは、ルールを使用して計画を作成し、目標を達成します。しばらく経ちましたが、とてもクールです。あります簡単な概要それはFPSに適用されています方法についてのジェフ・オーキンのサイト上で利用可能(PDF)は、しかし、(異なるルールや目標と)まったく同じ原理がのRTSのために働きます。

多くのRTSはGOAPの階層を使用し、異なるレベルが上のレベルから目標を受け取り、戦場の詳細の異なるレベルに関係します。このように構成されたいくつかの第二次世界大戦の16進ウォーゲームのAIに関する素晴らしい記事を読みましたが、それはすべてグーグルであるため、今はリンクを見つけることができません。私を助けてくれる人なら誰でもゴールドスター。

もちろん、GOAPや他のプランナーの有効性は、ゲームワールドをどれだけうまく解析できるか、そしてアクションと目標がどれだけ洗練されているかに依存します。

その他の一般的な技術には、スコアリングと優先順位のためのユーティリティアーキテクチャ(pdf)、ゲーム世界を解析するための黒板が含まれます。


6

ポイントは、AIを持っているなら

リアルタイム戦略ゲームでリソースの不正行為をせずに任意の人間を倒すことができます

その後、最初のレベルを超えることができなかったため、誰もプレイしないゲームがあります。

AIプログラミングの最も難しい部分は、AIをビートにできるようにすることですが、少しのスキルを持っている人がビートにできるようにすることです。簡単に打ち負かすことができれば、プレイヤーは挑戦の不足によって先送りされ、やり過ぎになり、人々はいつもbeatられてうんざりします。

そのため、複雑なAIを作成することは難しくありません(難しいことではありません。AIはプレイエリア内のすべてを同時に処理できますが、プレーヤーは画面上のもののみを処理できます)。


1
明確にするために、AIは(UIの制約により)人間が期待できるよりも優れた粒度でユニットを制御できるため、人間を倒せるAIを作成することはそれほど難しくありません。AIはイベントへの反応、ユニットの選択、コマンドに数秒かかりますが、AIはイベントに応じて「ゲームターン」ごとに各ユニットの注文を個別に更新できます。しかし実際には、ゲームが退屈になるため、これは行われません。本当に難しい部分は、AIを打ち負かすのに十分なバカにすることです。
スキズ

3
明確化を明確にするために、無敵のAIを作成することはそれほど難しくありません。打ち負かしやすく、挑戦的で魅力的なAIを作成することは、はるかに困難です。
スキズ

3

多くのことを行うことができましたが、この質問に対する私の即時の反応は反論でした。そして、なぜこの人は別の人間の対戦相手とオンラインで対戦しないのですか?

重要な点は、AIを無敵にすることでなく、同じマップ上で3人または7人のAI対戦相手と対戦するのに十分な速さで考える(たとえば、ショートカットを作成する)ことです。通常のコンピューター。今日、そして明日でさえ、これから10年経っても変わらないことを期待しています。

次の問題は、AIが厳格なルールに従っている限り、悪用される可能性があるということです。あいまいなルールでさえ、エクスプロイトに対して脆弱になります。AIは学習する必要があり、意図的および意図的ではないミスを犯す必要があります。また、あなたを驚かせる必要があります。そして、あなたは別の人間と対戦しています。AIは、アルゴリズムと処理能力の両方の観点から人間の考え方を模倣することすらできないため、対戦するのがそれほど楽しくない単一のプレイヤーAIに時間を無駄にしない方がはるかに良いでしょう関係する社会的要因のみの場合、人間。


1

「リソースの不正行為」と定義するのは、レーシングゲームの「ブーストバランシング」のようなものです。「ブースト」は、パックを互いに比較的近くに配置して、タイトなレースの錯覚を作り出すために使用されます。プレイヤーがリードにいない場合、CPUプレイヤーが視界内にとどまる可能性があり、プレイヤーリードにいる場合、CPU自体が平凡なドライバーであっても、プレイヤーを尻尾に直接乗せてプレッシャーをかけ続けます。

RTSでは、最適に配置できる値のコレクションを見ています。リソースを取得するのにかかる時間、建築物の費用、マップの移動時間などを正確に知っています。

あなたがテーブルを作成し、すぐに利用できる情報を持っている人であれば、出力に最適な比率を見つけるためにデータを処理する数の問題です。

しかし、競技場の状況に基づいて常にまったく同じことをする敵と対戦するのはどれほど楽しいですか?

あなたはカオスを追加します。AIにスライディングスケールで効率を与えます。プレイヤーに嫌がらせをします。プレーヤーの調子が良すぎると思われる場合は、AIを少しチートして、プレーヤーをつま先に維持するための追加のリソースまたは強化を与えます。

プレイヤーは、弱いAIにスパンキングしたり、Hal9000によって虐殺されたりするのではなく、やりがいのある相手に直面する満足感を感じてほしい。CPU対戦相手の完璧さは、その不完全さにあります。:)


2
そして異なるが、関連している:AIが技術的に最良の選択肢ではないことを時々するのはいいが、ゲームにちょっとした楽しみを追加する、例えば、珍しいユニットや動きを使用する(例えば、プレイヤーのベースの後ろに軍隊を空中投下する) )
バートヴァンヒューケロム

0

大きなことの1つは、ゲームの戦略的開発に遅れずについていく必要があるということです。AIがStarcraft 1の試合(フェアプレイ)で勝つためには、海兵隊の中核軍隊がTerran対Terranのゲームをプレイする方法であると考える場合、開発の量はありません。

これにより、時代遅れの戦略の選択によりAIが一貫して負けないようにするだけでなく、AIが実行可能な選択をする場合、ゲームへのアプローチのレパートリーが大きくなるため、AIがより魅力的になります。

豊富な戦略ツリーでは、難易度スライダーも使用できます。たとえば、非常識なZerg AIは、敵に適応し、機会があれば急速に拡大できる柔軟なアプローチを取る傾向がありますが、通常の難易度レベルでは、より硬いビルドを選択し、大規模な拡大の傾向が少なくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.