Inteligencia Artificial - Nociones básicas I

Inteligencia Artificial, materia que dí en mi carrera y la verdad... si estáis pensando en androides o máquinas con código la mar de interesante, ya podéis olvidarlo porque no es lo que parece y encima me pareció un aburrimiento. Pero en videojuegos se ve más interesante y os pongo en un par de entradas la serie de Advertainmen sobre el tema.


Cuando hablamos de IA hay 2 personas que se ponen a temblar, el programador que tiene que programarla y el diseñador que tiene que definir el comportamiento de los npcs.

Y a mí que me gustan ambos roles en el desarrollo del videojuego, ¡tiemblo doble!

Se trata de una parte crucial de la jugabilidad, cuanto mejor la IA, mejor el juego. Y no confundir con dificultad, no siempre están relacionados. IA viene a ser el comportamiento de los personajes NPC (No Playable Character - personaje no manejable por el jugador), no si son más duros o menos. Cierto hay que cuanto más "inteligente" el enemigo, más difícil es matarlo, pero no es solo eso.

La IA se resume en instrucciones de comportamientos, son grupos de instrucciones y animaciones que el NPC tiene que aplicar en determinadas circunstancias, por ejemplo que le ataquen, que esté patrullando, que esté paseando por la calle, que me acerque y le pregunte, etc.

Primero se definen los NPCs, los grupos clásicos son:

Amigos: Aquellos que me ayudan, bien dándome información o algún objeto. Un buen ejemplo es el mercader de muchos juegos y que en la mayoría de los casos no se mueve del sitio o como mucho “circula” por una zona muy limitada del escenario.

Aliados: Este grupo pueden ser los personajes que me acompañan durante el juego, pelean conmigo e interactúan. Tienen muchas animaciones y por tanto comportamientos, ya que tienen que hacer lo mismo que el jugador, desplazarse, atacar, estar en reposo, hablar...

Neutrales: Son personajes que pululan por nuestro mundo, transeúntes principalmente, que como mucho se pueden girar al vernos y soltarnos un improperio si chocamos contra ellos.

Enemigos: Aquí se podría hacer una subdivisión. Son los grupos de enemigos que nos atacan.

Jefes finales: Un buen juego ha de tener jefes finales que sea atractivos, difíciles de acabar con ellos y, sobre todo, con muchos comportamientos.

Animales: Los animales jamás se van a comportar como un ser humano aunque se parezcan a los grupos anteriores.


Ahora se definen grupos de comportamientos, unos ejemplos genéricos son:

Situación de Ataque: Tengo enemigos en pantalla y los he cabreado tanto que me atacan. Definiríamos cómo nos deben atacar, si por grupos, de forma individual, si nos rodean o nos atacan a distancia.

Situación de patrulla: los enemigos defienden una zona del escenario y patrullarán de una forma concreta y por una zona bien limitada. Algunos pueden pararse a fumar un cigarrillo, otros a hablar, o echar una meadita...

Situación de alerta: Uno de los enemigos nos ha visto y da la alarma. Habría que definir cómo paso de un comportamiento de patrulla a otro de alerta, los movimientos serán más rápidos y ya no habrá animaciones de espera.

Situación de peligro: Ésta suele ser para los NPCs neutrales o aliados. No es lo mismo sacar una pistola en una calle llena de gente y disparar y que no pase nada a sacar el arma disparar y que la gente huya y venga la policía a detenernos.

Situación neutral: una de las más básicas. La gente se mueve de un lado para otro. Cuando choco contra ellos protestan. Puedo preguntarles y me contestan algo rápido.

Situación obtener recursos: No muchos juegos hacen buen uso de este comportamiento. Imaginaos que le quito el arma a un enemigo y que por el suelo hay más armas de los enemigos caídos. El combate está en desventaja porque yo tengo armas y el enemigo no. ¿No sería lógico que el enemigo se lanzara a recoger un arma e igualar el combate? Y no solo recoger un arma, puede ser recoger munición. Y esta situación no es solo para los enemigos, si no para aliados que combatan con nosotros.

Etiquetas: ,,. Guarda el enlace permanente.

Deja un comentario ^^