SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
Inteligencia Artificial
para Videojuegos
Evaluación y coordinación
Acción coordinada
● Hasta ahora, hemos hablado mucho de
Evaluación, pero si hay varios agentes,
necesitamos Coordinación (entre ellos... y
con el jugador)
Acción coordinada 2
Motivación
● Por enésima vez, hablamos de Pac-Man
(1980), porque los fantasmas comparten un
ritmo y dependen unos de otros (aunque no
haya “coordinación” explícita)
● Dragon Quest IV (1990)
introdujo la opción “Tactics”
para asignar ciertas rutinas
de combate a tus NPCs
compañeros, y coordinarlos
manualmente de ese modo
Acción coordinada 3
Hitos históricos
● Los RTS ya dijimos que necesitan usar
muchas técnicas de IA (y en tiempo real)
○ Quizá algo más evaluación, que coordinación
● Y también tenemos FPSs
como Half-Life (1998) o
Medal of Honor (1999) donde
los enemigos ya se
coordinaban para eliminarte
○ Ej. Uno corre para pasarte,
rodearte y atacar desde el flanco
(versión 3D de aquel famoso arcade Golden Axe)
Acción coordinada 4
Hitos históricos
● En la segunda década del siglo XXI hemos
visto IAs cada vez más cooperativas
○ No sólo enemigos que se coordinan entre ellos, sino
NPCs y escuadrones enteros que responden al
liderazgo implícito en las acciones del jugador
○ Algunas IAs reciben órdenes
explícitas (Tom Clancy's
Rainbow Six, Ryse: Son of
Rome…), otras identifican
la intención del jugador y
actúan en base a eso para
apoyarle...
¡son los llamados NPCs compañeros! Acción coordinada 5
Hitos históricos
● Vamos a hablar sobre la táctica de la acción
grupal, y ya no sólo de la individual
○ Personajes autónomos que coordinan sus acciones
(con alguna técnica centralizada, o dejando que
“emerja” la cooperación)
○ O bien obedecen órdenes explícitas del jugador, o
incluso que interpreten sus intenciones
Acción coordinada 6
Acción coordinada
COORDINATED ACTION
● Pueden plantearse sistemas de IA multicapa
○ Poner una IA no sólo tras cada NPC (capa inferior)
sino también tras cada grupo, o tras cada ejército
entero (capas superiores)
■ Cada capa decide, navega o realiza movimientos
a su nivel (controle grupos o individuos)
■ Para simplificar, el NPC con más limitaciones se
toma como “cuello de botella” del grupo
(heurística segura)
Acción coordinada 7
IA multicapa
MULTI-TIER AI
● El desplazamiento en grupo que vimos era
una especie de movimiento grupal
● La navegación grupal también existiría,
sería la normal… pero ensanchando los
“pasillos” del escenario
○ En cuanto a info. táctica, los valores de la peor
unidad (= cuello de botella) se usan para el grupo
○ Ej. Análisis del terreno con gradiente y proximidad
Acción coordinada 8
IA multicapa
● El sistema multicapa requiere mecanismos
de comunicación entre capas
○ La decisión última de un agente
suele ser individual, pero
considerando las
órdenes simples recibidas
■ Objetivos, info táctica
de zonas a evitar...
○ Ej. Si el movimiento
grupal detecta un atasco,
podría necesitar mandar
un aviso de alarma
Acción coordinada 9
IA multicapa
* En general se
envían órdenes de
arriba a abajo…
aunque también
circula alguna
información de
abajo a arriba
TOP-DOWN APPROACH vs.
BOTTOM-UP APPROACH
● El sistema multicapa requiere buenos
mecanismos de gestión de ejecución
○ Algo más sofisticados, como un sistema jerárquico
de programación de tareas para ejecutar los
comportamientos en el momento y en el orden
adecuados... ¡y sólo cuando sean necesarios!
Acción coordinada 10
IA multicapa
SCHEDULING
● Incorporar al jugador puede frustrar, si este
contradice las órdenes “grupales” de la IA
○ Podemos modificar el sistema multicapa para que
el jugador sea quien da las órdenes principales
Acción coordinada 11
IA multicapa
* Acompañar al
jugador es difícil y
el escenario a veces
se diseña para
evitar que los NPCs
puedan hacer otra
cosa distinta :-D
● Si permitimos órdenes explícitas del
jugador, puedes simplemente sustituir la IA
de la capa superior por el jugador
○ Ej. Juegos RTS
○ En SOCOM (2002) se dan
órdenes algo interpretables
(defender un sitio, fuego
de cobertura, etc.) mientras
que en Full Spectrum Warrior
(2004) puedes controlar con
precisión agentes a bajo nivel
(similar a los RTS, más fácil)
Acción coordinada 12
IA multicapa
● En ocasiones se consigue que aparezca
cooperación emergente entre NPCs
○ Simplemente tomando decisiones que tienen en
cuenta a sus compañeros de grupo
○ ¡Es fantástico cuando ocurre, pues no hace falta
ninguna capa con IA táctica por encima!
Acción coordinada 13
Cooperación emergente
EMERGENT COOPERATION
● Máquina de estados jerárquica para una
escuadra militar (4 soldados)
○ “Aparentan” coordinarse… y si perdiésemos a uno,
la misma técnica seguiría funcionando bien
Acción coordinada 14
Ejemplo
● La escalabilidad será reducida si se tienen
muchos modos distintos de comportamiento
○ Ej. Los comportamientos de direccionamiento
escalan mejor que las máquinas de estados
○ Hay que evitar que salgan “oscilaciones” rápidas de
un estado a otro... a veces basta con dejar algo de
histéresis (tiempo entre cambios de estado)
○ Lo mejor es que sólo parte del
sistema sea emergente, para que
esta parte sí pueda escalar
realmente
Acción coordinada 15
Cooperación emergente
● La predictibilidad empeora con la
emergencia y con ello el hacer pruebas
○ Lo emergente es divertido, sí… pero lo cierto es
que lo que suele emerger son comportamientos de
grupo casi siempre… estúpidos
○ Cuando todo es impredecible o hay muchos
interbloqueos, se acaba por meter alguna capa de
IA por encima, diseñada
explícitamente para no perder
del todo el control
Acción coordinada 16
Cooperación emergente
● Por último, una manera muy creíble de
realizar acciones grupales es guionizándolas
● Estos guiones predefinidos usan
○ Cambios de estado, sin acciones de personajes
○ Animaciones, a veces de varios personajes a la vez
○ Acciones de alto nivel, generalmente órdenes
tácticas de la IA para provocar movimientos
(comportamientos de direccionamiento)
○ Acciones compuestas, varias acciones
a la vez
○ Acciones en secuencia, varias acciones
en serie
○ ... Acción coordinada 17
Acciones grupales guionizadas
SCRIPTING GROUP ACTIONS
● Ej. Fútbol
americano
○ Sin sincronizar
los guiones,
las “jugadas
ensayadas”
no podrían
funcionar
Acción coordinada 18
Ejemplos
● Para sincronizar hace falta añadir al menos
estas 2 acciones especiales para coordinarse
(no hacen falta condicionales, bucles…)
○ Envío de señales a otros personajes
○ Espera de señales que llegarán de otros personajes
○ Si se confunden las señales (porque se mandan
demasiadas a la vez, etc.) se puede usar un sistema
de paso de mensajes más elaborado, donde se
especifique el destinatario, por ejemplo
Acción coordinada 19
Acciones grupales guionizadas
SIGNAL
WAIT
● Existe abundante documentación militar
histórica y actual (OTAN, Defensa EEUU…)
● De hecho se usan
en las propias
guías tácticas
de videojuegos
como CS:Go
o ARMA
Acción coordinada 20
Ejemplos
● Guión con el que una escuadra
militar toma una estancia al asalto
○ Suele tener partes específicas (Ej. sólo funciona
con equipos de 4 miembros) y otras genéricas (Ej.
se adapta a la forma de la habitación)
Acción coordinada 21
Ejemplos
Paso 1 Paso 2
Paso 3
Paso 4 (en
posición)
Posición final adaptable a la
habitación
* Esto es del U.S. Army Field Manual 3-06.11:
Combined Arms Operations in Urban Terrain
● ¿Cómo funciona la IA multicapa?
A. Enviando órdenes de abajo a arriba
B. Tienen IA los personajes y los grupos de personajes
C. Navegando con el mejor miembro del grupo
D. Integrando al jugador como un agente más
● Desarrolla tu respuesta (en texto libre)
Acción coordinada 22
Participación
* Excepto el contenido multimedia de terceros autores
Federico Peinado (2019-2023)
www.federicopeinado.es
Críticas, dudas, sugerencias...

Mais conteúdo relacionado

Mais de Federico Peinado

Representación del conocimiento
Representación del conocimientoRepresentación del conocimiento
Representación del conocimientoFederico Peinado
 
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 informadasFederico Peinado
 
Representación del entorno
Representación del entornoRepresentación del entorno
Representación del entornoFederico Peinado
 
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 estadosFederico Peinado
 
Comportamiento de dirección
Comportamiento de direcciónComportamiento de dirección
Comportamiento de direcciónFederico Peinado
 
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)Federico Peinado
 
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 juegoFederico Peinado
 
Inteligencia Artificial para Videojuegos
Inteligencia Artificial para VideojuegosInteligencia Artificial para Videojuegos
Inteligencia Artificial para VideojuegosFederico Peinado
 
Resolutor automático y agente inteligente
Resolutor automático y agente inteligenteResolutor automático y agente inteligente
Resolutor automático y agente inteligenteFederico Peinado
 
Postproducción y distribución
Postproducción y distribuciónPostproducción y distribución
Postproducción y distribuciónFederico Peinado
 
Cinemáticas y localización
Cinemáticas y localizaciónCinemáticas y localización
Cinemáticas y localizaciónFederico Peinado
 

Mais 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
 

COORDINATED AILa IA multicapa funciona enviando órdenes de arriba a abajo (opción B). En este sistema hay inteligencia artificial tanto en los agentes individuales (personajes) como en los grupos de personajes. La capa superior, que controla el grupo, toma decisiones estratégicas y envía órdenes simples a la capa inferior de los agentes individuales. Estos a su vez toman decisiones tácticas y de navegación considerando las órdenes recibidas, así como la información táctica del peor miem

  • 1. Inteligencia Artificial para Videojuegos Evaluación y coordinación Acción coordinada
  • 2. ● Hasta ahora, hemos hablado mucho de Evaluación, pero si hay varios agentes, necesitamos Coordinación (entre ellos... y con el jugador) Acción coordinada 2 Motivación
  • 3. ● Por enésima vez, hablamos de Pac-Man (1980), porque los fantasmas comparten un ritmo y dependen unos de otros (aunque no haya “coordinación” explícita) ● Dragon Quest IV (1990) introdujo la opción “Tactics” para asignar ciertas rutinas de combate a tus NPCs compañeros, y coordinarlos manualmente de ese modo Acción coordinada 3 Hitos históricos
  • 4. ● Los RTS ya dijimos que necesitan usar muchas técnicas de IA (y en tiempo real) ○ Quizá algo más evaluación, que coordinación ● Y también tenemos FPSs como Half-Life (1998) o Medal of Honor (1999) donde los enemigos ya se coordinaban para eliminarte ○ Ej. Uno corre para pasarte, rodearte y atacar desde el flanco (versión 3D de aquel famoso arcade Golden Axe) Acción coordinada 4 Hitos históricos
  • 5. ● En la segunda década del siglo XXI hemos visto IAs cada vez más cooperativas ○ No sólo enemigos que se coordinan entre ellos, sino NPCs y escuadrones enteros que responden al liderazgo implícito en las acciones del jugador ○ Algunas IAs reciben órdenes explícitas (Tom Clancy's Rainbow Six, Ryse: Son of Rome…), otras identifican la intención del jugador y actúan en base a eso para apoyarle... ¡son los llamados NPCs compañeros! Acción coordinada 5 Hitos históricos
  • 6. ● Vamos a hablar sobre la táctica de la acción grupal, y ya no sólo de la individual ○ Personajes autónomos que coordinan sus acciones (con alguna técnica centralizada, o dejando que “emerja” la cooperación) ○ O bien obedecen órdenes explícitas del jugador, o incluso que interpreten sus intenciones Acción coordinada 6 Acción coordinada COORDINATED ACTION
  • 7. ● Pueden plantearse sistemas de IA multicapa ○ Poner una IA no sólo tras cada NPC (capa inferior) sino también tras cada grupo, o tras cada ejército entero (capas superiores) ■ Cada capa decide, navega o realiza movimientos a su nivel (controle grupos o individuos) ■ Para simplificar, el NPC con más limitaciones se toma como “cuello de botella” del grupo (heurística segura) Acción coordinada 7 IA multicapa MULTI-TIER AI
  • 8. ● El desplazamiento en grupo que vimos era una especie de movimiento grupal ● La navegación grupal también existiría, sería la normal… pero ensanchando los “pasillos” del escenario ○ En cuanto a info. táctica, los valores de la peor unidad (= cuello de botella) se usan para el grupo ○ Ej. Análisis del terreno con gradiente y proximidad Acción coordinada 8 IA multicapa
  • 9. ● El sistema multicapa requiere mecanismos de comunicación entre capas ○ La decisión última de un agente suele ser individual, pero considerando las órdenes simples recibidas ■ Objetivos, info táctica de zonas a evitar... ○ Ej. Si el movimiento grupal detecta un atasco, podría necesitar mandar un aviso de alarma Acción coordinada 9 IA multicapa * En general se envían órdenes de arriba a abajo… aunque también circula alguna información de abajo a arriba TOP-DOWN APPROACH vs. BOTTOM-UP APPROACH
  • 10. ● El sistema multicapa requiere buenos mecanismos de gestión de ejecución ○ Algo más sofisticados, como un sistema jerárquico de programación de tareas para ejecutar los comportamientos en el momento y en el orden adecuados... ¡y sólo cuando sean necesarios! Acción coordinada 10 IA multicapa SCHEDULING
  • 11. ● Incorporar al jugador puede frustrar, si este contradice las órdenes “grupales” de la IA ○ Podemos modificar el sistema multicapa para que el jugador sea quien da las órdenes principales Acción coordinada 11 IA multicapa * Acompañar al jugador es difícil y el escenario a veces se diseña para evitar que los NPCs puedan hacer otra cosa distinta :-D
  • 12. ● Si permitimos órdenes explícitas del jugador, puedes simplemente sustituir la IA de la capa superior por el jugador ○ Ej. Juegos RTS ○ En SOCOM (2002) se dan órdenes algo interpretables (defender un sitio, fuego de cobertura, etc.) mientras que en Full Spectrum Warrior (2004) puedes controlar con precisión agentes a bajo nivel (similar a los RTS, más fácil) Acción coordinada 12 IA multicapa
  • 13. ● En ocasiones se consigue que aparezca cooperación emergente entre NPCs ○ Simplemente tomando decisiones que tienen en cuenta a sus compañeros de grupo ○ ¡Es fantástico cuando ocurre, pues no hace falta ninguna capa con IA táctica por encima! Acción coordinada 13 Cooperación emergente EMERGENT COOPERATION
  • 14. ● Máquina de estados jerárquica para una escuadra militar (4 soldados) ○ “Aparentan” coordinarse… y si perdiésemos a uno, la misma técnica seguiría funcionando bien Acción coordinada 14 Ejemplo
  • 15. ● La escalabilidad será reducida si se tienen muchos modos distintos de comportamiento ○ Ej. Los comportamientos de direccionamiento escalan mejor que las máquinas de estados ○ Hay que evitar que salgan “oscilaciones” rápidas de un estado a otro... a veces basta con dejar algo de histéresis (tiempo entre cambios de estado) ○ Lo mejor es que sólo parte del sistema sea emergente, para que esta parte sí pueda escalar realmente Acción coordinada 15 Cooperación emergente
  • 16. ● La predictibilidad empeora con la emergencia y con ello el hacer pruebas ○ Lo emergente es divertido, sí… pero lo cierto es que lo que suele emerger son comportamientos de grupo casi siempre… estúpidos ○ Cuando todo es impredecible o hay muchos interbloqueos, se acaba por meter alguna capa de IA por encima, diseñada explícitamente para no perder del todo el control Acción coordinada 16 Cooperación emergente
  • 17. ● Por último, una manera muy creíble de realizar acciones grupales es guionizándolas ● Estos guiones predefinidos usan ○ Cambios de estado, sin acciones de personajes ○ Animaciones, a veces de varios personajes a la vez ○ Acciones de alto nivel, generalmente órdenes tácticas de la IA para provocar movimientos (comportamientos de direccionamiento) ○ Acciones compuestas, varias acciones a la vez ○ Acciones en secuencia, varias acciones en serie ○ ... Acción coordinada 17 Acciones grupales guionizadas SCRIPTING GROUP ACTIONS
  • 18. ● Ej. Fútbol americano ○ Sin sincronizar los guiones, las “jugadas ensayadas” no podrían funcionar Acción coordinada 18 Ejemplos
  • 19. ● Para sincronizar hace falta añadir al menos estas 2 acciones especiales para coordinarse (no hacen falta condicionales, bucles…) ○ Envío de señales a otros personajes ○ Espera de señales que llegarán de otros personajes ○ Si se confunden las señales (porque se mandan demasiadas a la vez, etc.) se puede usar un sistema de paso de mensajes más elaborado, donde se especifique el destinatario, por ejemplo Acción coordinada 19 Acciones grupales guionizadas SIGNAL WAIT
  • 20. ● Existe abundante documentación militar histórica y actual (OTAN, Defensa EEUU…) ● De hecho se usan en las propias guías tácticas de videojuegos como CS:Go o ARMA Acción coordinada 20 Ejemplos
  • 21. ● Guión con el que una escuadra militar toma una estancia al asalto ○ Suele tener partes específicas (Ej. sólo funciona con equipos de 4 miembros) y otras genéricas (Ej. se adapta a la forma de la habitación) Acción coordinada 21 Ejemplos Paso 1 Paso 2 Paso 3 Paso 4 (en posición) Posición final adaptable a la habitación * Esto es del U.S. Army Field Manual 3-06.11: Combined Arms Operations in Urban Terrain
  • 22. ● ¿Cómo funciona la IA multicapa? A. Enviando órdenes de abajo a arriba B. Tienen IA los personajes y los grupos de personajes C. Navegando con el mejor miembro del grupo D. Integrando al jugador como un agente más ● Desarrolla tu respuesta (en texto libre) Acción coordinada 22 Participación
  • 23. * Excepto el contenido multimedia de terceros autores Federico Peinado (2019-2023) www.federicopeinado.es Críticas, dudas, sugerencias...