Estoy desarrollando un RTS basado en mosaico en tiempo real. Este es un mapa de ejemplo:
Este mapa consta de 4 regiones con 256 fichas cada una. Los azulejos azules representan obstáculos. Las unidades pueden moverse en las ocho direcciones estándar. Las unidades están unidas a azulejos; Una ficha puede contener una unidad.
Estos son algunos ejemplos de los caminos ideales que estoy buscando. Cosas típicas de A *:
Mi pregunta es: ¿es aplicable una malla de navegación a un RTS basado en mosaico? Solo he visto mapas de navegación utilizados en juegos donde las unidades se mueven libremente y no están unidas a una cuadrícula de fichas. ¿Cómo se vería la malla de navegación en este mapa en particular? Una imagen de ejemplo sería excelente.
path-finding
rts
navmesh
mario_sunny
fuente
fuente
Respuestas:
Sí, las mallas de navegación siguen siendo aplicables a los juegos basados en mosaicos. Aunque, se utilizarían principalmente como una optimización. Por ejemplo, he convertido la parte inferior izquierda de su imagen para usar una malla de navegación:
En este caso, cada cuadrado verde sería un nodo de navegación. Como puede ver, esto reduce drásticamente la cantidad de nodos que A * necesita procesar. Las unidades pueden simplemente dirigirse al centro de cada uno de estos nodos.
La generación de estos nodos es un problema diferente. Puede ser complejo decidir cómo formar los nodos. Hay algunas preguntas en el sitio donde puede encontrar algunas ideas sobre cómo le gustaría implementar eso:
Subdividir un polígono en cajas de diferentes tamaños.
Identificar patrones cuádruples en una matriz bidimensional
/programming/20220215/minimum-number-of-rectangles-in-shape-made-from-rectangles
Esta malla de navegación también se puede utilizar esencialmente como una búsqueda de ruta de "primer paso". Si se encuentra una ruta a través de la malla de navegación, sabrá que existe una ruta. Esta es una prueba más rápida para ver si hay dos puntos conectados.
fuente