Então, eu entendi como usar o A * para encontrar caminhos, e posso usá-lo em uma grade. No entanto, meu mundo de jogo é enorme e tenho muitos inimigos se movendo em direção ao jogador, que é um alvo em movimento, portanto, um sistema de grade é muito lento para encontrar caminhos. Preciso simplificar meu gráfico de nós usando uma malha de navegação.
Compreendo o conceito de "como" uma malha funciona (encontrar um caminho através de nós nos vértices e / ou nos centros das bordas dos polígonos).
Meu jogo usa obstáculos dinâmicos que são gerados proceduralmente em tempo de execução.
Não consigo entender como pegar um avião com vários obstáculos e dividir programaticamente a área que pode ser percorrida em polígonos para a malha de navegação, como na imagem a seguir.
Por onde começo? Como sei quando um segmento da área passível de locomoção já está definido, ou pior, quando percebo que preciso subdividir uma área passível de locomoção definida anteriormente, pois o algoritmo "percorre" o mapa?
Estou usando javascript no nodejs, se isso importa.