1. PLAYER 1 – ANTONI O M. MORA GARCÍ A
PLAYER 2 – Juan Jul i án Mer el o Guer vós
CIENCIA Y
VIDEOJUEGOS
CIENCIA Y
VIDEOJUEGOS
Cc- by- sa Semana de l a ci enci a 2017, ETSI I T
- Pr ess START -
Versión 2.0
Versión 2.0
4. ¿POR QUÉ VIDEOJUEGOS?
• Crecimiento gracias a
nuevos grupos de edad y
género.
• Adaptación a todo tipo de
edades y capacidades
• ¡Hay mercado para
vender CIENCIA!
5. TIPOS DE JUGADORES
• También hardcore gamers: disfrutan y exprimen los
videojuegos
Aparición de casual gamers, centrados en
juegos de acción directa y breve o no-
juegos
Otra forma de decir “Virgen hasta los 37”
6. SISTEMAS DE JUEGO ACTUALES
• Sobremesa
• Portátiles
Wii U Xbox One Playstation 4 PC
Nintendo 3DS Playstation Vita Smartphones/Tablets
7. • 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:
– Asignatura “Diseño de Videojuegos”, Universidad de Cádiz
– “Máster en Videojuegos” - Universidad de Málaga
– “Máster en Creación de Videojuegos” – Universitat Pompeu Fabra
– “Máster en Programación de Videojuegos” – U-tad
– “Máster en Desarrollo de Videojuegos” – Universidad Complutense
de Madrid
• Aún así, distamos mucho de Europa y América:
– Ejemplo: Center for Computer Game Research (Copenhague)
VIDEOJUEGOS EN LA UNIVERSIDAD
9. Su novedoso mando (Wiimote) ha tenido muchas aplicaciones en el
ámbito científico (y no tan científico):
• control de robots, paneles/monitores reactivos, reconocimiento y
seguimiento de formas y sujetos.
WII
http://www.youtube.com/watch?v=v1AJ_OBJUpY http://www.youtube.com/watch?v=TkmxhVtvLoM http://www.youtube.com/watch?v=0awjPUkBXOU
10. Gracias a su controlador sin mandos Kinect:
• control de robots por movimiento y por voz, reconocimiento de
formas y personas, etc.
XBOX 360
http://www.youtube.com/watch?v=Sw4RvwhQ73E http://www.youtube.com/watch?v=c6jZjpvIio4
11. GPGPU
Aprovechamiento de la potencia de
cálculo de las GPUs para resolver
problemas complejos de computación.
Ventajas:
• Del orden de 10 a 30 veces más
Gflops que las CPUs coetáneas.
• Precio bajo (para lo que ofrece).
Desventajas:
• Lenguajes propios: CUDA, OpenCL
• Requiere estructuras de datos y de
cómputo específicas.
14. • Cumpliendo con las reglas de la física
• Gracias a motores específicos para modelado de físicas.
CIENCIA APLICADA EN VIDEOJUEGOS
http://www.youtube.com/watch?v=B7_rPDwSKe8
17. • Aparte del realismo visual y físico, se quiere modelar enemigos y
compañeros cuyo comportamiento sea ‘inteligente’ (humano).
• Es decir, los recursos se están invirtiendo en la IA.
LA NUEVA FRONTERA
18. INTELIGENCIA ARTIFICIAL (IA)
• Se llama IA a la rama de la informática dedicada a la
implementación de agentes racionales (o
aparentemente racionales) no vivos.
• Dentro de un videojuego, se trata de definir técnicas de
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).
19. IAs BÁSICAS
• En los inicios de los videojuegos, los
NPCs seguían habitualmente unas pautas
o patrones predefinidos, que el
programador establecía al crear el juego y
que eran 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.
20. IAs MÁS AVANZADAS
• Usando máquinas de estados finitos → una serie de estados
posibles para el NPC y las transiciones entre ellos.
By Fergu
21. IAs MÁS AVANZADAS
• Sistemas de reglas y los árboles de decisión. En ambos casos se
tienen un conjunto de reglas que el NPC seguirá para
actuar en función de las condiciones (entradas o
percepciones) que se den en su entorno.
22. IAs ACTUALES (I)
• Muchas usan comportamientos
predefinidos (scripts), en función de
las acciones del jugador.
• Sencillas de definir, basándose en
la experiencia.
• Su problema es la poca flexibilidad
que tienen para adaptarse a situaciones
cambiantes.
23. IAs ACTUALES (II)
• Además, los NPCs cuentan por lo general con ventajas adicionales al
jugador humano:
puntería perfecta basada en coordenadas exactas.
navigation points :
marcan puntos interesantes o claves del mapa.
señalan rutas de paso prefijadas hacia zonas ventajosas o items.
son invisibles al jugador
24. IAs ACTUALES
• Pero no son perfectas:
• Comercialmente se ha hecho poco uso técnicas ‘más científicas’,
como las redes neuronales, los algoritmos evolutivos,…
By
Antares
http://youtu.be/Xr2kwfquWPk
25. INVESTIGACIÓN EN JUEGOS
• Tradicionalmente, en el entorno científico, se
consideraba la llamada Teoría de Juegos, una rama
de las matemáticas aplicadas en la que se
ofrecen incentivos en base a la toma de
decisiones. Dentro de ella se incluían juegos
sencillos en su planteamiento, pero costosos en su
resolución: torres de Hanoi, dilema del
prisionero, juego de la vida.
• Estos juegos planteaban problemas a resolver
mediante técnicas exactas, heurísticas o
metaheurísticas: búsqueda en árboles, A*,
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.
26. INVESTIGACIÓN EN JUEGOS
• La aparición de los videojuegos propició un nuevo entorno de
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.
• Posteriormente, con el avance de la tecnología, los videojuegos se
fueron haciendo cada vez más complejos, con lo que se
añadieron nuevos componentes que era posible 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,
generalmente modelando sistemas adaptativos o
cambiantes.
• Hay que modelar el juego (o una parte del mismo) como
un problema de optimización, búsqueda o aprendizaje.
INTELIGENCIA COMPUTACIONAL
28. • 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
Ejemplos de inteligencia
29. • NPC’s AI:
– Modelar la IA o aspectos de ella para rivales
o compañeros dentro de cualquier juego.
– Intenta crear agentes autónomos en el
juego llamados bots.
– Es la línea de investigación más explotada.
TÉCNICAS HABITUALES:
– Behavioural parameters optimization: se
aplican AGs para evolucionar conjuntos de
parámetros de comportamiento.
– Rule system generation: se trata de definir
automáticamente el conjunto de reglas que
determinen la forma de actuar de los NPCs. Se
suele aplicar PG.
LÍNEAS DE INVESTIGACIÓN
30. • Human-like behaviour (in bots):
– El objetivo es modelar NPCs que sean
capaces de actuar como lo haría un
jugador humano.
– Deben ser (a veces), impredecibles, torpes o
poco precisos, dubitativos, empáticos, etc.
LÍNEAS DE INVESTIGACIÓN
– Expert-based systems: se hace un modelo del comportamiento de un
jugador experto. Normalmente un conjunto de reglas de actuación en cada
situación.
– Knowledge extraction: se graban partidas de jugadores humanos y se usan
métodos de extracción de datos (data mining) sobre esas partidas.
– Inretactive algorithms: se definen algoritmos en los que intervienen
controladores humanos, para dirigir los resultados a obtener.
31. • Procedural Content Generation →
generar de forma automática distintas
partes del juego.
– Niveles: el escenario o partes de él son
generadas (árboles en TES v: Skyrim, No
Man's Sky)
– Armas, Items: (Borderlands)
– Historia, Guión.
LÍNEAS DE INVESTIGACIÓN
33. Bot basado en AG
(GA-Bot)
Proceso
Evolutivo
del AG
Std
AI
población
Std
AI
Std
AI
EVALUACIÓN DEL FITNESS
• Analizamos MEF
• Determinamos parámetros
• Optimizamos
UNREALBOT
34. • Analizamos MEF
• Determinamos parámetros de equipo
• Optimizamos
Equipo de bots
basados en AGs
(GT-Bot)
Proceso
Evolutivo
del AG
población
EVALUACIÓN DEL FITNESS
Std
AI
Std
AI
Std
AI
vs
O
UNREALBOTS TEAM
35. • Creado mediante evolución (con AEs) de MEFs:
MARIO AGENT
Nivel de dificultad 3
(5 días de evolución)
http://www.youtube.com/watch?v=qQVQ43sWwYY
36. • Massive Artificial Drama
Engine:
– Sistema de generación de tramas
masivas para personajes secundarios
en juegos.
– Cada NPC tendrá una historia
personal que le sirva para situarse en el
juego y que justifique sus actos.
• Dentro de la PCG.
• Es un sistema multiagente
optimizado mediante AEs.
• Se busca el interés del jugador que
definirá los arquetipos a generar por
el sistema ( héroes, vengadores,
mentores, villanos, personas en apuros).
MADE
http://made.velonuboso.com
@made_project
37. ¿ALGUNA
PREGUNTA
SOBRE CIENCIA Y
VIDEOJUEGOS?
Encuentra la presentación en slideshare:
Slideshare.net/jjmerelo
Todo nuestro software es libre y está
disponible.
Yo soy @jjmerelo
Transpas originales de
@amoragar
¡Muchas gracias a
@fergunet y @antaress!
Notas del editor
<number>
GCW Zero -> consola financiada con Kickstarter
GPD Q88+ -> consola Android
<number>
Rojo (shadow - sombra) -> acosa a Pac-Man
Rosa (speedy - rápido) -> camino mínimo hasta él
Azul (bashful - tímido) -> tarda en salir de la ‘casa de los fantasmas’. Intenta predecir hacia dónde irá Pac-Man
Amarillo (pokey - lento) -> va a su bola
<number>
Izquierda juego FEAR
<number>
Como se puede ver el principal problema es la poca adaptabilidad de los NPCs a situaciones inesperadas o cambiantes (no pensadas por los programadores de la IA).
Por eso es interesante auto-adaptarse (usando técnicas de inteligencia computacional).
<number>
Imagen de Karl Barlon https://www.flickr.com/photos/kalleboo/2454857228/
<number>
<number>
Ventajas:
Rejugabilidad -> juegos potencialmente infinitos.
Creatividad -> surgen cosas inesperadas que a un diseñador podrían no ocurrírsele.
Ahorro -> se automatizan tareas tediosas.
Desventajas:
Hay que hacer un muy buen diseño del juego (y sus componentes).
Requiere intervención humana (al principio) para valorar lo creado y ajustar los métodos.
<number>