Rogelio Valdés
4 ene 2021
Ultimamente he estado jugando mucho a Zelda Breath of the Wild y Hyrule Warriors Age of Calmity. Me gusta mucho pelear con los enemigos, tanto que ya me aprendí todos los patrones y entre más lo juego más me doy de lo sencillo que es su lógica. Es de hecho muy similar a los enemigos que programamos en el Curso de Programación de Videojuegos.
De niño me causaba mucha curiosidad saber como pensaban los enemigos de los videojuegos y hasta hace unos años se puso de moda el decirle Inteligencia Artificial, es realmente esto? Vamos a ver...
¿Cómo decide el personaje que decisiones tomar? Podemos ver esto como un árbol de decisiones. La raíz de nuestro árbol es cuando inicia la batalla normalmente estos personajes reciben la instrucción de acercarse al jugador. Hasta que llegan a una distancia más cerca del jugador empiezan las ramas del árbol. Una rama del árbol le dice que haga el ataque con sus dos espadas que pone unos círculos morados. Y así cada rama del árbol representa un ataque diferente. Pero no puede hacer todos los movimientos al mismo tiempo, no puede tomar todas las ramas del árbol.
Arbol de Decisiones - Cada círculo es una acción diferente
¿Cómo elegir que rama del árbol va a seguir?
Te explico, imagínate que giramos una ruleta y dependiendo del lugar que caiga vamos a elegir una rama, o un ataque. Entonces puedo girarla 3 veces y las 3 veces coincidió que toca el mismo ataque, o bien puede tocar 3 ataques diferentes. Así es más difícil que podamos predecir al enemigo.
¿Es esta una inteligencia artificial? Pues parece que reacciona diferente cada vez pero realmente no aprende nada de nuestros errores o aciertos. No esta cambiando su estilo de batalla si lo pongo a pelear en un terreno diferente o con otro contrincante. Entonces esto no es una inteligencia artificial. Y la mayoría de los enemigos funcionan así, desde hace décadas hemos programado enemigos de esta forma. ¿Los podemos hacer más avanzados? Si, imagínate que yo modifico los espacios de esta ruleta para que sea más fácil que caiga un ataque u otro. Ahora cambiamos estos espacios dependiendo del terreno en el que se encuentre o de los ataques que esté lanzando el jugador. Ahí ya se hace más interesante, aunque sigue sin ser inteligencia artificial.
Hay juegos con enemigos más complejos con muchos árboles de decisiones y con movimientos muy específicos para cada situación pero como puedes ver aún los juegos más exitosos como Zelda utilizan este sistema sencillo. Esto nos dice mucho de como no necesitas que tu juego sea el más avanzado para que sea divertido.
Y ahora ¿qué si es una inteligencia artificial? Porque si existe y ya se está utilizando, una inteligencia artificial es un algoritmo que percibe su entorno, entiende lo que ocurre a su alrededor y puede adaptarse a reaccionar de la mejor manera para lograr su objetivo. El enemigo que acabamos de describir dijimos que no se adapta, por lo que no es realmente inteligente. Y este es un tema bien interesante, pero ese será un tema para otro video.
Si te interesó este tema sobre como funcionan los enemigos de un videojuego te invito al Curso de Programación de Videojuegos donde vemos exactamente como se traduce esto a código para que puedas programar tus propios enemigos.