SlideShare una empresa de Scribd logo
Breve introducción divulgativa a
la IA en Videojuegos
los agentes interactivos
Disclaimer
Yo
Yo
Yo
The Game Kitchen
The Game Kitchen
Algunos de nuestros juegos…
• Rotor’Scope
https://www.youtube.com/watch?v=_EuxqcJgY6s
• El códex del peregrino
https://www.youtube.com/watch?v=zeIvEIjaXSs
• The Last Door
https://www.youtube.com/watch?v=7gP4ZqUuww0
https://www.youtube.com/watch?v=jefmPVemUJI
IA en videojuegos
IA en Videojuegos
• De GOFAI, a robótica, y juegos
Simbólico
GOFAI Robótica
«Fuzzy»
Videojuegos
IA en Videojuegos
• Concepto muy amplio
– Animación
– Lógica de juego
– Movimiento
– No necesariamente GOFAI
• Difícil de acotar
• Video descriptivo en 3, 2 ,1…
Ejemplos
• Oponente en juego
de mesa
• Animales
• Soldados
• Director de juego
• Tutor
• Comandante
• Compañero
• Extra
• Conductor
• Matchmaker
Agentes Interactivos
(AI)
Ahora IA es AI y AI es IA
Agentes Interactivos
• El concepto de IA en videojuegos se desvirtúa
• Todo depende del dominio de aplicación
Comportamiento
de un soldado
IA
Diseño
Arte
Testing
Agentes Interactivos
• No usar IA cuando queremos hablar de dominio
de aplicación
• La IA de videojuegos no está muy relacionada con
la IA real
– La implementación de soldados enemigos no están
muy relacionado con IA real.
• Se trata de que IA en videojuegos sea divertida
– Se trata de que los oponentes de un juego de tablero
sean divertidos
Agentes Interactivos
Agente
Inputs Outputs
datos
hechos
info
acciones
ordenes
contenido
Oponente en juego de mesa
Oponente en juego de mesa
Entrada
• Estado del tablero
• Indicador del turno
• Tiempo restante
Salida
• Movimiento
Animales
Animales
Entrada
• Geometría/estrutura
del terreno
• Puntos de interes
• Entidades cercanas
Salida
• Animación
• Movimiento
Enemigo
Enemigo
Entrada
• Geometría del nivel
• Posición del jugador
• Estado del
grupo/escuadra
Salida
• Movimiento
• Animación
• Voz
Director de juego
Director de juego
Entrada
• Estado de los
jugadores
• Progresión en el nivel
Salida
• Ajuste de dificultad
• Peticiones de
Spawning
Generador de terreno
Generador de terreno
Entrada
• Semilla
• Posición del jugador
Salida
• Trozos de terreno
• Entidades a spawnear
Tutor Interactivo
Tutor Interactivo
Entrada
• Progresión
• Estado del puzzle
• Capacidades
adquiridas
Salida
• Pistas en forma de
texto
• Pistas visuales
Compañero
Compañero
Entrada
• Posición del jugador y
su estado
• Entidades cercanas
• Estrutura del terreno
Salida
• Movimiento y
animación
• Acciones de apoyo
• Lineas de diálogo
Comandante
Comandante
Entrada
• Estado de tu base
• Posición de las
escuadras
• Unidades y edificios
enemigos
Salida
• Ordenes de
construcción
• Asignación de
unidades
• Ordenes a las
escuadras
Siendo algunos agentes tan dispares…
¿Existe alguna manera de reutilizar
algo?
Arquitectura de los AI
Arquitectura
• Fases de computación. Conceptuales (GOFAI)
Sense Think Act
Arquitectura
Arquitectura
• No siempre están explicitas en el código
• En la practica sería más así
Arquitectura
• Funcional. En capas.
Animaciones
Físicas y colisiones
Navegación
Comportamientos
Arquitectura
• Una capa es responsable de gestionar todos
los cálculos e información para una
funcionalidad específica en el motor
– Ejemplo: Físicas
• Concuerda más con la estructura del código
• Más fáciles de ver las interdependencias
Arquitectura
• Más fáciles de mantener
• Se pueden añadir y quitar más fácilmente
• Mas «multithreadable»
– Y más «corrutinizable»
Arquitectura
Compañero
Arquitectura
Arquitectura
Sense
Think
Act
Arquitectura
FSMBT
HTN
Arquitectura
• O incluso..
Animaciones
Físicas y colisiones
Navegación
Comportamientos
Behavior Trees
¿Cómo encaja todo esto en un juego?
¿O en un motor moderno?
Arquitectura basada en componentes
Arquitectura basada en componentes
• Los agentes son entidades «vacías» a rellenar
con componentes
– ¿Qué es un componente?
• Interfaces del agente para acceder a una
funcionalidad del motor
– «Llévame al punto [0.0, -5.0, 7.2]»
• Contienen información local del propio agente
– Ej: su posición actual
Arquitectura basada en componentes
Animaciones
Físicas y colisiones
Navegación
Comportamientos
Componentes Sistemas
Arquitectura basada en componentes
• El sistema contiene la información común a
todos los agentes
– «Este es el grafo de navegación global»
• Centraliza todos los calculos para todos los
agentes
– «Cálcula todas las peticiones de caminos que has
recibido»
Arquitectura basada en componentes
• Más caché friendly 
• Más fácil de gestionar los cálculos 
• Más difícil de implementar 
– Puedes ahorrarte el sistema, y hacer componentes
más «gordos»
– En móviles y consolas es conveniente tener el
sistema centralizado
Ejemplo de real…
Recapitulando
Recapitulando
• La IA en videojuegos no es IA al uso.
– El test de Turing es la diversión
• Agentes Interactivos
– Tareas muy dispares, no sólo es un oponente
– El flujo de información y control va y viene,
muchas interdependencias
• STA no es la manera más adecuada de
conceptualizarlos
• Arquitectura basada en componentes
Q&A
¡Muchas gracias!

Más contenido relacionado

PPTX
¿Emprendimiento?
PDF
Experiencias desarrollando mi primer videojuego - Techne18
PDF
TALLER VIDEOJUEGO 2D
PDF
Sprite kit
PDF
[2016] El Arte De La Ilusión
PPT
Lecciones aprendidas en desarrollo de apps aplicado los juegos
PDF
Frameworks para el desarrollo de juegos para dispositivo móviles
PDF
Betabeers BCN
¿Emprendimiento?
Experiencias desarrollando mi primer videojuego - Techne18
TALLER VIDEOJUEGO 2D
Sprite kit
[2016] El Arte De La Ilusión
Lecciones aprendidas en desarrollo de apps aplicado los juegos
Frameworks para el desarrollo de juegos para dispositivo móviles
Betabeers BCN

Similar a Iaai (20)

PPTX
Tuenti - tu entidad
PPT
Ia Robotica
PPT
Ia Robotica
PPT
[Code Camp 2009] Desarrollo de juegos multiplataforma con Unity3D (Diego G. R...
PDF
Desarrollo de aplicaciones moviles con Intel XDK
PPTX
Hack#Inlife Valladolid
PPT
Planificación y gestión de proyectos de desarrollo de videojuegos
PPTX
Unity3D_PARA_MONOS.pptx
PDF
[2015] Preguntas Frecuentes del Desarrollo de Videojuegos
PDF
Arquitectura del videojuego
PDF
Grails y EC2 - De cero a multinacional
PDF
Construyendo y publicando nuestra primera app multi plataforma (II)
PDF
Game-Ninja 6102
PDF
GCV 03 Herramientas de desarrollo: Específicas para Videojuegos - Gestión de ...
PPT
SwingImprover - end of career project defense - 2006
PPTX
Videojuegos
PPSX
Match Javascript Game Engine
PDF
De cero a multinacional con Grails y EC2
PPT
Ppt 4 casi completa 2
PPTX
Kabuki frogs-2
Tuenti - tu entidad
Ia Robotica
Ia Robotica
[Code Camp 2009] Desarrollo de juegos multiplataforma con Unity3D (Diego G. R...
Desarrollo de aplicaciones moviles con Intel XDK
Hack#Inlife Valladolid
Planificación y gestión de proyectos de desarrollo de videojuegos
Unity3D_PARA_MONOS.pptx
[2015] Preguntas Frecuentes del Desarrollo de Videojuegos
Arquitectura del videojuego
Grails y EC2 - De cero a multinacional
Construyendo y publicando nuestra primera app multi plataforma (II)
Game-Ninja 6102
GCV 03 Herramientas de desarrollo: Específicas para Videojuegos - Gestión de ...
SwingImprover - end of career project defense - 2006
Videojuegos
Match Javascript Game Engine
De cero a multinacional con Grails y EC2
Ppt 4 casi completa 2
Kabuki frogs-2
Publicidad

Último (20)

PPTX
leyes de los gases Ideales. combustible refinación
PPTX
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
PDF
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
PPTX
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PDF
Diseño y Utiliación del HVAC Aire Acondicionado
PPTX
diego universidad convergencia e información
PDF
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
PPTX
Presentacion ppt rx en soldadura tp 231 vladimir Osuna 7114958 20241.pptx
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
DOCX
Cumplimiento normativo y realidad laboral
PDF
silabos de colegio privado para clases tema2
PPTX
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
PDF
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
PDF
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
PDF
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
PPTX
376060032-Diapositivas-de-Ingenieria-ESTRUCTURAL.pptx
PPTX
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
PDF
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
leyes de los gases Ideales. combustible refinación
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
Cómo Elaborar e Implementar el IPERC_ 2023.pptx
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
Diseño y Utiliación del HVAC Aire Acondicionado
diego universidad convergencia e información
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
Presentacion ppt rx en soldadura tp 231 vladimir Osuna 7114958 20241.pptx
Manual ISO9001_2015_IATF_16949_2016.pptx
Cumplimiento normativo y realidad laboral
silabos de colegio privado para clases tema2
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
Prevención de estrés laboral y Calidad de sueño - LA PROTECTORA.pdf
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
376060032-Diapositivas-de-Ingenieria-ESTRUCTURAL.pptx
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
LIBRO UNIVERSITARIO SISTEMAS PRODUCTIVOS BN.pdf
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
Publicidad

Iaai

Notas del editor

  • #44: Animación: 1- Posture 2- Blending/Transitions 3- Mover los huesos. Físicas: 1- El personajese representa por una cápsula. Paredes a su alrededor 2- Que fuerzas tiene que aplicar Navegación: 1- Grafo del escenario (conectividad) 2- Camino 3- Siguiente paso OJO: puede no tener output explicita, puede enviársela a otras Comportamiento: Las X son distintos destinos Elige el siguiente destino al que moverse
  • #45: Sensing y acting el los niveles inferiores El thinking va más en los comportamientos
  • #50: Componente: funcionalidad modular
  • #51: Componente: funcionalidad modular Sistema:
  • #52: Componente: funcionalidad modular
  • #53: Componente: funcionalidad modular