Anda di halaman 1dari 69

IA en Videojuegos

Jos Carlos Cortizo Prez


CTO Social Gaming Platform

Jos Carlos Cortizo


Mi relacin con la IA y los videojuegos

Jos Carlos Cortizo


Cofundador y CTO de
AINetSolutions
Social Gaming Platform
Profesor e investigador en la UEM
Sistemas Inteligentes (IA, Minera de

Datos, Sistemas de Recomendacin, etc.)

I+D (Universidad)
10 proyectos nacionales/europeos
MAVIR/MAVIR2
ISSE/SINAMED
ASTROCAM/MEIGA/TECAD-F
MOBIHELP
25 publicaciones en congresos y revistas

I+D (Empresa)
Sistemas de Recomendacin
Integrando contenidos, filt. colaborativo y
elementos sociales

Escalables, flexibles y generales

Otros SINS (Social INtelligent Systems)

Workshops
1st International Workshop on Mining

Social Media (CAEPIA 2009); 2 edicin

1st Int. Workshop on Adaptation,

Personalization and REcommendation in


the Social-semantic Web

PLN en empresas: visionando los prximos


10 aos -> SEPLN 2010

Wipley
Red Social de Videojugadores
Adems, campo de pruebas para nuestra
tecnologa

El campo de los videojuegos es muy


peculiar -> Multidimensionalidad,
recencia, etc.

Ms sobre mi
Blog/Pgina personal: http://www.josek.net
Twitter: @josek_net

IA y Videojuegos
Entramos en faena :D

Objetivos del curso


Qu podis esperar de este mini-curso?

Objetivos
Panormica de la IA
Aplicaciones bsicas en videojuegos
Posibles aplicaciones avanzadas
Gua/referencia para aplicar en vuestros
juegos

Qu no esperar
Un curso estndar sobre IA
Estudiar a fondo la integracin de IA en
videojuegos

Desarrollar nuevas tcnicas de IA para


videojuegos

Organizacin temporal
3 clases
Clase 1: IA y videojuegos (panormica)
Clase 2: Qu IA aplicar en vuestros
juegos?

Clase 3: Profundizamos sobre las tcnicas


que elijis

Orgenes

Orgenes
Ajedrez/damas/juegos de mesa y lgica
Arthur Samuel 1959: Some Studies in
Machine Learning Using the Game of
Checkers

http://www.research.ibm.com/journal/rd/033/ibmrd0303B.pdf

Orgenes
Aos 70: juegos para 1 jugador
Qwak, Pursuit, hunt the Wumpus, Star
Trek

Movimientos de los enemigos almacenados


Con la aparicin de microprocesadores, se
aadi cierta aleatoriedad a los
movimientos

Orgenes
Space Invaders (1978) y Galaxian (1979)
utilizan funciones hash en basadas en las
acciones del jugador) para aadir
complejidad

Pac-Man (1980) y Karate Champ (1984)

aadan a sto ciertas personalidades en


los enemigos

Pregunta 1

Cmo disearas una IA distinta para cada


enemigo en el PacMan?

Orgenes
Madden Football o Earl Weaver Baseball

trataban de replicar el estilo de juego de


una celebridad

Juegos posteriores aadieron variables a la


IA para producir estilos de juegos ms
adaptados

El boom de los 90
Los aos 90 supusieron un boom en cuanto
a nuevos gneros de videojuegos y con
ellos nuevas tcnicas de IA

Mquinas finitas de estados, bsqueda de


caminos, decisiones en tiempo real,
planificacin, etc.

Y avanzando...
Juegos como Battlecruiser 3000AD (1996)

aadieron la aplicacin de redes neuronales

Creatures o Black & White son ejemplos


de comportamientos emergentes

ltima dcada +/ 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


cubran entre ellos, etc.

ltima dcada +/ Halo (2001) permita a su IA utilizar

vehculas y otras acciones tcticas. La IA


poda reconocer amenazas (granadas,
vehculos) y actuar en consecuencia

ltima dcada +/ En Far Cry (2004) los enemigos

reaccionaban al estilo de juego del jugador,


as como empleaban tcticas militares. La IA
no usaba trucos como el conocer la
posicin real del jugador, si no que
almacenaban la ltima posicin conocida.

Lo ms reciente
F.E.A.R. (2005) fue el primer juego en

emplear planificacin en tiempo real para


controlar la IA.

GOAP (Goal-Oriented Action Planning) le


permita adaptarse al comportamiento de
forma dinmica.

Lo ms reciente
Left 4 Dead (2008) genera de forma

procedural diferentes experiencias para los


usuarios cada vez que juegan.

La IA analiza cmo ha jugado el jugador y

trata de aadir eventos que les ofrezcan


cierta sensacin de narrativa

Ms all
La IA no solo est dentro de los
videojuegos

Project Natal es un ejemplo de aplicacin


de IA en videojuegos

Tambin existen sistemas de

recomendacin de partidas o videojuegos

Ms info
Buen artculo en wikipedia
http://en.wikipedia.org/wiki/

Game_artificial_intelligence

10 videojuegos +
influyentes en IA
http://aigamedev.com/open/highlights/topai-games/

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

9.- Half-Life (1998)

Las escenas de corte


son interactivas.

Una IA acompaa al
jugador en los primeros
niveles

Introduce IA de grupo

8.- Total War (2000)

Control de miles de IAs

Lgica inspirada en El
Arte de la Guerra

Modela las emociones


de los soldados para el
realismo de las batallas

7.- Thief (1998)

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

6.- The Sims (2000)

Se usan objetos inteligentes


para ayudar a la
implementacin de los
comportamientos.

Los objetos especifican


cmo deben interactuar los
personajes con ellos

Los Sims tienen deseos


bsicos que guan sus
acciones

Modelado de relaciones e
interacciones emocionales

5.- Creatures (1996)

1 aplicacin popular de
aprendizaje automtico
en una simulacin
interactiva

Las criaturas aprenden


con redes neuronales

Se considera rompedor
en el rea de vida
artificial

4.- Halo (2001)

Los enemigos se cubren


bien y responden
adecuadamente

Los grupos estn bien


modelados; cuando
matas al lider, se
debilitan

Su tecnologa de rbol
de comportamiento se
ha adoptado despus

3.- Faade (2005)

Interaccin mediante
PLN

El lenguaje provee
formas para especificar
el comportamiento de
los personajes en
trminos de una historia
dinmica

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

Usa planificadores para


generar
comportamientos
sensibles al contexto

Los enemigos usan el


entorno de forma
inteligente

Tcticas de grupo usadas


de forma efectiva

1.- Black & White


(2001)

Juego basado en la
interaccin con una IA
que aprende de
ejemplos y refuerzo

Integrado con vida


artificial en un contexto
de estrategia

Utiliza tcnicas de AA
como redes neuronales
y rboles de decisin

Panormica de la IA

reas dentro de la IA

Deduccin/razonamiento
Representacin del conocimiento
Planificacin
Aprendizaje
PLN
Movimiento y manipulacin
Percepcin
Inteligencia Social
IA General

Deduccin/Razonamiento
Primeros acercamientos a la IA
Muy relacionados con los conceptos de
bsquedas

Costosos en tiempo

Deduccin/Razonamiento
http://webdocs.cs.ualberta.ca/~aixplore/
search/IDA/Applet/SearchApplet.html

http://ocw.mit.edu/OcwWeb/ElectricalEngineering-and-Computer-Science/
6-034Fall-2006/Tools/index.htm

http://www.youtube.com/watch?
v=4m21jh5fAOw

Representacin del
Conocimiento
Sistemas expertos
Razonamiento sobre conocimiento
Web semntica
Ontologas
http://www.youtube.com/watch?
v=zXlKIJoSLVM

Planificacin
Clculo 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

Aprendizaje
Sistemas que aprenden de la experiencia
Categorizacin, regresin y clustering
http://lslwww.epfl.ch/~anperez/BlackJack/
classes/RLJavaBJ.html

http://webdocs.cs.ualberta.ca/~aixplore/
learning/DecisionTrees/Applet/
DecisionTreeApplet.html

Aprendizaje
Aplicaciones reales:
Filtrado de spam, categorizacin de webs
Deteccin del cncer, reconocimiento de
imgenes

Aplicaciones en videojuegos:
Aprendizaje por refuerzo (los enemigos
aprenden de sus errores)

PLN
Procesamiento del Lenguaje Natural
Buscadores
Interfaces persona-computador
http://alice.pandorabots.com/
http://www.youtube.com/watch?
v=Sx3Fpw0XCXk

Movimiento y
Manipulacin
Ligada a razonamiento y planificacin
Aplicado bsicamente en robtica
Puede servir como ejemplo para
interacciones virtuales

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

Percepcin
Ligado tpicamente a robtica
Maneja sensores para deducir una visin
del mundo

Reconocimiento del habla, de caras o de


objetos

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

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

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=1fyBYvDgss

IA General
Strong AI
Se remonta a los comienzos de la IA
Singularidad

Tcnicas Bsicas de IA
en Videojuegos
Las ms utilizadas, incluso en juegos actuales

Tcnicas Bsicas
La IA es un campo realmente amplio
Pero muchas tcnicas son muy costosas en
tiempo y recursos

Debemos utilizar las tcnicas ms


eficientes/efectivas posibles

Mquinas de Estados
Tcnica muy simple pero efectiva
Tambin se usan mquinas de estados para
animaciones

Se basa en modelar distintos estados y las


condiciones para pasar de un estado a otro

Mquinas de Estados
DandoVueltas
Distancia > 100

Distancia < 100

PersiguiendoEnemigo
Muerto

Distancia > 50

Distancia < 50

Disparando
Distancia > 2

Distancia < 2

Lucha

Mquinas de Estados
http://www.youtube.com/watch?
v=nPlIAYuip3A

http://www.youtube.com/watch?
v=DYHJuCyfYyM

http://www.youtube.com/watch?
v=8GVuaHyJ_sg

Mquinas de Estados

Mquinas de Estados

Ejercicio

Disear una mquina de estados para un


PacMan

Bsqueda de Caminos
Utilizada en muchos juegos
P.e. FPS para perseguir al jugador
Los algoritmos de bsqueda de caminos
permiten tener en cuesta el coste

Ejemplo: A*
http://www.policyalmanac.org/games/
aStarTutorial.htm

A*

A*
http://www.vision.ee.ethz.ch/~cvcourse/
astar/AStar.html

http://code.google.com/p/aima-java/

Pregunta

Para qu podrais utilizar A* en vuestros


juegos?

Tcnicas Avanzadas de
IA en Videojuegos
Cada vez ms utilizadas, pero todava experimentales
en videojuegos

Tcnicas Avanzadas
Cada vez ms podemos disponer de
computacin adicional

P.e. Play3 y sus mltiples cores

Esto da pie a dedicar un procesador o


parte de l a la IA, y aplicar tcnicas
avanzadas

Tcnicas Avanzadas
Son tcnicas mucho ms complejas
Elegiremos las que ms nos interesen y
profundizaremos en ellas en la 3 clase

Prximas Clases
Deberes :P

Prxima Clase
Pensad qu tipo de IA aplicar en vuestros
juegos

Explicad cmo creis que se implementara


y adaptara

Reflexionamos sobre mejoras


Analizamos las tcnicas que ms os
interesan para la siguiente clase

Anda mungkin juga menyukai