Videojuegos muy inteligentes

Javier Luna Gonzalez
SoldAI
Published in
5 min readMar 27, 2018

Los videojuegos se han convertido en un medio de entretenimiento masivo y de alto impacto en la sociedad, a tal grado que los analistas estiman que este medio de entretenimiento tendrá mayor crecimiento que la televisión o el cine en las próximas décadas. Bajo este panorama, es claro que las principales empresas dedicadas a la producción de juegos y consolas se vean fuertemente impulsadas a estar innovando constantemente sus plataformas ofrecidas al público. Existen múltiples factores que han logrado que los videojuegos sean lo que son hoy en día, como una historia envolvente llena de aventura e intriga, o gráficos de última generación y excelente resolución que hacen sentir al jugador dentro del videojuego, y controles que se adaptan perfectamente a él; dentro de estos factores, la inclusión de técnicas y algoritmos de Inteligencia Artificial (IA) dentro de los videojuegos se ha intensificado con el paso de los años.

Imagen tomada del sitio VRUTAL

Breve historia de la IA en los videojuegos

El primer contacto entre los juegos y la IA ocurrió en la década de los 50, aplicada a juegos de mesa como el ajedrez o las damas chinas, con la inclusión de un jugador virtual que utilizaba técnicas de árboles de decisiones para valorar la posición del tablero. Posteriormente en los años 60 aparecieron videojuegos basados en lógica, por ejemplo los clásicos Pong y Spacewar. De ahí pasamos a juegos como Pacman, que ya incorporaba algoritmos de búsqueda en laberintos, convirtiéndose en uno de los primeros grandes éxitos de la industria de videojuegos. En la década de los 90 ya era casi un hecho que los videojuegos con mayor auge emplearan alguna de las técnicas de IA.

La magia de los algoritmos de IA

Ya sabemos que la IA está presente en los videojuegos pero, ¿cómo funciona exactamente? Para ello vamos a analizar unos cuantos ejemplos de videojuegos famosos explicando como la IA mejora la experiencia del jugador.

Los algoritmos más comunes que se emplean en los juegos de video son las máquinas de estado finito (MEF) y los árboles de comportamiento.

Ejemplo de una posible MEF para un videojuego

Como se muestra en la imagen, una MEF es básicamente un conjunto de transiciones basadas en acciones que cierto agente debe tomar de acuerdo a las variables de su entorno. Es por ello que los enemigos y acompañantes del protagonista en el videojuego realizan ciertas acciones dependiendo del estado del protagonista o el ambiente. Las limitaciones de las MEF es que requieren ser muy explícitas, es decir, que cubran todas las posibilidades de transiciones entre los estados que se puedan dar, y esto se complica conforme el juego va creciendo, lo que origina glitches y colapsos en la lógica de los personajes.

Por otro lado los árboles de comportamiento son más flexibles, ya que constan de nodos que indican las acciones que el personaje puede realizar si se cumplen ciertas condiciones, lo que permite entrar al contexto de múltiples acciones del agente sin la necesidad de mapear todas las combinaciones de acciones, como lo haría una MEF.

Ejemplo de un posible árbol de comportamiento para un videojuego

Gracias a estos algoritmos es posible, por ejemplo, tener videojuegos de luchas más competitivos, o juegos de carrera con oponentes más difíciles de vencer.

Imagen tomada del videojuego Street Fighter

En Street Fighter por ejemplo, el algoritmo que controla al oponente del jugador tiene acceso a las acciones que el jugador presiona antes de ser ejecutadas por el luchador, para definir su estrategia de ataque. Por otro lado, en el videojuego de Halo, es posible interactuar con los soldados aliados al personaje principal de una manera más dinámica y fluida, de modo que si estamos en un vehículo y tocamos el claxon, el soldado más cercano a nosotros acudirá para acompañarnos y disparar de manera autónoma a los enemigos que los rodeen.

Imagen tomada del videojuego Halo, de un soldado disparando contra enemigos con su IA

Con el transcurrir de los años, los personajes en los videojuegos se vuelven cada vez más autónomos y ya no solo giran alrededor de las acciones del protagonista, si no que reaccionan de acuerdo a más de una variable en el entorno, permitiéndoles tener personalidad y cierto grado de autonomía en sus decisiones. Tal es el caso de los enemigos en el reciente juego de Nintendo, The Legend of Zelda: Breath of the Wild, donde es posible provocar que dos enemigos peleen entre sí al ocasionar que uno ataque al otro, como se aprecia en el siguiente video:

Si bien podemos ver que el Guardián (el enemigo parecido a una araña) tiene su enfoque en el protagonista, cuando es golpeado por el Talus (enemigo de piedra), cambia su objetivo ignorándonos por completo, es decir, tienen la capacidad de discernir entre sus objetivos.

¿Qué falta para mejorar?

A pesar de lo mencionado, todavía no se observa el gran salto de la IA en los videojuegos. Si bien los algoritmos son eficientes y óptimos, todavía falta mucho para lograr una experiencia que nos deje impactados al momento de aventurarnos en un videojuego. Por ejemplo, es muy común que los enemigos inteligentes, terminen siguiendo un determinado patrón de movimientos, lo que permite al jugador deducir rápidamente una estrategia para vencerlos. También, se han detectado muchos puntos ciegos en varios videojuegos, que hacen que los enemigos o acompañantes actúen de forma anormal. Lo ideal sería ver un comportamiento similar al que vemos de los Omnidroides de la película de Disney “Los Increíbles”, donde el enemigo aprende de los movimientos de su oponente para desarrollar nuevas estrategias de batalla.

Y tú, ¿cómo visualizas en un futuro la IA en los videojuegos?

(Ilustraciones: Pepe Rodríguez)

Referencias

--

--