Presentación de la charla impartida durante el pasado Curso de Verano del Centro Mediterráneo de Almuñécar, titulado "Animación y Videojuegos".
En la charla se habla de diversos aspectos que relacionan ciencia y videojuegos, desde las posibilidades de los sistemas de juego en relación a la ciencia, hasta la investigación científica en el campo de los videojuegos.
2. • Introducción
crecimiento del mercado de videojuegos,
taxonomía de jugadores, sistemas de juego
actuales. Videojuegos en la Universidad.
• Aplicaciones de los videojuegos a la ciencia
uso de sistemas de videojuegos en campos
de la ciencia.
• Ciencia en los videojuegos
consideraciones científicas en el mundo de
los videojuegos.
• Investigación en videojuegos
principales campos de investigación dentro
del ámbito de los videojuegos.
• Ejemplos
4. • Recientemente ha habido un crecimiento
enorme del consumo de videojuegos en el
mundo, debido a su acercamiento a grupos
antes ajenos a ellos: usuarios mayores de 25
años y menores de 10 incluyendo padres,
10,
madres y abuelos, así como el sector femenino
femenino.
• Este crecimiento se ha debido al cambio
en la filosofía de los videojuegos, ofreciendo
contenidos más ‘adultos’ o por el
contrario, más asequibles e ‘infantiles’,
así como juegos de acción directa
y breve.
• CIENCIA!
¡Hay mercado para vender CIENCIA
5. • El crecimiento del mercado de los videojuegos ha hecho que aparezcan los
gamers.
llamados casual gamers
Son jugadores esporádicos y centrados en juegos de acción directa y breve
(arcade, deportivos, mini-juegos), o de los llamados no-juegos (juegos de
no-
entrenamiento, dibujo, etc).
• Los jugadores de toda la vida se han autodenominado hardcore gamers
gamers.
Éstos disfrutan y exprimen los videojuegos están informados, les gustan la
videojuegos,
mayoría de géneros y juegan largos periodos (si pueden).
6. • Aparte del PC y de los sistemas móviles (iOS, Android, etc), existen varios
sistemas muy extendidos:
• Consolas de sobremesa
Wii Xbox 360 Playstation 3
• Consolas portátiles
Nintendo Playstation
3DS Vita
7. • Y muchos más (consolas de filosofía abierta poco conocidos por el gran público.
consolas abierta),
GP2X Wiz Caanoo
Dingoo Pandora
8. • Otra de las repercusiones es que desde hace unos años se están
adaptando los planes de estudios al desarrollo de estas aplicaciones.
• Existen asignaturas Grados e incluso Másteres dedicados:
asignaturas,
– Asignatura “Diseño de Videojuegos Universidad de Cádiz
Diseño Videojuegos”,
– “Grado en Diseño y Desarrollo de Videojuegos - Universidad Camilo José
Grado Videojuegos”
Cela
– “Diseño y Desarrollo de Videojuegos y Sistemas Interactivos - Universitat
Diseño Interactivos”
Jaume I
– “Máster en Creación de Videojuegos – Universitat Pompeu Fabra
Máster Videojuegos”
– “Máster en Programación de Videojuegos – U-tad
Máster Videojuegos”
• Aún así, distamos mucho de Europa y América:
– Ejemplo: Center for Computer Game Research (Copenhagen)
10. Su novedoso mando (Wiimote ha tenido muchas aplicaciones en el
Wiimote)
Wiimote
ámbito científico (y no tan científico):
• control de robots, paneles/monitores reactivos, reconocimiento y
seguimiento de formas y sujetos.
http://www.youtube.com/watch?v=v1AJ_OBJUpY http://www.youtube.com/watch?v=TkmxhVtvLoM http://www.youtube.com/watch?v=0awjPUkBXOU
11. Hay incluso un proyecto, WiiLab que ha creado una utilidad en Matlab
WiiLab,
para interaccionar con el Wiimote…
…y otra con Game Maker!!!
http://code.google.com/p/giimote/
http://www.youtube.com/watch?v=EeBAYeoX7-8
12. • Inicialmente se utilizó para crear
clusters de consolas (super
computadores), debido a la
potencia de su chip Cell y su
precio no muy elevado.
• Contaba con un S.O. Linux
adicional (Yellow Dog) muy
flexible.
• Posteriormente, la consola fue
actualizada por Sony para no
admitir la instalación de otro
S.O.,
S.O. con lo que se perdió esta
posibilidad.
13. Gracias a su controlador sin mandos Kinect
Kinect:
• control de robots por movimiento y por voz, reconocimiento de
formas y personas, etc.
http://www.youtube.com/watch?v=Sw4RvwhQ73E http://www.youtube.com/watch?v=c6jZjpvIio4
16. • Los videojuegos, desde siempre, cumplen con reglas de la física
física,
incluso los más simples (en apariencia) como Super Mario Bros.
(saltos, trayectorias, inercia,…).
• En la actualidad se está tendiendo a hacerlos completamente fieles
a la realidad, creando motores específicos para modelado de
físicas.
físicas
http://www.youtube.com/watch?v=B7_rPDwSKe8
17. Los principios científicos de funcionamiento del primer mando
basado en movimiento y usado como controlador principal de una
consola (Wiimote son:
Wiimote)
Wiimote
http://www.youtube.com/watch?v=ETAKfSkec6A
19. • Aparte del realismo visual y físico se quiere modelar enemigos y
físico,
compañeros cuyo comportamiento sea ‘inteligente’ (humano).
• IA.
Es decir, los recursos se están invirtiendo en la IA
20. • Se llama IA a la rama de la informática dedicada a la
implementación de agentes racionales (o aparentemente
racionales) no vivos
vivos.
• Dentro de un videojuego se trata de definir técnicas de
videojuego,
comportamiento para los personajes no manejables (NPCs en
inglés) que ‘simulen’ ser racionales. Estos personajes podrán
ser enemigos o colaboradores.
• En principio no se trata de obtener comportamiento
estrictamente humano, dado que esto conllevaría la inclusión
‘forzosa’ de errores (los humanos nos equivocamos mucho).
21. • En los inicios de los videojuegos, los NPCs
seguían habitualmente unas pautas o
patrones predefinidos que el
predefinidos,
programador establecía al crear el juego y
que eran invariables
invariables.
• Las IAs reactivas proponían acciones de
los NPCs en respuesta a las de los
jugadores.
• Las IAs dedicadas establecían
‘personalidades’ diferentes a los NPCs.
22. • Posteriormente se empezó a utilizar las llamadas máquinas de
estados finitos las cuales definen una serie de estados
finitos,
posibles para el NPC y las transiciones entre ellos (basadas en
percepciones sobre el juego o sobre el jugador).
By Fergu
23. • También son bastante utilizados los sistemas de reglas y los
árboles de decisión En ambos casos se tienen un conjunto de
decisión.
reglas que el NPC seguirá para actuar en función de las
condiciones (entradas o percepciones) que se den en su entorno.
24. • En la actualidad, lo más habitual es aplicar una mezcla de estas técnicas. Así
en la gran mayoría de juegos los NPCs utilizan variantes de comportamientos
predefinidos (scripts en función de las acciones del jugador
scripts),
scripts jugador.
• Su ventaja es que es relativamente sencillo definirlos basándose en la
definirlos,
experiencia del programador/jugador en el juego (o juegos similares).
• Su problema es la poca flexibilidad que tienen para adaptarse a situaciones
cambiantes.
cambiantes
• Además, los NPCs cuentan por lo general con ventajas adicionales al jugador
humano, como puntería perfecta basada en coordenadas exactas, navigation
points (puntos de paso prefijados que siguen rutas hacia zonas ventajosas o
items), etc.
• Comercialmente se ha hecho poco uso de otras técnicas ‘más científicas’,
como las redes neuronales, los algoritmos evolutivos…
25. • Tradicionalmente en el entorno científico se consideraba la llamada
Teoría de Juegos una rama de las matemáticas aplicadas en la que
Juegos,
se ofrecen incentivos en base a la toma de decisiones Dentro de ella
decisiones.
se incluían juegos sencillos en su planteamiento, pero costosos en su
resolución: torres de Hanoi, dilema del prisionero, juego de la vida
anoi, vida.
• Estos juegos planteaban problemas a resolver mediante técnicas
exactas, heurísticas o metaheurísticas búsqueda en árboles, A*,
metaheurísticas:
algoritmos genéticos, algoritmos basados en colonias de hormigas,…
• Además, la resolución de juegos tradicionales (típicamente puzles)
también ha sido objeto de estudio desde los inicios de la
investigación científica: ajedrez, backgammon, mastermind, sudoku
ackgammon, mastermind,
26. • La aparición de los videojuegos propició un nuevo entorno de
problemas.
problemas
• El primero y más directo que se propuso resolver fue el de los
aspectos relativos a la IA Este problema aún es el más relevante.
IA.
• Posteriormente, con el avance de la tecnología, los videojuegos se
fueron haciendo cada vez más complejos con lo que se añadieron
complejos,
nuevos componentes que era posible investigar:
investigar
– Búsqueda en mapas, predicción de combates, simulación, etc
• En la actualidad, las posibilidades son tan grandes, que los temas de
estudio han aumentado exponencialmente y del mismo modo la
investigación científica (y publicaciones).
27. • Rama de la IA que aplica metaheurísticas y mecanismos
bioinspirados para la resolución de problemas complejos
complejos,
generalmente modelando sistemas adaptativos o cambiantes
cambiantes.
• Hay que modelar el juego (o una parte del mismo) como un
problema de optimización, búsqueda o aprendizaje.
• Ejemplos:
– Búsqueda de camino mínimo en un mapa
– Predicción de resultado de combates
– Definición automática de reglas de comportamiento
– Ajuste de parámetros de comportamiento
– Decisión de objetivos
28. • Entre las Metaheurísticas más utilizadas están: Algoritmos
Genéticos (AG), Algoritmos de Optimización basada en
Colonias de Hormigas (OCH), Monte-Carlo Tree Search
Monte-
(MCTS), A* Programación Genética (PG), Lógica Difusa
A*, Difusa,
Neuronales…
Redes Neuronales
• Y suelen aplicarse sobre máquinas de estados finitos (MEF),
scripts,
scripts sistemas de reglas (SR) o sistemas expertos (SE), etc.
29. • NPC’s AI se trata de modelar la IA o
AI:
aspectos de ella para rivales o compañeros
dentro de cualquier juego. Habitualmente se
aplican AGs para evolucionar parámetros o
comportamientos.
• Rule system generation se trata de definir
generation:
automáticamente el conjunto de reglas que
determinen la forma de actuar de los NPCs.
Se suele aplicar PG.
• Human-
Human-like behaviour analysis and modelling: el
modelling
objetivo es modelar NPCs que sean capaces
de actúar como lo haría un jugador humano.
Para ello se pueden usar técnicas de
extracción de datos (data mining) sobre
conjuntos de datos relativos a partidas de
humanos.
30. • Cheating detection se aplican técnicas de
detection:
detección de ‘trampas’ en partidas, en base a un
estudio de las estadísticas obtenidas por los
jugadores.
• Move and battle prediction se entrenan
prediction:
métodos de predicción (como redes neuronales)
en base a datos de partidas grabadas, para que
sean capaces de anticipar futuros movimientos
o acciones de los rivales.
• Learning in games usando métodos de
games:
aprendizaje por refuerzo (reinforcement
learning), se consiguen agentes adaptativos.
31. • Game mechanics and features analysis se analizan
analysis:
los componentes del juego y se parametrizan a fin
de conseguir evaluaciones numéricas de los
elementos que conforman un juego.
• Exploration and search in games se aplican
games:
algoritmos de búsqueda para encontrar caminos a
objetivos en mapas de juegos, o para explorar
determinadas zonas maximizando el área cubierta,
por ejemplo.
• haracters, generation:
Content, characters, levels and story generation
se aplican algoritmos de optimización para
distribuir generar contenidos o formas en un nivel.
Se crean funciones matemáticas que valoran de
forma objetiva estos contenidos o niveles
generados, o se hacen algoritmos interactivos que
cuentan con un feedback por parte de usuarios
humanos.
35. Unreal es un juego de disparos en primera persona (FPS)
(FPS).
Muy famoso por la excelente IA de los enemigos (bots), que lo convierten en
un excelente juego multijugador.
Tiene un editor sencillo con el que se puede cambiar o crear cualquier cosa
en el juego (con el lenguaje UnrealScript
UnrealScript).
36. • Analizamos MEF
• Determinamos parámetros
• Optimizamos
Bot basado en AG EVALUACIÓN DEL FITNESS
(GA-Bot
GA-
GA Bot)
población Std
AI Std Std
AI AI
Proceso
Evolutivo
del AG
37. • Analizamos MEF
• Determinamos parámetros de equipo
• Optimizamos
Equipo de bots
basados en AGs EVALUACIÓN DEL FITNESS
(GT-Bot
GT-
GT Bot) Std
Std
AI
AI
Std
AI
población
vs
Proceso
Evolutivo
del AG O
38. • Ejemplos de NPCs/Bots/Agentes:
http://www.youtube.com/watch?v=EiAWYGNpu9M http://www.youtube.com/watch?v=0Khtp2tEU1k
39. Una buena forma de empezar:
• 2K BotPrize bots de Unreal que deben ser lo más humanos posible.
BotPrize:
• Starcraft:
Starcraft combates en el famoso RTS.
• Planet Wars: RTS de lucha interplanetaria simple.
Wars
(Google AI Challenge 2010).
• ANTS:
ANTS RTS de pelea entre hormigas. (Google AI Challenge 2011).
• Pac-Man:
Pac-Man Famoso comecocos. Puedes implementar a Pac-man o a los
fantasmas.
• Simulated Car Racing Carreras de coches.
Racing:
• Mario AI Agente, aprendizaje, generación de niveles.
AI:
http://geneura.ugr.es/cig2012/competitions.html
40. • Congresos:
Congresos
– IEEE CIG (2012 en Granada)
– CGAMES
– GAME-ON
– CGAT
– Special Sessions:
IWANN, MAEB, EVO*, GECCO, WCCI
• Revistas:
Revistas
– Transactions on Computational
Intelligence and AI in Games (IEEE)
– Entertainment Computing (Springer)
…
– Cualquiera en la que cuele