Jorge Pedraza Profesor del Grado en Ingeniería Informática
Mar, 15/06/2021 - 13:37

Machine learning videojuegos

Serie: Conectados (V).

Si nos paramos a pensar en campos de la tecnología donde haya existido un cambio significativo en los últimos años, se nos podrían venir a la cabeza, entre otros muchos, el campo de los videojuegos y el de la inteligencia artificial, más específicamente en este último, en la rama del aprendizaje automático o machine learning. Para quien a día de hoy no tenga muy claro qué es el machine learning, hablamos de un conjunto de técnicas y algoritmos que hacen que una máquina “aprenda” (aunque en realidad es más estadística que aprendizaje) a partir de un conjunto de datos de entrenamiento, y que sea capaz de resolver problemas de la misma índole con datos o situaciones nuevos.

Con la madurez tecnológica en la que se encuentran ambos campos, a día de hoy se empiezan a crear sinergias interesantes. Y en este caso concreto del que hablamos hoy, la conjunción de videojuegos y machine learning, no solo salen beneficiados los jugadores, sino que también se está avanzando en herramientas para hacer más fácil la vida de los desarrolladores.

A continuación, vamos a ver algunos de los usos que ya existen en la actualidad y algunos planteamientos interesantes que podrían ser factibles en un futuro próximo.

Igual que en muchas de las páginas de compra que visitamos hoy en día, nos podemos encontrar los denominados sistemas de recomendación dentro del ecosistema de los videojuegos. Estos sistemas nos ofrecen, en base a la información que el sistema ha almacenado sobre nosotros, artículos que potencialmente nos podrían interesar. El uso de estos sistemas de recomendación ya lo podemos ver por un lado en tiendas virtuales de videojuegos como Steam, ofreciendo a los usuarios otros juegos que les podrían interesar en base a los que ya han comprado anteriormente. Pero hay que tener mucho cuidado a la hora de diseñar este tipo de sistemas para encontrar un balance y, además de ofrecer lo que más le podría gustar al usuario, dar margen a descubrir nuevos géneros que, aunque no sean sus favoritos, podrían llegar a gustarle.

Recomendaciones steam

Ejemplo del sistema de recomendaciones de Steam.

Pero, aunque el ejemplo anterior es uno de los más obvios, también podemos encontrar sistemas de recomendación dentro de los propios juegos como en Gyakuten Othellonia. Para ver este caso de forma sencilla, imaginaos que tenéis 50 personajes y que tenéis que elegir un equipo de 3. Además de eso pensad que cada uno de esos personajes tiene habilidades que se pueden configurar y que algunas de esas habilidades pueden interaccionar con algunos de los otros personajes. Elegir los 3 personajes que se adapten a tu estilo de juego y que te ayuden a ganar podría resultar una tarea compleja ¿verdad? Por parte de los desarrolladores podemos crear un sistema de recomendación para ofrecer sugerencias de equipos de 3 personajes que, además, como hemos comentado anteriormente, se puedan adaptar a la información del estilo de juego que tenemos del usuario.

Otro de los grandes campos en los que está evolucionando el machine learning a pasos agigantados es en la generación de contenido. Estos sistemas pueden ayudar en gran medida a los desarrolladores. Así podemos encontrar herramientas como Cascadeur que gracias al deep learning nos facilita la compleja tarea de crear cierto tipo de animaciones deduciendo movimientos intermedios de un personaje a partir de las poses que nosotros establecemos. Hablando de animación, una técnica que está ganando importancia en cierto tipo de juegos en los últimos años se denomina Motion Matching. Esta técnica ya utilizada en videojuegos como For Honor o The Last of Us 2, genera animaciones que se adaptan a las situaciones del entorno (escaleras, paredes, etc.) a partir de la información de la escena que se le proporciona y una gran base de datos estructurada de animaciones. En un futuro próximo es posible que se empiecen a utilizar herramientas como DALL-E para generar ideas o conceptos rápidos en fases muy tempranas del desarrollo de un videojuego.

Generar imagenes dall-e

Generación de imágenes a partir de una descripción con DALL-E.

Algunos usos interesantes que aún no he visto aplicados en ningún juego (aunque no descarto que existan ya o en un futuro próximo) es el de la síntesis de voz (de hecho, ya existen empresas ofreciendo este servicio), generando locuciones acordes a los textos de la narrativa de nuestro videojuego en tiempo real. Otro caso de uso que podría ser muy interesante es el de generar imágenes de avatares con un estilo determinado, igual que ya se generan imágenes de caras que no existen con un estilo muy realista, se podrían generar avatares que pudieran funcionar bien un estilo concreto de videojuego.

Persona generada web

Esta persona no existe, ha sido generada con en la web thispersondoesnotexist.com.

Hablando de generación de contenido. Uno de los grandes pilares sobre los que se basan gran cantidad de videojuegos es la historia. Una historia que en la mayoría de casos es fija y lineal como la de una novela. Es cierto que, para enmascarar esa sensación de linealidad, los videojuegos han “adoptado” la técnica de una historia ramificada como si de un libro de “elige tu propia aventura” se tratase, para hacer sentir al jugador que sus decisiones tienen impacto real sobre la historia.

Patron narrativo videojuego

Ejemplo de patrón narrativo ramificado en el videojuego 80 days.

Todo esto de lo que estamos hablando no es ni muchísimo menos algo malo. Existen grandísimos videojuegos tanto lineales como con otro tipo de patrones narrativos. Hay que tener en cuenta que, porque exista una herramienta nueva, no tiene por qué encajar bien en todas las situaciones. Pero la existencia de estas nuevas técnicas como gpt-3 nos brindan la posibilidad de investigar y crear cosas como AI Dungeon, un videojuego cuya narrativa se genera en base a las decisiones que introduce el usuario mediante texto.

Historia generada AI Dungeon

Ejemplo de historia generada con AI Dungeon.

Por otro lado, igual que se está usando en el cine para mejorar la calidad de las imágenes de películas antiguas o incluso para “colorearlas” (mucho cuidado en esto último con los sesgos, ya que nuestro grupo de entrenamiento define nuestro resultado), podemos coger las imágenes y texturas de videojuegos antiguos y darles una nueva dimensión con la técnica llamada upscaling. Al aumentar el tamaño de las texturas aumentamos su definición, algo que se nota en gran medida debido a los tamaños y resoluciones de pantalla que tenemos hoy en día.

Texturas originales y reescaladas

Arriba texturas originales y abajo texturas reescaladas en el videojuego Final Fantasy IX.

Y aunque lo hemos dejado para el final, probablemente sea el punto que tenga más relación directa con el concepto de videojuego que se nos viene a la cabeza cuando pensamos en ellos. Y es que mediante las técnicas de aprendizaje por refuerzo (reinforcement learning), las cuales se basan en darle una recompensa al agente o agentes que estamos entrenando y castigandolos cuando están haciendo algo mal, podemos entrenar a nuestros agentes del juego (un agente puede ser desde un humano a, por ejemplo, un coche) para que realicen cierto tipo de tareas.

Incluso son capaces de romper el propio juego o de resolver nuevos puzles que no conocían. Y aunque ya se han hecho algunas cosas interesantes, como en el caso del videojuego The Talos Principle cuyos desarrolladores comentan: “We estimate that Bot spent equivalent of 80,000 human hours of pure playtime to test The Talos Principle: Deluxe Edition completely as well as the included expansion Road to Gehenna”, ¿sería posible que en un futuro cercano nos encontremos con más y mejores sistemas automáticos que encuentren y reporten bugs mientras estamos desarrollando nuestros videojuegos?.

Por último y como dato interesante existen algunas aplicaciones de ciertos algoritmos que podrían llegar a conseguir videojuegos con gráficos fotorrealistas con diferentes técnicas. Aquí podemos ver ejemplos tanto del videojuego GTA como de un potencial videojuego de tenis.

Pero hay que tener en cuenta que no solo los videojuegos salen beneficiados de esta sinergia, por ejemplo, Google tiene un simulador de fútbol sobre el que se pueden probar distintos algoritmos de aprendizaje por refuerzo. Se utiliza este simulador de fútbol ya que es un buen escenario teniendo en cuenta que existen tanto objetivos individuales a nivel de jugador, como objetivos globales a nivel de equipo.

En definitiva, un sinfín de posibilidades que se abren delante nuestra, las cuales tengo muchas ganas de ver en un futuro próximo.

Editor: Universidad Isabel I

ISSN 2792-1794

Burgos, España

Añadir nuevo comentario