Publicidad
Publicidad

Más contenido relacionado

Publicidad

Análisis táctico

  1. Inteligencia Artificial para Videojuegos Evaluación y coordinación Análisis táctico
  2. ● En esta lección veremos técnicas para obtener toda la información táctica posible al evaluar un determinado escenario, para así poder decidir en consecuencia ○ Alternativas al uso de un grafo con puntos de ruta tácticos Análisis táctico 2 Motivación
  3. ● Unreal trae de serie un sistema de consultas al entorno (EQS) para, por ejemplo, posicionarse para para disparar ● En Unity existe la herramienta de pago APEX Utility AI Análisis táctico 3 Motivación
  4. ● Una de las primeras técnicas para obtener información táctica en videojuegos fueron los mapas de influencia ○ Se comenzaron a usar en juegos RTS y se hicieron muy populares en el género Análisis táctico 4 Hitos históricos Herzog Zwei (1989), primer RTS y precursor del MOBA
  5. ● Millington prefiere este término, más genérico y no necesariamente militar ● El entorno debe representarse en regiones usando algún esquema de división ○ Para ello, se pueden utilizar los mismos esquemas que explicamos para la navegación ■ Por herencia de los RTS es tradición usar grafo de baldosas (principal) o teselación de Dirichlet ● La técnica básica es el mapa de influencia ○ Consiste en que la IA reconozca zonas de influencia para cada ejército en el escenario Análisis táctico 5 Análisis táctico TACTICAL ANALYSIS
  6. Análisis táctico 6 Mapa de influencia * Ejemplo: el círculo denota una zona buena para organizar un ataque contra W, su frontera tiene menos influencia de su ejército que la nuestra, la de los B (¡Ojo! tanto para W como para B, cuanto más claro es el gris, mayor influencia) INFLUENCE MAP
  7. ● En cada región los factores básicos son la proximidad de unidades y/o bases de un ejército y su poder militar (relativo al otro) ● Simple y eficaz, aunque con complejidad O(unid. * regiones) que debe optimizarse a. Radio de efecto limitado, a partir del cual ya no hay influencia (es decir, nos ahorramos calcularla) b. Filtros de convolución (como el Gaussiano), la utilidad táctica de una región se calcula en función de sus vecinas directas (iterando mucho) c. Inundación del mapa, copiar el mismo valor en todo el radio de influencia de la unidad Análisis táctico 7 Mapa de influencia LIMITED RADIUS OF EFFECT CONVOLUTION FILTERS MAP FLOODING * Rápido y burdo
  8. Análisis táctico 8 Mapa de influencia * Lógicamente, la incertidumbre (desconocer parte del escenario) puede hacerte creer que estás en una situación muy diferente a la real
  9. ● Tras los mapas de influencia, centrados en el enemigo, la segunda técnica más frecuente es analizar propiedades del terreno como movilidad, alcance… ○ Ej. Buscar la mejor región desde donde disparar ○ Es habitual distinguir tipos de terreno y combinar eso con la altura (relativa a vecinas) de la región ○ El alcance de una región suele medirse también en número de regiones que son visibles desde allí Análisis táctico 9 Análisis de terrenos TERRAIN ANALYSIS
  10. ● Si se registran partidas, puede hacerse aprendizaje mediante mapas de bajas ○ La utilidad táctica de una región sube si desde allí se matan enemigos, y baja si allí te matan unidades propias Análisis táctico 10 Análisis de terrenos FRAG MAPS
  11. ● Millington propone un modelo multicapa: unificar los mapas de influencia con el análisis de varias propiedades del terreno Análisis táctico 11 Análisis multicapa MULTI-LAYER ANALYSES
  12. ● Cada capa del modelo recoge una categoría de propiedades, que podemos o no incluir Análisis táctico 12 Análisis multicapa Propiedades estáticas Terreno, topología, iluminación estática... Propiedades evolutivas Influencia, recursos... Propiedades dinámicas Peligro, iluminación dinámica (sombras)... Se puede procesar en tiempo de desarrollo Se puede procesar de forma interrumpible Requiere consultas ad hoc Propiedades multicapa Combina cualquiera de las categorías CATEGORÍA 1 CATEGORÍA 2 CATEGORÍA 3
  13. ● En el diseño pueden proponerse multitud de factores tácticos, a veces a distintos niveles ■ Ej. Calcular varios mapas de influencia y luego combinarlos para hallar la utilidad táctica final ■ Ej. Utilidad de poner una torreta en región X = Seguridad de X * Alcance de X * Distancia a otras torretas ● A veces se crea un servidor de análisis táctico que muestra los niveles del juego para depurar, ofrece una API al desarrollador, hace cálculos pesados... Análisis táctico 13 Análisis multicapa
  14. ● Un algoritmo de inundación del mapa… ¡básicamente es el algoritmo de Dijkstra! Análisis táctico 14 Pseudocódigo
  15. Análisis táctico 15 Pseudocódigo
  16. Análisis táctico 16 Pseudocódigo
  17. Análisis táctico 17 Pseudocódigo
  18. ● Estructuras de datos e interfaces Análisis táctico 18 Pseudocódigo Espacio = O(n) Tiempo = O(n*m) donde n es el número de localizaciones y m el número de vecinos por cada localización
  19. ● Es un conjunto sencillo de reglas para actualizar el valor de una célula (casilla del mapa de influencia) según el de sus vecinas ○ Más flexible que la inundación de mapas Análisis táctico 19 Autómata celular
  20. ● Se trata de modificar la navegación habitual, añadiendo info. táctica al COSTE ○ Los puntos de ruta tácticos y el análisis táctico sólo aportan info. táctica a cada punto/región ■ A veces hay que analizar conexiones entre puntos/regiones, añadiendo esa info al grafo ■ El coste de la conexiones suele calcularse como la media de la utilidad táctica de los extremos ○ El coste de cada conexión (C) debería ser la distancia (D) o el tiempo, más un sumatorio de factores tácticos (Ti ) -idealmente propios- con ciertos pesos (wi ) Análisis táctico 20 Navegación táctica TACTICAL PATHFINDING
  21. ■ ¡Si recurres a hacer la media, ojo al calcularla! ■ Ej. A y B son buenas coberturas, pero ir de una a otra no es buena idea ■ Fuerza que el coste sea siempre positivo y procura usar luego heurísticas válidas (a pesar de que sabemos que los factores tácticos fluctúan constantemente durante el juego...) Análisis táctico 21 Navegación táctica A B
  22. ● ¿Cómo optimizar mapas de influencia? A. Ignorando las regiones vecinas directas B. Copiando el valor de una unidad por todo el nivel C. Limitando el radio de influencia de las unidades D. Recurriendo a incertidumbre, ignorar regiones ● Desarrolla tu respuesta (en texto libre) Análisis táctico 22 Participación
  23. * Excepto el contenido multimedia de terceros autores Federico Peinado (2019-2023) www.federicopeinado.es Críticas, dudas, sugerencias...
Publicidad