Atualmente, estou desenvolvendo um jogo do tipo Diablo para plataforma móvel (iphone5 +).
Uma simples pesquisa A * encontrará o caminho, mas a prevenção de colisões ainda precisa ser levada em consideração.
Haverá cerca de 50 monstros ativos ao mesmo tempo, então o desempenho é muito importante.
Encontrei alguns métodos que podem funcionar.
NavMesh + RVO
A biblioteca de reformulação / desvio funciona bem por
pathfinding
parte, mas sua simulação de multidão rapidamente atinge o limite (mais de 5 ms para 30 agentes).Outra biblioteca RVO2 parece bem (menos de 2ms para 50 agentes), mas a biblioteca tem alguns problemas de licença.
Campos de fluxo + mecanismo de física
Muitos jogos RTS usam esse método, mas parece que é necessário um mecanismo de física para resolver colisões. Se muitos agentes não compartilham um objetivo comum, esse método pode custar mais do que a busca de caminhos A * tradicional.
Comportamentos de direção + Mecanismo de física
Comportamentos de direção incluem muitos conceitos, acho que
simple avoidance behavior
podem funcionar (apenas vire à esquerda / direita se houver algo na frente), mas o método ainda requer um mecanismo de física para trabalhar em conjunto.
Ainda não tenho certeza de qual usar, talvez exista outros métodos de busca de caminhos e prevenção de colisões.
O PS Halo:Spartan Strike
usa o Havok AI (baseado no RVO?), Mas eu não vi muitos inimigos naquele jogo, então me pergunto se o primeiro método (NavMesh + RVO) funcionará bem na plataforma móvel.