私はRTSゲームを作成しており、地形全体がグリッド(x座標とy座標のセル)のようなものです。私はグループ(軍事ユニット)にカップルの兵士がいて、ポイントAからポイントBに送りたいです(ポイントAとBの間は障害物です)。私はA*アルゴリズムを使用して1人の兵士を解くことができますが、それは問題ではありません。私の兵士のグループが常に一緒に行くことを達成する方法は?(いくつかのコーナーケースが分かれて同じ目的地に異なる方法で行くとき、私はグループのリーダーを選ぶことができますが、兵士が同じセルに行く必要はありませんが、リーダーによって、たとえば右側のカップル、カップル可能であれば左側)。過去に同様の問題を解決した人はいますか?アルゴリズム変更のアイデアはありますか?
2 に答える
群れのアルゴリズムが必要です。このアルゴリズムでは、パックのリーダーがA *の指示に従い、もう一方がフォーメーションのリーダーに従います。
あなたが非常に大きなフォーメーションを持っている場合、あなたは「この小さな穴を通してそれらすべての兵士をどのように合わせるか」のような問題に直面するでしょう、そしてそれはあなたが賢くなる必要があるところです。
例としては、狭い場所に単一の線を形成することを強制することができます。他の例では、グループをより小さな分隊に分割する必要があります。
兵士があまり多くない場合、簡単な変更は、問題を、各兵士が2次元を表す多次元問題と見なすことです。この多次元空間に封じ込めを追加して、兵士が互いに接近していることを確認できます。ただし、これは計算コストが高くなる可能性があります。
Artifical Potential Fieldsは通常、より安価で実装が簡単です。そして、それらは協調戦略に拡張することができます。グラフ検索手法と組み合わせると、極小値にとらわれることはありません。Googleはたくさんの出発点を提供します:http ://www.google.com/search?ie = UTF-8&oe = utf-8&q = motion + planning + potential + fields