「城を守る」タイプのゲームでプレイヤーの「力」を計算する


10

私は「ディフェンドユアキャッスル」タイプのゲームを作っています。各プレイヤーには城があり、敵の城を破壊するためにユニットを送る必要があります。それはこのように見えます(そうです、これは実際のゲームであり、簡単なペイントの描画ではありません。):

ここに画像の説明を入力してください

今、私は対戦相手のAIを実装しようとしています。簡単、通常、ハード、ハードコアの4つの異なるAIレベルを作成したいと思います。これまでに「深刻な」AIを作成したことがなく、今回は完全なAIを作成したいと思います。

私のアイデアは、城の現在のヘルスとユニットの個々の「パワー」スコアに基づいて、プレイヤーの「パワー」スコアを計算することです。次に、AIはスコアをプレーヤーのスコアに近づけようとします(Easyはスコアの下に留まり、Normalはその近くに留まり、Hardはスコアを上回ろうとします)。しかし、プレイヤーのパワースコアを計算する方法がわかりません。考慮に入れるには変数が多すぎて、それらを適切に使用して1つの有意な数(電力レベル)を作成する方法がわかりません。

誰かがこれを手伝ってくれる?

プレーヤーのパワースコアに影響を与える変数は次のとおりです。

現在の城の健康、ユニットの全体の健康、ダメージ、スピード、攻撃範囲。 また、プレイヤーは収入(マネーバッグ)、ダメージ(+ダメージ)、スピード(+スピード)を増加させることができます...スコアにそれらをどのように含めることができますか?

私は本当にここで立ち往生しています...または、このタイプのゲームにAIを実装できる他の方法はありますか?

貴重なお時間をありがとうございました。


いずれかの部分が十分に明確でない場合、またはゲームでの機能の処理方法に関する詳細情報を提示する必要がある場合は、コメントを残して質問を編集します。また、これはコミュニティWikiである必要がありますか?個人的には主観的または議論的だとは思いませんが、私は間違っているかもしれません。
Jesse Emond、2011年

回答:


4

これがどれほど簡単に言えるかはわかりませんが、各変数の重要性を見つけることは、おそらく開始する場所です(50のヘルスを得た場合、10秒長く持続できます。5ダメージを得た場合、 50ヘルスを10秒早く破壊できる;など...)その後、能力を正規化することは価値があるかもしれません(50の健康は10の速度は100の収入と同じです)。

これを見つける簡単な方法は、シミュレーションを実行することだと思います。1人のプレーヤーを1つのレベルに保ち、個々の変数を調整してスケールを調整します。


3

まず、収入や速度のアップグレードなどの短期的なメリットは考慮に入れません。プレイヤーがこれらのことがしばらくの間役立つことを期待していると思います。AIがすぐに順応して強くなることではありません。

そして残りのために:それを試してみてください。あなたにとって理にかなっていると思われるパワー式から始めて(nimbus57の応答は良い出発点になるはずです)、次に式とAIを繰り返し開発します。

最後に大事なことを言い忘れましたが、基になる数式をプレーヤーが悪用して不当なアドバンテージを獲得できないようにしてください。また、その動作があまり明白ではないので、ランダム性を少し取り入れてください。

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