Inteligencia Artificial: creando el zombie para Become a Legend

¡Buenas a todos! Después de unas semanas sin escribir vuelvo aquí para hablaros de la parte que más disfruto de la programación, la inteligencia artificial. En este caso hablaremos de la inteligencia artificial utilizada en los zombies de Become a Legend. Así que vamos a ello.

Cuando vamos a crear una inteligencia artificial para un videojuego lo primero que tenemos que tener en cuenta es cómo de “inteligente” queremos que sea. Si creamos un enemigo demasiado complejo, podría darse el caso de que el jugador acabe frustrado a la hora de derrotarlo. Pero si lo hacemos demasiado tonto no supondrá un reto y no será satisfactorio acabar con él. Así que entre esos dos límites tenemos que crear el comportamiento de los enemigos, sin llegar a ser muy complejo pero tampoco aburrido.

Y ahora entramos en el comportamiento del zombie de Become a Legend. Este cuanta con 3 posibles estados: parado, moviéndose y atacando. Para crear una buena inteligencia artificial en un videojuego esta tiene que obtener datos de su mundo y actuar acorde a estos. En nuestro caso el zombie obtiene datos de dos formas. La primera es saber con qué elementos esta colisionando, lo que le permitirá saber si tiene que parar de moverse en una dirección ─para así no caerse de su plataforma─, o no andar contra una pared. La segunda, es un rango de visión en el cual sabe si el jugador está dentro o no. Esto se usará para saber si tiene que atacarnos o no.

Teniendo estos datos, el zombie se dedica a patrullar en su plataforma, parando y cambiando de dirección cada equis segundos. También cambiará de dirección si se encuentra con una pared o está a punto de caer. En cualquier momento que el jugador entra en su zona de visión, el zombie se moverá hacia él a una velocidad mayor que la normal de movimiento. Si el jugador se sale de dicha zona de visión el zombie volverá a su estado normal de movimiento.

En general, en los videojuegos no tenemos el objetivo de hacer los enemigos lo más inteligentes posibles, sino hacerlos lo más divertidos que se pueda. Un jugador tiene que ser capaz de anticiparse a los movimientos de un enemigo si ha jugado lo suficiente. Esto generará una sensación de satisfacción al acabar con los ellos. Ese ha sido nuestro objetivo en Become a Legend y seguiremos trabajando en esa dirección e intentando mejorarlo día a día.