10 January 2022

14 minutos de lectura

inside ubisoftstudio updates

Ubisoft La Forge – Impulsando la IA de última generación en los juegos para crear la próxima generación de PNJ

Ubisoft La Forge es una iniciativa abierta de investigación y desarrollo que reúne a estudiosos y expertos de Ubisoft con el objetivo de acercar posiciones entre la investigación académica y la innovación en el sector de los videojuegos. Experimentando con técnicas y tecnologías de producción de videojuegos innovadoras, ocupan la vanguardia del mundo académico y tienen equipos dedicados a investigar los posibles usos de las tecnologías más recientes, como la inteligencia artificial, con el objetivo de crear juegos más realistas y divertidos, así como más eficientes a nivel de desarrollo.

[UN ] Ubisoft La Forge – Pushing State-Of-The-Art AI In Games To Create The Next Generation Of NPCs - JoshuaHeadshot

Uno de estos posibles usos es el aprendizaje reforzado profundo: un tipo de aprendizaje automático que usa la IA para buscar las soluciones más eficientes para una variedad de problemas. Con el objetivo de desentrañar algunos de los misterios de esta tecnología, saber cómo permite crear PNJ más realistas, cómo los ayuda a navegar por mundos de juego complejos y cómo contribuye a desarrollar reacciones más humanas, hemos hablado con Joshua Romoff, un científico de datos de Ubisoft La Forge oriundo de Montreal que convirtió su amor por los videojuegos en un doctorado en Ciencia de datos. Romoff está investigando las distintas aplicaciones del aprendizaje automático en los videojuegos y recientemente participó en la conferencia sobre Inteligencia artificial y entretenimiento digital interactivo AIIDE 2021 para presentar los avances que ha realizado, junto con su equipo, para mejorar la exploración y la navegación de los PNJ usando el aprendizaje automático.

¿Qué es el aprendizaje reforzado profundo y cómo funciona?

Joshua Romoff: En primer lugar, es necesario explicar dos términos: "agente" y "acción". En la IA, un agente es, básicamente, el personaje principal que interactúa con el mundo. Para esta función, nosotros utilizamos bots. La acción, por su parte, es la interacción que se lleva a cabo. Me gusta pensar en el jugador como en una especie de extensión del mando de juego: cada una de sus interacciones con el mando se traduce en una acción.

Pasemos ahora al aprendizaje reforzado. La idea es intentar reforzar algún tipo de comportamiento, de forma similar al perro de Pavlov, un experimento en el que un investigador toca una campana cuando el perro tiene que comer y este aprende a asociar la campana con una recompensa. El objetivo es alentar o desalentar determinados resultados recurriendo a recompensas y castigos. Nosotros hacemos esto mismo con el agente de IA: le damos puntos cuando hace cosas que nos gustan y se los quitamos cuando no nos gustan. Mi trabajo consiste en diseñar estas pruebas y definir cuándo le damos o le quitamos las recompensas, mientras que el objetivo de la IA es conseguir la mayor puntuación posible con las acciones disponibles.

El término profundo hace referencia al modo en que el agente percibe el mundo en el que se encuentra, que, básicamente, es una red neuronal profunda. Una pantalla es un elemento complejo donde se muestran a la vez cientos de miles de píxeles. ¿Cómo se procesa esta pantalla y toda la información? Una red neuronal profunda toma la pantalla, la procesa en algo de dimensiones mucho más reducidas, analiza los datos y, después, introduce dicha información en la sección del aprendizaje reforzado para que realice acciones basadas en los datos introducidos. Esto es lo que llamamos un sistema integral, porque todo está contenido y los datos se mueven en bucle entre estos sistemas, de un extremo a otro y vuelta. Para cada fotograma, asignamos puntos basados en las acciones y el estado resultante del entorno, y realizamos diversas iteraciones para entrenar al agente y hacer que lleve a cabo las acciones que queremos.

¿Hay algún videojuego en concreto que te haya servido de inspiración para tu estudio del aprendizaje reforzado profundo?

JR: Por supuesto. Me encantan los juegos de mundo abierto en los que puedes moverte por todas partes e interactuar con los PNJ, como por ejemplo Far Cry. En este tipo de juegos, siempre me ha llamado la atención la forma en que los jugadores interactúan con la IA de los PNJ, algo que considero un elemento fundamental de la experiencia. Interactúas con el mundo y los PNJ son una parte importante de dicha interacción. Siempre me ha gustado molestar a los PNJ e intentar fastidiar a la IA. Para mí es una especie de reto ver cómo puedo manipular a los PNJ. Por ejemplo, durante un combate, puedo trepar por una montaña cercana y ver cómo el enemigo se estrella contra esta porque no puede escalar, o fijarme en cómo reacciona a distintas situaciones. Pensar en cómo podría mejorar estos detalles y entrenar a una IA para que se comportara de una forma más similar a la humana siempre me ha motivado en mi trabajo.

Como científico de I+D, ¿cómo es tu día a día?

JR: En mi día a día realizo experimentos, me ensucio las manos y entreno a un "agente de IA" para que realice una tarea determinada en un juego. Cada experimento requiere grandes dosis de observación. Debo prestar atención a los gráficos y ajustar los detalles para afinar los resultados. También trabajo con alumnos de máster y doctorado que están cursando sus estudios universitarios. Todos nuestros estudiantes reciben un salario. Trabajo con ellos y con sus profesores para definir los proyectos. Suele haber varios en marcha a la vez, algo que, además de beneficiar a los estudiantes, nos ayuda a impulsar nuestro trabajo, puesto que yo solo no podría codificarlo todo, la verdad. Cuando un prototipo funciona, ponemos esa tecnología en un entorno de juego libre, que básicamente es una versión simplificada de un motor de juego real, para ver los resultados. Si el proyecto funciona, el trabajo de los estudiantes podrá aparecer en los juegos que desarrollemos y los estudiantes podrán experimentar, en cierta medida, cómo es trabajar en un videojuego. Intentamos asegurarnos de que los proyectos en los que trabajamos produzcan algo que los equipos de juego puedan utilizar en sus producciones.

En la AIIDE explicaste que habíais realizado una serie de pruebas en juegos como Hyper Scape para crear bots más "parecidos a los jugadores". ¿Podrías darnos más detalles?

JR: Realizamos una serie de pruebas en Hyper Scape, pero no en los servidores en vivo, porque este juego presenta un entorno seguro interesante para ciertas preguntas a las que queríamos dar respuesta. Uno de los aspectos más interesantes de Hyper Scape es que el entorno de 3D es bastante complejo y presenta una gran verticalidad. Además, los jugadores disponen de una gran cantidad de herramientas, como los saltos dobles y las plataformas de salto, que los impulsan en línea recta por el aire y les permiten acceder a lo alto de los edificios. Todas estas cosas se pueden combinar, así que para los desarrolladores y los equipos de pruebas de un juego es muy interesante saber que los jugadores pueden moverse por el conjunto del mapa que han creado.

De forma tradicional, los videojuegos utilizan lo que se denomina malla de navegación, una especie de mapa en 2D que contiene todas las zonas transitables de un mundo. Estos datos permiten que los bots definan adónde ir y cómo llegar. Sin embargo, no es fácil realizar pruebas con este método, puesto que cuando tienes montones de acciones disparatadas, como las plataformas de salto y los saltos dobles, además de suelos verticales que no siempre están conectados mediante escaleras o rampas, las posibilidades son infinitas. Utilizar el aprendizaje reforzado tenía sentido, puesto que podíamos poner al agente en un bucle de entrenamiento para que aprendiera a realizar acciones para ir del punto A al punto B por su cuenta, sin usar una malla de navegación. Esencialmente, el uso principal era enseñar a un agente estos movimientos y utilizarlos para probar el mapa y asegurarnos de que todo fuera accesible.

[UN ] Ubisoft La Forge – Pushing State-Of-The-Art AI In Games To Create The Next Generation Of NPCs - NavMesh

Tengo entendido que algunas pruebas realizadas con otros videojuegos tuvieron algunos resultados interesantes. ¿Podrías hablarnos de ello?

JR: Un ejemplo fue un bot que entrenamos para For Honor. Queríamos que el agente defendiera más, así que le dimos una recompensa adicional por hacerlo. Y lo que pasó fue que el agente decidió no terminar nunca el combate y seguir defendiendo eternamente. Resulta gracioso porque, al entrenar a un agente mediante este proceso, uno de los desafíos principales es que, independientemente de la configuración que le des y la acción que quieras incentivar, en teoría aprenderá a hacerlo lo mejor posible. Si le das una recompensa por seguir con vida o defenderse, seguirá haciéndolo porque le estás premiando por ello. Sin embargo, no queremos que el bot derrote siempre a los jugadores, puesto que no sería divertido, de modo que tenemos que incentivar otros comportamientos, como la defensa, para añadir cierta variabilidad a sus acciones.

Otra razón para otorgar estas recompensas adicionales es acelerar el proceso de aprendizaje. Puedes darle al agente una pequeña bonificación por defender y otra por atacar. Sin embargo, la forma en que se combinarán estas bonificaciones no es algo obvio y puedes acabar viendo comportamientos muy curiosos. Otro ejemplo fue en Hyper Scape, con las pruebas de navegación. Estábamos entrenando al agente para que se moviera entre dos puntos lo más rápido posible, pero todavía no le habíamos proporcionado la habilidad de correr. Sin embargo, el agente descubrió que, si se movía saltando y haciendo pequeños giros de cámara, podía avanzar un poco más deprisa que caminando. Fue muy divertido ver cómo aprendía a dar saltos de conejo. En la charla de la AIIDE mencioné estos dos ejemplos.

[UN] Ubisoft La Forge – Pushing State-Of-The-Art AI In Games To Create The Next Generation Of NPCs - ForHonorDefenseBot

¿Este tipo de resultados siguen siendo valiosos en el proceso?

JR: Depende de cuál sea su aplicación. Si el objetivo es probar el juego, como en el caso de nuestros experimentos, estos resultados son muy útiles porque muestran cuál es el comportamiento óptimo en función de las recompensas otorgadas. Puede que adviertas que el agente está aprendiendo y que el comportamiento lo está ayudando a conseguir su objetivo; esto, a su vez, podría señalarte algo de lo que no eras consciente y permitirte depurar el código para saber si funciona del modo esperado.

¿La última generación de videojuegos y determinados elementos, como los servicios en la nube y en streaming, han abierto nuevas posibilidades que no estaban disponibles para la IA en los videojuegos?

JR: Por supuesto. La investigación sobre el aprendizaje profundo comenzó en las décadas de 1980 y 1990, pero los investigadores se vieron limitados por los recursos informáticos disponibles. Si intentaras ejecutar un modelo de aprendizaje profundo en una consola de antigua generación, no podrías hacerlo localmente, desde una perspectiva computacional, puesto que la velocidad de fotogramas se iría al traste. La potencia computacional que tenemos en nuestros hogares ha aumentado drásticamente y el hardware también ha mejorado muchísimo. Esto, combinado con la enorme cantidad de investigaciones que se han realizado en este campo, nos ha llevado a un punto en el que podemos resolver estos problemas y tener cosas como bots que se mueven por mapas sumamente complicados de mundos tridimensionales con montones de habilidades geniales. Ahora, los bots son más eficientes y actúan de un modo más similar al humano que cualquier cosa que pudiéramos codificar, y no es una locura pensar que puedes tener a varios agentes moviéndose a la vez en un juego, utilizando toda esta computación compleja. Ya no se trata de algo que podría ocurrir dentro de diez años. La investigación y el hardware están aquí y nos han llevado al punto en el que nos encontramos ahora.

En tu opinión, ¿qué otras aplicaciones podrían tener estas técnicas?

JR: La aplicación más natural son los bots, y por eso nos estamos centrando en ellos. De hecho, mi grupo se llama Smart Bots Group (Grupo de bots inteligentes), así que nos interesan mucho. Trabajamos en bots que se utilizan para probar los videojuegos. Sin embargo, no resulta difícil imaginar que, si enseñas a un bot a navegar por un entono, a la larga podrás aumentarlo y ponerlo delante de los jugadores como un enemigo de IA.

Por su parte, el aprendizaje reforzado es un marco muy general que tiene muchas aplicaciones. Por lo tanto, imagino que podría utilizarse, por ejemplo, para gestionar los servidores. Es un problema tener demasiados servidores operativos cuando no los necesitas o, al contrario, tener muchos jugadores activos y no disponer de suficientes servidores. En teoría, podríamos entrenar a un agente para optimizar la toma de decisiones secuencial, de forma que comprobara el número de jugadores en determinados momentos del día y aumentara o redujera el número de servidores en línea en función de las necesidades reales.

¿Cuáles son vuestros objetivos para el futuro de esta tecnología?

JR: Nuestro objetivo es seguir trabajando en formas que nos permitan inyectar más realismo a los juegos, conseguir que los PNJ y los bots parezcan más humanos y solucionar problemas que no habíamos podido abordar hasta ahora. También queremos poner esta tecnología en manos de los diseñadores de juegos para crear herramientas orientadas a los jugadores. Esta tecnología podría convertirse en una herramienta más del repertorio de los desarrolladores. Darles la opción de personalizar los bots y hacer lo que quieran con ellos sería el siguiente gran paso, puesto que todas las pruebas que he mencionado hasta ahora no se han implementado en entornos reales ni delante de los jugadores. Creo que el paso más inmediato es poner esto delante de los equipos de pruebas y utilizarlo para probar todo tipo de escenarios distintos, desde problemas de rendimiento hasta mecánicas de juego y demás.

¿Qué implicaciones tiene utilizar la IA y el aprendizaje reforzado profundo en los videojuegos?

JR: Si solo utilizamos esta tecnología para probar los videojuegos, nunca se pondrá a disposición del jugador y, por lo tanto, no hay razones para preocuparse por algunas de las conjeturas más negativas que se hacen sobre la IA. A algunas personas les preocupa que haya menos gente probando videojuegos, pero eso no ocurrirá porque el tipo de pruebas que queremos realizar con los bots es fundamentalmente distinto a las cosas que queremos probar con humanos reales. La interacción humana real no va a desaparecer y las personas seguirán probando los elementos más interesantes de los videojuegos, como las misiones y otras partes divertidas.

En cuanto a la inclusión de bots de IA en los videojuegos, creo que es muy importante optar por la transparencia. A algunos jugadores les preocupa la posibilidad de encontrar bots en los juegos y no saber si son humanos o bots. Esto puede generar mucha controversia y, por eso mismo, creo que tenemos que ser transparentes y no intentar engañar a los jugadores. En mi opinión, otra razón por la que adoptar la IA en los videojuegos es que presenta un entorno seguro perfecto, un lugar ideal donde probar ciertas ideas y ver qué pasa, ya que cualquier resultado imprevisto permanece en el juego y no afecta a la vida exterior. Por lo tanto, nadie debe temer que mi bot de defensa de For Honor vaya a conquistar el mundo ni nada similar. Simplemente vive dentro del juego y es bastante gracioso.

Podéis acceder a la charla completa de Joshua en la AIIDE 2021 para ver su trabajo y saber más sobre el aprendizaje reforzado profundo y la IA. Para conocer todas las noticias y novedades de los equipos de Ubisoft, estad atentos a las noticias de Ubisoft.

More From Ubisoft

7 March 20243 minutos de lectura

Valiant Hearts: Coming Home and Valiant Hearts: The Collection Out Now for PlayStation, Xbox, Switch and PC

The collection, which includes both The Great War and Coming Home, tells the stories of people in World War I.

Más información
18 January 20245 minutos de lectura

Prince of Persia: The Lost Crown Out Now

Dive into Sargon’s adventure through a time-cursed mythological world starting today.

Más información
15 January 20245 minutos de lectura

Ubisoft+ está evolucionando: esto es lo que te espera

Hoy, junto con el lanzamiento del acceso anticipado a Prince of Persia: The Lost Crown en Ubisoft+, Ubisoft cambia el nombre de sus planes de suscripción.

Más información
2 November 2023