SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Inteligencia Artificial
para Videojuegos
Evaluación y coordinación
Análisis táctico
● 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
● 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
● 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
● 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
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
● 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
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
● 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
● 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
● 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
● 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
● 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
● Un algoritmo
de inundación
del mapa…
¡básicamente
es el algoritmo
de Dijkstra!
Análisis táctico 14
Pseudocódigo
Análisis táctico 15
Pseudocódigo
Análisis táctico 16
Pseudocódigo
Análisis táctico 17
Pseudocódigo
● 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
● 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
● 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
■ ¡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
● ¿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
* Excepto el contenido multimedia de terceros autores
Federico Peinado (2019-2023)
www.federicopeinado.es
Críticas, dudas, sugerencias...

Más contenido relacionado

Más de Federico Peinado

Más de Federico Peinado (20)

Reglas y planificación
Reglas y planificaciónReglas y planificación
Reglas y planificación
 
Máquina de estados
Máquina de estadosMáquina de estados
Máquina de estados
 
Representación del conocimiento
Representación del conocimientoRepresentación del conocimiento
Representación del conocimiento
 
Búsqueda de caminos usando estrategias informadas
Búsqueda de caminos usando estrategias informadasBúsqueda de caminos usando estrategias informadas
Búsqueda de caminos usando estrategias informadas
 
Representación del entorno
Representación del entornoRepresentación del entorno
Representación del entorno
 
Resolución de problemas en el espacio de estados
Resolución de problemas en el espacio de estadosResolución de problemas en el espacio de estados
Resolución de problemas en el espacio de estados
 
Desplazamiento en grupo
Desplazamiento en grupoDesplazamiento en grupo
Desplazamiento en grupo
 
Percepción
PercepciónPercepción
Percepción
 
Comportamiento de dirección
Comportamiento de direcciónComportamiento de dirección
Comportamiento de dirección
 
Física y animación
Física y animaciónFísica y animación
Física y animación
 
Generación procedimental de contenido (+ Pseudocódigo)
Generación procedimental de contenido (+ Pseudocódigo)Generación procedimental de contenido (+ Pseudocódigo)
Generación procedimental de contenido (+ Pseudocódigo)
 
Aplicación según tipología del juego
Aplicación según tipología del juegoAplicación según tipología del juego
Aplicación según tipología del juego
 
Inteligencia Artificial para Videojuegos
Inteligencia Artificial para VideojuegosInteligencia Artificial para Videojuegos
Inteligencia Artificial para Videojuegos
 
Resolutor automático y agente inteligente
Resolutor automático y agente inteligenteResolutor automático y agente inteligente
Resolutor automático y agente inteligente
 
Industria y negocio
Industria y negocioIndustria y negocio
Industria y negocio
 
Postproducción y distribución
Postproducción y distribuciónPostproducción y distribución
Postproducción y distribución
 
Mercadotecnia
MercadotecniaMercadotecnia
Mercadotecnia
 
Criatura y persona
Criatura y personaCriatura y persona
Criatura y persona
 
Cinemáticas y localización
Cinemáticas y localizaciónCinemáticas y localización
Cinemáticas y localización
 
Objeto y máquina
Objeto y máquinaObjeto y máquina
Objeto y máquina
 

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
  • 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...