Age of Empires III

Entramos en materia en una de las ramas de la IA aplicada a los juegos que
casi siempre está presente en los juegos de actualidad. En este caso nos centramos
en los juegos de estrategia en los que independientemente de la visión que tengamos
del mundo en el que nos movemos, generalmente se puede representar por una malla
cuadrada.

Generar una estrategia de búsqueda de caminos o pathfinding en un juego de estrategia
y en general para cualquier juego, calculando teniendo en cuenta todos los píxeles o
incluso a una resolución menor, a nivel interno por ejemplo mediante cálculos matemáticos
es una tarea tanto ineficiente como ineficaz ya que generalmente no es necesario un nivel
de precisión tan ajustado, ni siquiera a la mínima unidad que podemos medir (no calcular),
el píxel.

Starcraft II. Volumen alto de unidades

Lo adecuado en este caso es generar una malla que se situa sobre el entorno y que define
las posiciones que una unidad puede ocupar. Para aumentar el realismo se puede definir
un sistema de posicionamiento aleatorio que genera una posición exacta a nivel de píxel
que hace que la unidad se coloque de forma aleatoria en cualquier lugar de la malla.

Centrandonos en los juegos de estrategia nuestros algoritmos tendrán que tratar principalmente
con dos particularidades: los diferentes tamaños de unidades y los diferentes terrenos.

En cuanto a los tamaños de las unidades, para simplificar y hacer más rápidos y sencillos
nuestros algoritmos utilizaremos unidades enteras. De este modo una unidad militar puede tener
un tamaño de 1, 2 o N.

Diferentes unidades

Los diferentes terrenos pueden ser por ejemplo tierra, espacio solo para unidades voladoras,
agua para vehículos acuáticos o cualquier otro tipo. Los diferentes vehículos pueden no solo
ceñirse a terreno, por ejemplo anfibios o aéreos.

Diferentes unidades Age of Empires

El mundo se convierte en una malla como la que vemos a continuación donde cada posición de la
estructura es una posición abarcable por las unidades, en caso de que puedan moverse por el tipo
de terreno. De este modo, la representación del mundo queda definida por un conjunto de posiciones
con un tipo de terreno en cada posición. Las unidades se definen además de por sus características
usuales, por su capacidad para moverse por diferentes terrenos.

Por ejemplo. Vehículo terrestre: Movilidad { tierra }. Marine
Vehículo marino: Movilidad { agua }. Barco
Vehículo aereo: Movilidad {agua, tierra, etc}

Vista del mallado

Una vez definidos los elementos que permiten hacer el problema abarcable y manejable, nos preocuparemos
en ver que algoritmos y procedimientos nos permiten generar una trayectoria o camino válido
para las posiciones de las unidades: Grafos de ckaridad, A estrella simple, A estrella anotado,
algoritmo de Brushfire, Algoritmo A estrella Anotado Jerárquico. Hierarquical Anotated A Star (HAA*),
Pathfinding basado en grafos de claridad y búsqueda con el Algoritmo A estrella anotado jerárquico
, Planificación de caminos jerárquico para agentes de múltiples tamaños en entornos heterogéneos,
Búsqueda de caminos Jerárquica Casi óptima
o Pathfinding y funciones potenciales.

A partir de Ahora cuando vayais a comprar el pan o a hacer algun recado acordaros de dividir vuestra escena en mallas para optimizar el proceso. El procedimiento automático también es valido por eso.

Por lo pronto hasta aqui llegamos hoy. Lo demás lo veremos en detalle.

Hasta la próxima