ciencia y videojuegos (versión extracción de información) [uca 05/2015]

46
PLAYER 1 – ANTONIO M. MORA GARCÍA PLAYER 2 – PABLO GARCÍA SÁNCHEZ CIENCIA Y VIDEOJUEGOS CIENCIA Y VIDEOJUEGOS © Universidad de Cádiz 2015 - Press START - RECUPERACIÓN DE INFORMACIÓN EDITION

Upload: antonio-mora

Post on 17-Jul-2015

774 views

Category:

Science


2 download

TRANSCRIPT

Page 1: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

PLAYER 1 – ANTONIO M. MORA GARCÍA

PLAYER 2 – PABLO GARCÍA SÁNCHEZ

CIENCIA Y VIDEOJUEGOS

CIENCIA Y VIDEOJUEGOS

© Universidad de Cádiz 2015

- Press START -

RECUPERACIÓN DE

INFORMACIÓN

EDITION

Page 2: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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. • Interacción con videojuegos

Page 3: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

INTRODUCCIÓN INTRODUCCIÓN

Page 4: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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, madres y abuelos, así como el sector 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.

• ¡Hay mercado para vender CIENCIA!

Page 5: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• Los jugadores de toda la vida se han autodenominado hardcore gamers. Éstos disfrutan y exprimen los videojuegos, están informados, les gustan la mayoría de géneros y juegan largos periodos (si pueden).

• El crecimiento del mercado de los videojuegos ha hecho que aparezcan los 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 entrenamiento, dibujo, etc).

Otra forma de decir “Virgen hasta los 37”

Page 6: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• Sobremesa

• Portátiles

Wii U Xbox One Playstation 4 PC

Nintendo 3DS Playstation Vita Smartphones/Tablets

Page 7: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• Y muchos más (consolas de filosofía abierta), poco conocidos por el gran público.

GP2X Wiz GCW Zero

GPD Q88+ Pandora

Page 8: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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)

Page 9: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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)

Page 10: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

APLICACIONES A LA CIENCIA

APLICACIONES A LA CIENCIA

Page 11: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

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.

http://www.youtube.com/watch?v=v1AJ_OBJUpY http://www.youtube.com/watch?v=TkmxhVtvLoM http://www.youtube.com/watch?v=0awjPUkBXOU

Page 12: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

Hay incluso un proyecto, WiiLab, que ha creado una utilidad en Matlab para interaccionar con el Wiimote… …y otra con Game Maker!!!

http://code.google.com/p/giimote/

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

Page 13: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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., con lo que se perdió esta posibilidad.

Page 14: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

Gracias a su controlador sin mandos 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

Page 15: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

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.

Page 16: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

CIENCIA EN LOS VIDEOJUEGOS

CIENCIA EN LOS VIDEOJUEGOS

Page 17: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Page 18: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• Los videojuegos, desde siempre, cumplen con reglas de la física, incluso los más simples (en apariencia) como Super Mario Bros. (saltos, trayectorias, inercia,…).

• En la actualidad se ha conseguido hacerlos (casi) completamente fieles a la realidad, creando motores específicos para modelado de físicas.

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

Page 19: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

INVESTIGACIÓN EN VIDEOJUEGOS

INVESTIGACIÓN EN VIDEOJUEGOS

Page 20: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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.

Page 21: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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).

Page 22: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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.

Page 23: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• Posteriormente se empezó a utilizar las llamadas máquinas de estados finitos, las cuales definen una serie de estados posibles para el NPC y las transiciones entre ellos (basadas en percepciones sobre el juego o sobre el jugador).

By Fergu

Page 24: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• También son bastante utilizados los 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.

Page 25: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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.

• Su ventaja es que es relativamente sencillo definirlos, basándose en la experiencia del programador/jugador en el juego (o juegos similares).

• Su problema es la poca flexibilidad que tienen para adaptarse a situaciones cambiantes.

Page 26: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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

Page 27: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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

Page 28: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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.

Page 29: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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).

Page 30: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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.

• 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

Page 31: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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 (MCTS), A*, Programación Genética (PG), Lógica Difusa, Redes Neuronales…

• Y suelen aplicarse sobre máquinas de estados finitos (MEF), scripts, sistemas de reglas (SR) o sistemas expertos (SE), etc.

Page 32: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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.

Page 33: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 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.

TÉCNICAS HABITUALES:

– 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.

Page 34: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• Procedural Content Generation: – El objetivo es generar de forma automática distintas partes del juego. – 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. Sub-líneas principales:

• Niveles: el escenario o partes de él son generadas (árboles en TES v: Skyrim) • Armas, Items: éstos se crean de forma automática (Borderlands) • Historia, Guión: se usan técnicas de creación literaria automática para definir un

trasfondo o eventos en el juego.

Page 35: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• Procedural Content Generation: existen juegos generados completamente de forma automática. kkrieger (¡¡¡2004!!!) – ¡¡¡¡¡sólo 96KB!!!!!!!!!!!! No man’s sky (2014)

http://www.youtube.com/watch?v=RRpDn5qPp3s http://www.youtube.com/watch?v=2NBG-sKFaB0

Page 36: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• Cheating detection: se aplican técnicas de 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 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 aprendizaje por refuerzo (reinforcement learning), se consiguen agentes adaptativos.

Page 37: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• Game mechanics and features analysis: se analizan 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 algoritmos de búsqueda para encontrar caminos a objetivos en mapas de juegos, o para explorar determinadas zonas maximizando el área cubierta, por ejemplo.

• Serious games: se utilizan los videojuegos como medio de formación, mejora de aprendizaje, o para tratar problemas de salud (física o mental), por ejemplo. No están meramente enfocados en la diversión, aunque la utilizan para fomentar los demás objetivos.

Page 38: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

INTERACCIÓN CON JUEGOS

INTERACCIÓN CON JUEGOS

Page 39: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

La investigación en videojuegos (comerciales) requiere que se desarrolle o se ofrezca algún medio de interacción (automática) con los mismos.

• Editores: los ofrecen los creadores de los juegos para que los usuarios implementen modificaciones a los juegos (MODS).

• Frameworks: entornos diseñados para la completa interacción con un videojuego.

• Librerías: utilidades externas que se conectan con el juego y permiten interactuar con él.

Page 40: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

Los editores permiten cambiar elementos del juego e incluso diseñar e implementar nuevos elementos que se añadirán al mismo, que pueden ir desde una simple nueva apariencia para un personaje, hasta la creación de un nuevo tipo de juego dentro de otro.

Son los llamados MODS.

Estas modificaciones podrán incluir rediseños también de la parte de inteligencia artificial, incluyendo algoritmos de mejora automática de la misma.

Ejemplo: UnrealEditor.

Page 41: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

Son entornos creados exclusivamente para la interacción automática con un videojuego, por lo que, muchas veces, se diseñan incluyéndolo al mismo. Suelen ser versiones simplificadas y abiertas de juegos comerciales, o juegos creados sólo con el objetivo de implementar de forma directa nuevas funcionalidades para el mismo, normalmente la IA del jugador o los enemigos. Ejemplos: TORCS o Mario AI Benchmark.

Page 42: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

Se crean para la interacción automática externa con un juego. Suelen implementar un mecanismo de comunicación o ‘inyección de código’ sobre el juego. Normalmente ofrecen funciones de alto nivel y menos control sobre los elementos del juego que las otras alternativas. Ejemplos: Pogamut o BWAPI.

Page 43: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

• 2K BotPrize: bots de Unreal que deben ser lo más humanos posible. • Starcraft: combates en el famoso RTS. • Planet Wars: RTS de lucha interplanetaria simple. Google AI Challenge 2010. • ANTS: RTS de pelea entre hormigas. Google AI Challenge 2011. • Pac-Man: Famoso comecocos. Puedes implementar a Pac-man o a los fantasmas. • General Video Game Playing: hay que crear un agente que pueda aprender a

jugar varios videojuegos clásicos de forma autónoma. • Simulated Car Racing: Carreras de coches. • Platformer AI: Generación de niveles y test de Turing en un plaformas a lo

Super Mario Bros. • Fighting Game Competition: combates de lucha 1 vs 1 (al estilo Street Fighter). • AI Birds: se deben crear agentes que jueguen a Angry Birds. • Physical TSP: nave que debe recoger una serie de objetos (pasando por ciertos

puntos) en un circuito con obstáculos y trampas.

Page 44: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

Las herramientas de interacción comentadas permiten la extracción de información de los juegos. Ésta es muy necesaria cuando se trata de mejorar algún aspecto de los mismos de forma automática, en concreto:

• Editores: dan acceso a todos los datos del juego, siempre que sean accesibles desde otros objetos y siempre que el programador del juego haya considerado que dichos datos puedan ser conocidos por otros jugadores (para evitar tener ventajas o hacer trampas).

• Frameworks: permiten acceder a un conjunto controlado de información (la que se pretende que los programadores utilicen).

• Librerías: permiten acceder a un conjunto intermedio de datos. En concreto ofrecen funciones de alto nivel que acceden al conjunto global de datos.

Page 45: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

A la hora de diseñar algoritmos de creación o mejora de elementos de juegos (aprendizaje o generación de contenidos) automática, es necesario recopilar cierta información. • Información on-line: información accesible durante el desarrollo del juego

(estado del mapa, situación de items, posición o detección de enemigos, etc). • Información final: resultados obtenidos al finalizar la partida.

Sirve principalmente para ajustarse al desarrollo de la partida (IA dinámica) o para valorar el funcionamiento de lo que se ha implementado (evaluación).

Page 46: Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]

Todo nuestro software es libre y está

disponible.

Yo soy @amoragar

¡Muchas gracias a

@fergunet y @antaress!