El documento presenta una introducción a la relación del autor con la inteligencia artificial (IA) y los videojuegos. Brevemente describe su experiencia como investigador e inventor de sistemas de IA para videojuegos sociales. También resume algunos de sus proyectos de investigación y desarrollo en IA aplicada a videojuegos y redes sociales, así como talleres y publicaciones relacionadas.
3. 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.)
5. I+D (Empresa)
• Sistemas de Recomendación
• Integrando contenidos, filt. colaborativo y
elementos sociales
• Escalables, flexibles y generales
• Otros SINS (Social INtelligent Systems)
6. 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
7. 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.
8. Más sobre mi
• Blog/Página personal: http://www.josek.net
• Twitter: @josek_net
11. Objetivos
• Panorámica de la IA
• Aplicaciones básicas en videojuegos
• Posibles aplicaciones avanzadas
• Guía/referencia para aplicar en vuestros
juegos
12. 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
13. 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
15. 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
16. 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
17. 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
18. Pregunta 1
• ¿Cómo diseñarías una IA distinta para cada
enemigo en el PacMan?
19. 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
20. 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.
21. Y avanzando...
• Juegos como Battlecruiser 3000AD (1996)
añadieron la aplicación de redes neuronales
• Creatures o Black & White son ejemplos
de comportamientos emergentes
22. Ú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.
23. Ú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
24. Ú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.
25. 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.
26. 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”
27. 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
28. Más info
• Buen artículo en wikipedia
• http://en.wikipedia.org/wiki/
Game_artificial_intelligence
29. 10 videojuegos +
influyentes en IA
• http://aigamedev.com/open/highlights/top-
ai-games/
30. 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
31. 9.- Half-Life (1998)
• Las escenas de “corte”
son interactivas.
• Una IA acompaña al
jugador en los primeros
niveles
• Introduce IA de grupo
32. 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”
33. 7.- Thief (1998)
• Modelado sensorial
preciso. Permite a los
actores con IA
responder de forma
realista a luz y sonidos.
34. 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
35. 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
36. 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
37. 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
38. 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
39. 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
41. Á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
44. Representación del
Conocimiento
• Sistemas expertos
• Razonamiento sobre conocimiento
• Web semántica
• Ontologías
• http://www.youtube.com/watch?
v=zXlKIJoSLVM
45. 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
46. Aprendizaje
• Sistemas que aprenden de la experiencia
• Categorización, regresión y clustering
• http://lslwww.epfl.ch/~anperez/BlackJack/
classes/RLJavaBJ.html
• http://webdocs.cs.ualberta.ca/~aixplore/
learning/DecisionTrees/Applet/
DecisionTreeApplet.html
47. 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)
49. 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
50. 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
51. 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
53. Técnicas Básicas de IA
en Videojuegos
Las más utilizadas, incluso en juegos actuales
54. 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
55. 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
56. Máquinas de Estados
DandoVueltas
Distancia > 100 Distancia < 100
PersiguiendoEnemigo
Muerto Distancia > 50 Distancia < 50
Disparando
Distancia > 2 Distancia < 2
Lucha
57. Máquinas de Estados
• http://www.youtube.com/watch?
v=nPlIAYuip3A
• http://www.youtube.com/watch?
v=DYHJuCyfYyM
• http://www.youtube.com/watch?
v=8GVuaHyJ_sg
61. 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
65. Técnicas Avanzadas de
IA en Videojuegos
Cada vez más utilizadas, pero todavía “experimentales”
en videojuegos
66. 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
67. 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
69. 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