¿Cómo funciona el algoritmo de búsqueda de ruta de Age of Empires II?

Se utiliza alguna variación del algoritmo A * en Age of Empires 2 para encontrar la ruta.

Si has jugado este juego, debes ser consciente de que un mapa en AOE2 es una cuadrícula de cuadrados . Algunas de las plazas están etiquetadas como inaccesibles (agua, árboles, edificios, plazas con unidades en ellas, etc.). La búsqueda de ruta en una cuadrícula es igual a la búsqueda de ruta en un gráfico, ya que puede construir un gráfico en el que cada cuadrado sea un vértice y el cuadrado adyacente tenga un borde entre ellos.

Un algoritmo * es una desviación del algoritmo de Dijkstra que realiza un seguimiento del costo total desde el nodo fuente. Sin embargo, el algoritmo A * hace uso de la distancia al destino junto con el costo. Debido a esta heurística, está mejor equipado para tomar la ruta deseada, en lugar de visitar todos los puntos uno por uno (algo de Dijkstra).
Para una breve información sobre algoritmos de búsqueda de ruta conocidos: ¿Algoritmos de búsqueda de ruta?
El artículo de Wikipedia sobre el algoritmo de búsqueda A * contiene una bonita animación.

Además, hay un problema conocido con la búsqueda de ruta en AOE2: existe una pequeña probabilidad de que las unidades se atasquen detrás de los árboles, cuando le pide a un grupo de unidades que vayan a un destino.

Un error en el algoritmo es que sabe que existe un camino incluso antes de caminar hasta allí. La niebla de la guerra se ignora al hacer esto. ¡Nos ayuda a encontrar rutas para llegar fácilmente! Sería interesante escribir un algoritmo que tome la niebla de guerra junto con A *, y usar algo como el aprendizaje de refuerzo para lidiar con las penalidades de tomar la ruta incorrecta. camine y piense que está mal y corríjalo.