IA en Videojuegos

69
IA en Videojuegos José Carlos Cortizo Pérez CTO Social Gaming Platform

description

Presentación de la asignatura de Inteligencia Artificial para Videojuegos del Máster en Desarrollo y Diseño de Videojuegos de la UEM.

Transcript of IA en Videojuegos

Page 1: IA en Videojuegos

IA en VideojuegosJosé Carlos Cortizo Pérez

CTO Social Gaming Platform

Page 2: IA en Videojuegos

José Carlos CortizoMi relación con la IA y los videojuegos

Page 3: IA en Videojuegos

José Carlos Cortizo

• Cofundador y CTO de

• AINetSolutions

• Social Gaming Platform

• Profesor e investigador en la UEM

• Sistemas Inteligentes (IA, Minería de Datos, Sistemas de Recomendación, etc.)

Page 4: IA en Videojuegos

I+D (Universidad)

• 10 proyectos nacionales/europeos

• MAVIR/MAVIR2

• ISSE/SINAMED

• ASTROCAM/MEIGA/TECAD-F

• MOBIHELP

• 25 publicaciones en congresos y revistas

Page 5: IA en Videojuegos

I+D (Empresa)

• Sistemas de Recomendación

• Integrando contenidos, filt. colaborativo y elementos sociales

• Escalables, flexibles y generales

• Otros SINS (Social INtelligent Systems)

Page 6: IA en Videojuegos

Workshops

• 1st International Workshop on Mining Social Media (CAEPIA 2009); 2ª edición

• 1st Int. Workshop on Adaptation, Personalization and REcommendation in the Social-semantic Web

• PLN en empresas: visionando los próximos 10 años -> SEPLN 2010

Page 7: IA en Videojuegos

Wipley

• Red Social de Videojugadores

• Además, “campo de pruebas” para nuestra tecnología

• El campo de los videojuegos es muy “peculiar” -> Multidimensionalidad, recencia, etc.

Page 8: IA en Videojuegos

Más sobre mi

• Blog/Página personal: http://www.josek.net

• Twitter: @josek_net

Page 9: IA en Videojuegos

IA y VideojuegosEntramos en faena :D

Page 10: IA en Videojuegos

Objetivos del curso¿Qué podéis esperar de este mini-curso?

Page 11: IA en Videojuegos

Objetivos

• Panorámica de la IA

• Aplicaciones básicas en videojuegos

• Posibles aplicaciones avanzadas

• Guía/referencia para aplicar en vuestros juegos

Page 12: IA en Videojuegos

Qué no esperar

• Un curso “estándar” sobre IA

• Estudiar a fondo la integración de IA en videojuegos

• Desarrollar nuevas técnicas de IA para videojuegos

Page 13: IA en Videojuegos

Organización temporal

• 3 clases

• Clase 1: IA y videojuegos (panorámica)

• Clase 2: ¿Qué IA aplicar en vuestros juegos?

• Clase 3: Profundizamos sobre las técnicas que elijáis

Page 14: IA en Videojuegos

Orígenes

Page 15: IA en Videojuegos

Orígenes

• Ajedrez/damas/juegos “de mesa” y lógica

• Arthur Samuel 1959: “Some Studies in Machine Learning Using the Game of Checkers”• http://www.research.ibm.com/journal/rd/033/ibmrd0303B.pdf

Page 16: IA en Videojuegos

Orígenes

• Años 70: juegos para 1 jugador

• Qwak, Pursuit, hunt the Wumpus, Star Trek

• Movimientos de los enemigos almacenados

• Con la aparición de microprocesadores, se añadió cierta aleatoriedad a los movimientos

Page 17: IA en Videojuegos

Orígenes

• Space Invaders (1978) y Galaxian (1979) utilizan funciones hash en basadas en las acciones del jugador) para añadir complejidad

• Pac-Man (1980) y Karate Champ (1984) añadían a ésto ciertas “personalidades” en los enemigos

Page 18: IA en Videojuegos

Pregunta 1

• ¿Cómo diseñarías una IA distinta para cada enemigo en el PacMan?

Page 19: IA en Videojuegos

Orígenes

• Madden Football o Earl Weaver Baseball trataban de “replicar” el estilo de juego de una “celebridad”

• Juegos posteriores añadieron variables a la IA para producir estilos de juegos más adaptados

Page 20: IA en Videojuegos

El “boom” de los 90

• Los años 90 supusieron un boom en cuanto a nuevos géneros de videojuegos y con ellos nuevas técnicas de IA

• Máquinas finitas de estados, búsqueda de caminos, decisiones en tiempo real, planificación, etc.

Page 21: IA en Videojuegos

Y avanzando...

• Juegos como Battlecruiser 3000AD (1996) añadieron la aplicación de redes neuronales

• Creatures o Black & White son ejemplos de comportamientos emergentes

Page 22: IA en Videojuegos

Última década +/-

• GoldenEye 007 fue el primer FPS en utilizar IA que reaccionara a los movimientos y acciones de los jugadores

• Half-Life (1998) mostraba enemigos que trabajaban juntos para buscar al jugador, se cubrían entre ellos, etc.

Page 23: IA en Videojuegos

Última década +/-

• Halo (2001) permitía a su IA utilizar vehículas y otras acciones tácticas. La IA podía reconocer amenazas (granadas, vehículos) y actuar en consecuencia

Page 24: IA en Videojuegos

Última década +/-

• En Far Cry (2004) los enemigos reaccionaban al estilo de juego del jugador, así como empleaban tácticas militares. La IA no usaba “trucos” como el conocer la posición real del jugador, si no que almacenaban la última posición conocida.

Page 25: IA en Videojuegos

Lo más reciente

• F.E.A.R. (2005) fue el primer juego en emplear planificación en tiempo real para controlar la IA.

• GOAP (Goal-Oriented Action Planning) le permitía adaptarse al comportamiento de forma dinámica.

Page 26: IA en Videojuegos

Lo más reciente

• Left 4 Dead (2008) genera de forma procedural diferentes experiencias para los usuarios cada vez que juegan.

• La IA analiza cómo ha jugado el jugador y trata de añadir “eventos” que les ofrezcan cierta sensación de “narrativa”

Page 27: IA en Videojuegos

Más allá

• La IA no solo está “dentro” de los videojuegos

• Project Natal es un ejemplo de aplicación de IA en videojuegos

• También existen sistemas de recomendación de partidas o videojuegos

Page 30: IA en Videojuegos

10.- SimCity (1989)

• Pionero en control de simulaciones complejas

• Los elementos de la ciudad son realistas

• Las propiedades emergentes del sistema bien balanceadas para entretener al jugador

Page 31: IA en Videojuegos

9.- Half-Life (1998)

• Las escenas de “corte” son interactivas.

• Una IA acompaña al jugador en los primeros niveles

• Introduce IA de grupo

Page 32: IA en Videojuegos

8.- Total War (2000)

• Control de miles de IAs

• Modela las emociones de los soldados para el realismo de las batallas

• Lógica inspirada en “El Arte de la Guerra”

Page 33: IA en Videojuegos

7.- Thief (1998)

• Modelado sensorial preciso. Permite a los actores con IA responder de forma realista a luz y sonidos.

Page 34: IA en Videojuegos

6.- The Sims (2000)

• Se usan objetos inteligentes para ayudar a la implementación de los comportamientos.

• Los objetos especifican cómo deben interactuar los personajes con ellos

• Los Sims tienen deseos básicos que guían sus acciones

• Modelado de relaciones e interacciones emocionales

Page 35: IA en Videojuegos

5.- Creatures (1996)

• 1ª aplicación popular de aprendizaje automático en una simulación interactiva

• Las criaturas aprenden con redes neuronales

• Se considera rompedor en el área de vida artificial

Page 36: IA en Videojuegos

4.- Halo (2001)• Los enemigos se cubren

bien y responden adecuadamente

• Los grupos están bien modelados; cuando matas al lider, se debilitan

• Su tecnología de árbol de comportamiento se ha adoptado después

Page 37: IA en Videojuegos

3.- Façade (2005)

• Interacción mediante PLN

• El lenguaje provee formas para especificar el comportamiento de los personajes en términos de una historia dinámica

Page 38: IA en Videojuegos

2.- F.E.A.R. (2005)

• Usa planificadores para generar comportamientos sensibles al contexto

• Los enemigos usan el entorno de forma inteligente

• Tácticas de grupo usadas de forma efectiva

Page 39: IA en Videojuegos

1.- Black & White (2001)

• Juego basado en la interacción con una IA que aprende de ejemplos y refuerzo

• Integrado con vida artificial en un contexto de estrategia

• Utiliza técnicas de AA como redes neuronales y árboles de decisión

Page 40: IA en Videojuegos

Panorámica de la IA

Page 41: IA en Videojuegos

Áreas dentro de la IA• Deducción/razonamiento

• Representación del conocimiento

• Planificación

• Aprendizaje

• PLN

• Movimiento y manipulación

• Percepción

• Inteligencia Social

• IA General

Page 42: IA en Videojuegos

Deducción/Razonamiento

• Primeros acercamientos a la IA

• Muy relacionados con los conceptos de búsquedas

• Costosos en tiempo

Page 44: IA en Videojuegos

Representación del Conocimiento

• Sistemas expertos

• Razonamiento sobre conocimiento

• Web semántica

• Ontologías

• http://www.youtube.com/watch?v=zXlKIJoSLVM

Page 45: IA en Videojuegos

Planificación

• Cálculo de estrategia (acciones) a desarrollar con implicaciones temporales y de coste

• P.e. estrategia de ataque en el StarCraft

• http://www.dna-evolutions.com/dnaappletsample.html

• http://www.youtube.com/watch?v=UqOvwODElbY

Page 47: IA en Videojuegos

Aprendizaje

• Aplicaciones reales:

• Filtrado de spam, categorización de webs

• Detección del cáncer, reconocimiento de imágenes

• Aplicaciones en videojuegos:

• Aprendizaje por refuerzo (los enemigos aprenden de sus errores)

Page 48: IA en Videojuegos

PLN

• Procesamiento del Lenguaje Natural

• Buscadores

• Interfaces persona-computador

• http://alice.pandorabots.com/

• http://www.youtube.com/watch?v=Sx3Fpw0XCXk

Page 49: IA en Videojuegos

Movimiento y Manipulación

• Ligada a razonamiento y planificación

• Aplicado básicamente en robótica

• Puede servir como ejemplo para interacciones virtuales

• http://www.youtube.com/watch?v=MinQk7TejbQ

Page 50: IA en Videojuegos

Percepción• Ligado típicamente a robótica

• Maneja sensores para deducir una visión del mundo

• Reconocimiento del habla, de caras o de objetos

• http://www.youtube.com/watch?v=p2qlHoxPioM

• http://www.youtube.com/watch?v=opx1imhzUEg

Page 51: IA en Videojuegos

Inteligencia Social• Habilidades sociales y emociones

• Predecir las acciones del oponente

• Comprender sus motivos y estados emocionales

• Modelar emociones humanas y sus habilidades para detectar emociones

• http://www.youtube.com/watch?v=1-fyBYvDgss

Page 52: IA en Videojuegos

IA General

• “Strong AI”

• Se remonta a los comienzos de la IA

• “Singularidad”

Page 53: IA en Videojuegos

Técnicas Básicas de IA en Videojuegos

Las más utilizadas, incluso en juegos actuales

Page 54: IA en Videojuegos

Técnicas Básicas

• La IA es un campo realmente amplio

• Pero muchas técnicas son muy costosas en tiempo y recursos

• Debemos utilizar las técnicas más eficientes/efectivas posibles

Page 55: IA en Videojuegos

Máquinas de Estados

• Técnica muy simple pero efectiva

• También se usan máquinas de estados para animaciones

• Se basa en modelar distintos “estados” y las condiciones para pasar de un estado a otro

Page 56: IA en Videojuegos

Máquinas de EstadosDandoVueltas

PersiguiendoEnemigo

Disparando

Distancia < 100

Distancia < 50

LuchaDistancia < 2Distancia > 2

Distancia > 50

Distancia > 100

Muerto

Page 58: IA en Videojuegos

Máquinas de Estados

Page 59: IA en Videojuegos

Máquinas de Estados

Page 60: IA en Videojuegos

Ejercicio

• Diseñar una máquina de estados para un PacMan

Page 61: IA en Videojuegos

Búsqueda de Caminos

• Utilizada en muchos juegos

• P.e. FPS para perseguir al jugador

• Los algoritmos de búsqueda de caminos permiten tener en cuesta el “coste”

• Ejemplo: A*

• http://www.policyalmanac.org/games/aStarTutorial.htm

Page 62: IA en Videojuegos

A*

Page 64: IA en Videojuegos

Pregunta

• ¿Para qué podríais utilizar A* en vuestros juegos?

Page 65: IA en Videojuegos

Técnicas Avanzadas de IA en Videojuegos

Cada vez más utilizadas, pero todavía “experimentales” en videojuegos

Page 66: IA en Videojuegos

Técnicas Avanzadas

• Cada vez más podemos disponer de “computación adicional”

• P.e. Play3 y sus múltiples cores

• Esto da pie a dedicar un procesador o parte de él a la IA, y aplicar técnicas avanzadas

Page 67: IA en Videojuegos

Técnicas Avanzadas

• Son técnicas mucho más complejas

• Elegiremos las que más nos interesen y profundizaremos en ellas en la 3ª clase

Page 68: IA en Videojuegos

Próximas ClasesDeberes :P

Page 69: IA en Videojuegos

Próxima Clase

• Pensad qué tipo de IA aplicar en vuestros juegos

• Explicad cómo creéis que se implementaría y adaptaría

• Reflexionamos sobre mejoras

• Analizamos las técnicas que más os interesan para la siguiente clase