現在、モバイルプラットフォーム(iphone5 +)用のDiabloのようなゲームを開発しています。
単純なA *検索でパスが見つかりますが、衝突回避を考慮する必要があります。
同時に約50体のモンスターが活躍するので、パフォーマンスは非常に重要です。
私はうまくいくかもしれないいくつかの方法を見つけました。
NavMesh + RVO
リキャスト/迂回ライブラリが上うまく機能
pathfinding
部分が、その群衆シミュレーションは、迅速(30の物質については5ms以上)の限界に達します。別のライブラリRVO2は問題ないようです(50エージェントで2ミリ秒未満)。ただし、ライブラリにはライセンスの問題があります。
フローフィールド +物理エンジン
多くのRTSゲームはこの方法を使用していますが、衝突を解決するには物理エンジンが必要なようです。多くのエージェントが共通の目標を共有していない場合、この方法は従来のA *パスファインディングよりもコストがかかる可能性があります。
ステアリング動作 +物理エンジン
ステアリング動作には多くの概念が含まれていますが、機能する
simple avoidance behavior
可能性はあると思います(正面に何かがある場合は左/右に曲がるだけです)が、この方法でも物理エンジンが連携する必要があります。
どちらを使用するかはまだわかりません。おそらく他のパスファインディングと衝突回避の方法が存在します。
PS Halo:Spartan Strike
はHavok AI(RVOベース?)を使用しますが、そのゲームには多くの敵がいなかったので、最初の方法(NavMesh + RVO)がモバイルプラットフォームでうまく機能するかどうか疑問に思います。