Estado del arte de la IA aplicada a videojuegos

Fran Ramírez    27 agosto, 2020

En el post anterior, nos planteamos por qué los videojuegos, a pesar de su extraordinario desarrollo en los últimos años, no han incorporado los últimos avances en IA y empezamos con un breve repaso a la historia de la IA aplicada a este campo. Hoy, hablaremos de cuál es el estado del arte en el momento actual.

The legend of Zelda: Breath of the Wild

¿Te gusta “The Legend of Zelda: Breath of the Wild? (vaya pregunta, pues claro). Pensarás que el juego utiliza las últimas técnicas en IA para obtener este alucinante mundo abierto y cientos de personajes y entornos con los que interactuar. Pues no, lo que hace este juego tan espectacular es el trabajo minucioso de simular efectos físicos como la gravedad, cocinar, efectos climáticos, agua, fuego, hielo, etc. Es decir, crear un mundo lo más parecido al físico real simulando todo lo que sea posible, hasta el más mínimo detalle. Esto provoca que ocurran hechos totalmente aleatorios, pero no quieren decir que haya una “gran” IA detrás.

Esta interacción tan realista puede llevar a casos para solucionar problemas que no son los habituales. Por ejemplo, podríamos quemar con fuego una liana que sostiene una plataforma sobre la cual hay un enemigo, romperse y este caer, muriendo finalmente. Pero si antes de caer ponemos justo en el punto de caída, por ejemplo, algo blando como paja, este no morirá. 

Alien Isolation

Incluso juegos tan complejos y espectaculares como Alien Isolation, donde nos ponemos en la piel de una tripulante (la hija de la mítica Ripley) de una nave espacial en la cual hay un Alien campando a sus anchas, está basado en árboles de decisión. Eso sí, complejos y con mucha profundidad.

Con ellos son capaces de simular una situación del juego gato-ratón. El Alien no sabe en ningún momento dónde se encuentra el jugador, tiene que averiguarlo por sí solo. Para ello, debe ir deambulando por la nave, realizando acciones para ver las reacciones, abrir puertas, hacer ruido, lanzar objetos, ser cauteloso, ruidoso, etc. Con el único objetivo de forzar una reacción por parte del jugador que finalmente haga que este aparezca y “acariciarlo”.

No Man´s Sky

Por último, uno de los quizás mejores ejemplos que combine todos los algoritmos que hemos comentado, sea el juego No Man´s Sky, que personalmente a mi me apasiona. Ya hablé de él en su día en nuestra sección “Ciencia Ficción vs IA”, que podéis ver aquí. En él se mezclan desde la generación procedural de escenarios, enemigos, naves, etc hasta todas las técnicas comentadas.

Dwarf Frotress

Pero no creáis que No Man´s Sky fue el primero, existe un juego que también me apasiona llamado Dwarf Fortress que casi es tan complejo como este. Y es sólo texto. Sí, los caracteres que aparecen en pantalla son texto ASCII, pero ordenado de forma que ofrezcan una apariencia un poco más amigable. Todo el universo es generado con algoritmos procedurales, desde los árboles hasta las cavernas pasando por la personalidad de los enanos y animales que habitan el mundo.

Este juego es un RPG donde tenemos que construir una ciudad bajo tierra para enanos e ir explorando, minando y construyendo, intentando sobrevivir. Lo curioso es que cada enano tiene su propia personalidad (como antes hemos comentado) y todos están bajo la influencia del entorno (ellos y el resto de criaturas que pueblan el mundo)  y de lo que hagan los otros enanos.

De hecho, hay una anécdota curiosa con una enfermedad que afectaba a los gatos (adelanto ya que se emborrachaban), que también los hay en el juego, la cual no estaba prevista y ni los mismos desarrolladores ni se imaginaron que podía suceder.

Básicamente, los gatos del juego estaban empezando a morir y nadie sabía el por qué. Para entender mejor lo que ocurría, tenemos que explicar que los enanos de Dwarf Fortress son tremendamente adictos al alcohol. En el momento que terminan su jornada laboral, lo primero que hacen es ir a la taberna y emborracharse como si no hubiera mañana (cosa que era muy habitual, ya que suelen morir al día siguiente).

Allí los enanos derraman, vomitan, etc, es decir, manchan el suelo con restos de las bebidas. Los pobres gatos se pasean por las tabernas, sin saber que al andar, se están llevando en sus patas el alcohol derramado. Luego, ya en sus casas, los gatos se lamen (sí, esta característica también está incluida) y claro, ese alcohol pasaba en grandes cantidades a su cuerpo llegando a fallecer por intoxicación etílica (esto también le pasaba a los enanos pero estos aguantaban más que los gatos por su complexión).

Este es un estupendo ejemplo que aparentemente demuestra inteligencia, pero realmente no es más que una consecuencia de llevar al límite de realismo un universo, lo que provoca eventos totalmente aleatorios, imprevistos y espectaculares. Eso sí, siempre dentro de las reglas programadas originalmente.

Figura 5. Ejemplo de mapa de terreno en Dwarf Fortress (fuente)
Figura 5. Ejemplo de mapa de terreno en Dwarf Fortress (fuente)

Pues si amigos/as, básicamente hoy día también los videojuegos de última generación se basan en la búsqueda de caminos (pathfinding) y las FSM (junto a los MCST, aderezados con algunos árboles de decisión. Básicamente, lo mismo que nuestro querido Pac-Man.

Entonces, ¿Por qué no son tan inteligentes?

Antes de responder, tenemos que dejar claro que no es lo mismo una IA digamos, “Científica”, con una IA de “Juegos”. Los algoritmos de IA empleados en la IA “Científica” se aplican a la resolución de problemas, interactuando con el entorno reaccionando de manera impredecible a los acontecimientos que aparecen en sus sensores (coches autónomos, asistentes digitales, etc). Es decir, son procedimientos de autoaprendizaje para reaccionar frente a un entorno totalmente nuevo.

Pero claro, en un juego no queremos que todo sea impredecible ya que esto reduciría la experiencia del jugador, y por eso necesitamos que la IA se predecible, es decir que el desarrollador sepa lo que va a pasar (al menos en un porcentaje alto). 

La IA “Científica” sí que es perfecta por ejemplo, para testear estos juegos. De hecho ya nos habéis visto hablar aquí de OpenAI y la resolución de juegos de Atari, por ejemplo. Pero hoy día ya podemos ver como las IA están ganando (por no decir “aplastando”) poco a poco, a los mejores jugadores de juegos tan complejos como por ejemplo, StarCraft II.

Ahora entendemos por qué son tan buenos los videojuegos para entrenar agentes de IA.

Por lo tanto, para ofrecer una mayor experiencia de jugador (básicamente que pueda ganar o avanzar), lo que los desarrolladores quieren (excepto algunas contadas excepciones), es que el jugador obtenga la mejor experiencia inmersiva, realista pero sobre todo, jugable y controlada. Y para ello se necesita un mínimo de control sobre ese universo (aunque haya eventos impredecibles, como el de los enanos y los gatos).

Conclusión

Hemos podido ver que hoy día, los juegos no necesitan realmente una IA avanzada. Basta con ofrecer los universos con reglas de simulación físicas más complejas para dejar que estas, junto a los PNJ, la temática, las historias y sobre todo, la interacción con el jugador, ofrezcan la mejor experiencia.

Pero podríamos responder también al por qué no hay juegos con IA tan avanzadas tan solo con esta frase: por que no sabemos realmente cómo aplicarla. 

Es cierto, en el momento que los desarrolladores encuentren una forma adecuada de integrar por ejemplo, Deep Learning en un videojuego, estaremos abriendo las puertas a una nueva generación de juegos que sólo podemos imaginar en la Ciencia Ficción.

Bueno, os dejo que tengo que seguir con mi partidita … 😉

Para mantenerte al día con LUCA visita nuestra página web suscríbete a LUCA Data Speaks o síguenos en TwitterLinkedIn YouTube.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *