私はJavascriptでタワー防衛ゲームを作成しようとしています。質量astarの経路探索
これは、すべての経路探索から離れても起こっている。..
私はこのウェブサイトからASTARコードを使用しています:http://www.briangrinstead.com/blog/astar-search-algorithm-in-javascript(私はかなり最適であると考えている)バイナリヒープを使用しています
問題I私は人々が "攻撃者"の道を塞ぐことを許可したいと思っています。これは、各 "攻撃者"が単独で出口に向かう道を見つけることができる必要があることを意味します(誰かが単一の "攻撃者"を切断し、出口に向かって独自の方法を見つける必要があるため)。現在、5/6の攻撃者はいつでも問題を発見することができます。しかし、パスが10人以上の攻撃者に対してブロックされているとすれば、そのうちの10人は同時にパスファインディングスクリプトを起動して、FPSを1秒あたり約1/2に落とす必要があります。
これは誰でもいつでも多くのエンティティの経路探索を行っている人にとって共通の問題であるため、私のアプローチよりも良い方法が必要であると思います。
私の質問は、最も効率的な方法で複数の "ボット"にマスパスファインディングアルゴリズムを実装する最良の方法は何ですか。
おかげで、
ジェームズ
は、線形時間がかかります)ので、実装は最適ではありません。 –
私は少しスピードアップできるかどうか見てみましょう。しかし、私はより効率的なパスを見つけても、私がボットを試してみると遅いフレームレートで終わるだろうと考えています。 – james
@jamesこれはほとんどのタワーディフェンスのようなもので、大体スクリーンの価値があり、複雑なコリソンはありません(つまり、ボットはお互いまたは他の動く物体と衝突しません)。あなたはこれを別々に扱います)、そうすれば、私はマップ全体のパスを計算するのが一番良いと思います。実際には、フレームごとにマップ全体を再計算する必要はないでしょう。注意深くアルゴリズムを構築する場合は、どのノードがユーザー変更の影響を受けるかを判断し、それらのノードから「上流」のみを再計算する必要があります。興味深いですね! – Tim