Derzeit entwickle ich ein Diablo-ähnliches Spiel für die mobile Plattform (iphone5 +).
Eine einfache A * -Suche findet den Pfad, aber die Vermeidung von Kollisionen muss noch berücksichtigt werden.
Es werden ungefähr 50 Monster gleichzeitig aktiv sein, daher ist die Leistung sehr wichtig.
Ich habe einige Methoden gefunden, die funktionieren könnten.
NavMesh + RVO
Die Neufassung / Umleitungsbibliothek funktioniert gut
pathfinding
, aber die Crowd-Simulation erreicht schnell das Limit (mehr als 5 ms für 30 Agenten).Eine andere Bibliothek RVO2 scheint in Ordnung zu sein (weniger als 2 ms für 50 Agenten), aber die Bibliothek hat einige Lizenzprobleme.
Strömungsfelder + Physik-Engine
Viele RTS-Spiele verwenden diese Methode, aber es scheint, dass eine Physik-Engine erforderlich ist, um Kollisionen aufzulösen. Wenn viele Agenten kein gemeinsames Ziel haben, kostet diese Methode möglicherweise mehr als die herkömmliche A * -Pfadfindung.
Lenkverhalten + Physik-Engine
Das Lenkverhalten enthält viele Konzepte, von denen ich denke, dass
simple avoidance behavior
sie funktionieren könnten (biegen Sie einfach nach links / rechts ab, wenn sich etwas vor Ihnen befindet), aber die Methode erfordert immer noch eine Physik-Engine, um zusammenzuarbeiten.
Ich bin mir immer noch nicht sicher, welche ich verwenden soll. Vielleicht gibt es andere Methoden zur Pfadfindung und Kollisionsvermeidung.
PS Halo:Spartan Strike
verwendet Havok AI (basierend auf RVO?), Aber ich habe in diesem Spiel nicht viele Feinde gesehen, daher frage ich mich, ob die erste Methode (NavMesh + RVO) auf mobilen Plattformen gut funktioniert.