Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
PLAYER 1 – ANTONIO M. MORA GARCÍA
PLAYER 2 – PABLO GARCÍA SÁNCHEZ
CIENCIA Y
VIDEOJUEGOS
CIENCIA Y
VIDEOJUEGOS
© Universida...
• Introducción
crecimiento del mercado de videojuegos,
taxonomía de jugadores, sistemas de juego
actuales. Videojuegos en ...
INTRODUCCIÓNINTRODUCCIÓN
• Recientemente ha habido un crecimiento
enorme del consumo de videojuegos en el
mundo, debido a su acercamiento a grupos
...
• Los jugadores de toda la vida se han autodenominado hardcore gamers.
Éstos disfrutan y exprimen los videojuegos, están i...
• Sobremesa
• Portátiles
Wii U Xbox One Playstation 4 PC
Nintendo 3DS Playstation Vita Smartphones/Tablets
• Y muchos más (consolas de filosofía abierta), poco conocidos por el gran público.
GP2X Wiz
GCW
Zero
GPD Q88+ Pandora
• Otra de las repercusiones es que desde hace unos años se están
adaptando los planes de estudios al desarrollo de estas a...
• Otra de las repercusiones es que desde hace unos años se están
adaptando los planes de estudios al desarrollo de estas a...
APLICACIONES
A LA CIENCIA
APLICACIONES
A LA CIENCIA
Su novedoso mando (Wiimote) ha tenido muchas aplicaciones en el
ámbito científico (y no tan científico):
• control de robo...
Hay incluso un proyecto, WiiLab, que ha creado una utilidad en Matlab
para interaccionar con el Wiimote…
…y otra con Game ...
• Inicialmente se utilizó para crear
clusters de consolas (super
computadores), debido a la
potencia de su chip Cell y su
...
Gracias a su controlador sin mandos Kinect:
• control de robots por movimiento y por voz, reconocimiento de
formas y perso...
Aprovechamiento de la potencia de
cálculo de las GPUs para resolver
problemas complejos de computación.
Ventajas:
• Del or...
CIENCIA EN LOS
VIDEOJUEGOS
CIENCIA EN LOS
VIDEOJUEGOS
• Los videojuegos, desde siempre, cumplen con reglas de la física,
incluso los más simples (en apariencia) como Super Mari...
INVESTIGACIÓN
EN VIDEOJUEGOS
INVESTIGACIÓN
EN VIDEOJUEGOS
• Aparte del realismo visual y físico, se quiere modelar enemigos y
compañeros cuyo comportamiento sea ‘inteligente’ (huma...
• Se llama IA a la rama de la informática dedicada a la
implementación de agentes racionales (o aparentemente
racionales) ...
• En los inicios de los videojuegos, los NPCs
seguían habitualmente unas pautas o
patrones predefinidos, que el
programado...
• Posteriormente se empezó a utilizar las llamadas máquinas de
estados finitos, las cuales definen una serie de estados po...
• También son bastante utilizados los sistemas de reglas y los árboles
de decisión. En ambos casos se tienen un conjunto d...
• 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
uti...
• Además, los NPCs cuentan por lo general con ventajas adicionales al jugador
humano:
 puntería perfecta basada en coorde...
• Pero no son perfectas:
• Comercialmente se ha hecho poco uso técnicas ‘más científicas’, como las
redes neuronales, los ...
• Tradicionalmente, en el entorno científico, se
consideraba la llamada Teoría de Juegos, una rama de
las matemáticas apli...
• La aparición de los videojuegos propició un nuevo entorno de
problemas.
• El primero y más directo que se propuso resolv...
• Rama de la IA que aplica metaheurísticas y mecanismos
bioinspirados para la resolución de problemas complejos,
generalme...
• Entre las Metaheurísticas más utilizadas están: Algoritmos
Genéticos (AG), Algoritmos de Optimización basada en
Colonias...
• NPC’s AI:
– Modelar la IA o aspectos de ella para rivales
o compañeros dentro de cualquier juego.
– Intenta crear agente...
• Human-like behaviour (in bots):
– El objetivo es modelar NPCs que sean
capaces de actuar como lo haría un
jugador humano...
• Procedural Content Generation:
– El objetivo es generar de forma automática distintas partes del juego.
– Ventajas:
• Re...
• Procedural Content Generation:
existen juegos generados completamente de forma automática.
kkrieger (¡¡¡2004!!!) – ¡¡¡¡¡...
• Cheating detection: se aplican técnicas de
detección de ‘trampas’ en partidas, en base a un
estudio de las estadísticas ...
• Game mechanics and features analysis: se analizan
los componentes del juego y se parametrizan a fin
de conseguir evaluac...
INTERACCIÓN
CON JUEGOS
INTERACCIÓN
CON JUEGOS
La investigación en videojuegos (comerciales)
requiere que se desarrolle o se ofrezca algún medio
de interacción (automáti...
Los editores permiten cambiar elementos del
juego e incluso diseñar e implementar nuevos
elementos que se añadirán al mism...
Son entornos creados exclusivamente para la
interacción automática con un videojuego,
por lo que, muchas veces, se diseñan...
Se crean para la interacción automática
externa con un juego.
Suelen implementar un mecanismo de
comunicación o ‘inyección...
• 2K BotPrize: bots de Unreal que deben ser lo más humanos posible.
• Starcraft: combates en el famoso RTS.
• Planet Wars:...
Las herramientas de interacción comentadas permiten la extracción de
información de los juegos. Ésta es muy necesaria cuan...
A la hora de diseñar algoritmos de creación o mejora de elementos de juegos
(aprendizaje o generación de contenidos) autom...
Todo nuestro software es libre y está
disponible.
Yo soy @amoragar
¡Muchas gracias a
@fergunet y @antaress!
Ciencia y videojuegos (versión Extracción de Información) [UCA 05/2015]
Upcoming SlideShare
Loading in …5
×

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

3,151 views

Published on

Charla introductoria a la investigación en videojuegos impartida en la Universidad de Cádiz (mayo 2015).

Incluye aspectos de extracción de información en juegos.

Published in: Science
  • Be the first to comment

  • Be the first to like this

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

  1. 1. 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
  2. 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. • Interacción con videojuegos
  3. 3. INTRODUCCIÓNINTRODUCCIÓN
  4. 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, 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!
  5. 5. • 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”
  6. 6. • Sobremesa • Portátiles Wii U Xbox One Playstation 4 PC Nintendo 3DS Playstation Vita Smartphones/Tablets
  7. 7. • Y muchos más (consolas de filosofía abierta), poco conocidos por el gran público. GP2X Wiz GCW Zero GPD Q88+ Pandora
  8. 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: – 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)
  9. 9. • 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)
  10. 10. APLICACIONES A LA CIENCIA APLICACIONES A LA CIENCIA
  11. 11. 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
  12. 12. 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
  13. 13. • 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.
  14. 14. 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
  15. 15. 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.
  16. 16. CIENCIA EN LOS VIDEOJUEGOS CIENCIA EN LOS VIDEOJUEGOS
  17. 17. • 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
  18. 18. INVESTIGACIÓN EN VIDEOJUEGOS INVESTIGACIÓN EN VIDEOJUEGOS
  19. 19. • 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.
  20. 20. • 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).
  21. 21. • 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.
  22. 22. • 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
  23. 23. • 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.
  24. 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. • 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.
  25. 25. • 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
  26. 26. • 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
  27. 27. • 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.
  28. 28. • 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).
  29. 29. • 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
  30. 30. • 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.
  31. 31. • 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.
  32. 32. • 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.
  33. 33. • 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.
  34. 34. • 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=RRpDn5qPp3shttp://www.youtube.com/watch?v=2NBG-sKFaB0
  35. 35. • 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.
  36. 36. • 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.
  37. 37. INTERACCIÓN CON JUEGOS INTERACCIÓN CON JUEGOS
  38. 38. 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.
  39. 39. 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.
  40. 40. 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.
  41. 41. 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.
  42. 42. • 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.
  43. 43. 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.
  44. 44. 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).
  45. 45. Todo nuestro software es libre y está disponible. Yo soy @amoragar ¡Muchas gracias a @fergunet y @antaress!

×