妥当な4XゲームAIを行う


8

私はかなり「単純な」4Xゲームをコーディングしています(4Xゲームが単純な場合)。それはインディーズの範囲内であり、何ヶ月もかけてコーディングをせずに、まずまずのAIを思い付くことができるかどうか疑問に思っています。

ゲームには3つの主要な意思決定部分があります。生産ポイントの消費、移動ポイントの消費、技術ポイントの消費(基本的に3つの異なる「通貨」があり、ターン終了時に未使用の通貨は保存されません)

  • 生産ポイントを使う
    • 惑星をアップグレードする(技術と生産を増やす)
    • 造船(3種類)
  • 惑星から惑星への船の移動(移動ポイントを計算)
    • 攻撃する
    • 要塞に移動
  • Research Tech(Master of Orionのように、技術を部分的に研究できます)

私の現在の計画は、力ずくのアプローチです。プレーヤーには基本的に4つの幅広いオプションがあります-

  1. 惑星をその生産と技術出力にアップグレードする

  2. できるだけ多くの惑星を征服する

  3. できるだけ多くの惑星を確保する

  4. できるだけ早く特定の技術にアクセスする

決定ごとに、可能なオプションを繰り返し、スコアを出します。AIは最も高いスコアの決定を選択します。現在、私はどのように「決定を混合する」か分かりません。つまり、たとえば、AIは惑星のアップグレードと征服を同時に望んでいます。これらの4つの決定の組み合わせでブルートフォース最適化を実行する別のロジックを使用できると思います。

少なくとも、これ以上何も考えられない場合の私の計画です。合格できるAIを作成するより速い方法はありますか?ディープブルーなどに対抗するために、知性の幻想を持っているものだけは必要ありません。

初めてこの規模でAIを実行するので、あまりにも壮大なことはしないでください。これまでのところ、FSM、DFS、BFS、A *の経験があります。


2
この問題にアプローチする正しい方法は、自分で調査することです。あなたが説明したことを実装し、それがどれだけうまく機能するかを見てください。次に、それを改善します。適切なアルゴリズムがあると思ったら、AIを再実装して新しい構造を使用します。これをLuaのようなスクリプト言語で構築して、古いコードを簡単に破棄できるようにすることをお勧めします。
Nicol Bolas

明確にするために、私は自分が考えていることを実装してみることができます。min-maxingや従来の「iterate-and-compute-best-score」方式以外にAIを作成する方法は他にあるのだろうかと思います。
Extrakun

回答:


4

ミニマックスを試して自分の決定を「ミックス」できるように思えます。昨年のゲームAIカンファレンスでGreen Corpの背後にいるプログラマーによる講演があり、それが彼らがAIを構築するために使用したものです。それを正しくするのに多くの時間がかかりましたが、彼らはまともな結果を持っています。


1

興味をそそるのに十分であり(そうであると仮定する必要があるか、または今すぐ終了することができます)、それがネットワーキングをサポートしている場合、この種のことに対する最善の行動方針は次のとおりです。

  • AIなしでマルチプレイヤーを構築
  • クライアントに送信されるすべてのデータをAIが簡単に「理解」できるようにする
  • 非常にシンプルなAIを作成します。これにより、なんらかのスクリプト、または多くの構成オプションを使用できます
  • プレーヤーがAIスクリプトを変更してゲームにバインドできるようにし、AIがネットワーク経由でプレイできるようにします。

そうすることで難しいのは、AIをスクリプト化してこのように使用できるようにすることであり、実際のAI最適化をプレーヤーに「外部委託」するだけです。

これにより、AIが大幅に向上するだけでなく、ゲーム自体に多くの価値が追加されます。

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