Alguna vez has estado jugando a un videojuego y has pensado: “¿Cómo ha hecho eso el enemigo?”, “¿por qué ha tomado ese camino el NPC?” o “¿Cómo funciona la IA de esos personajes?”. Si resulta que si lo has hecho te invito a unirte a un maravilloso viaje a través del mundo técnico que gobierna el funcionamiento de los videojuegos. El día de hoy veremos una de las inteligencias artificiales más revolucionarias de los videojuegos: la IA de First Encounter Assault Recon (F.E.A.R. para los amigos).
Para empezar, qué os parece si presentamos a nuestro protagonista. F.E.A.R. es un survival horror fps de 2006 desarrollado por Monolith Productions y con muchísimos enemigos iguales que:
Steve es uno de las decenas de enemigos que nos encontraremos en el juego. Estos soldados pueden acorralar, trabajar en equipo, echar al jugador de sus coberturas con granadas y retirarse si es necesario. Pero… ¿cómo consigue el siempre espléndido Steve realizar esta hazaña y llegar todos los días a tiempo a su trabajo a tiempo parcial de portero de discoteca? Lamentablemente, el secreto de la gestión del tiempo libre solo lo sabe Steve; sin embargo, la funcionalidad de la IA de Steve es algo sobre lo que se sabe un poquito más.
Para entender realmente cómo funciona la IA de Steve primero hay que hablar sobre con qué tipo de IA vamos a tratar. Veréis, Steve no se rige por una IA cualquiera; Steve realiza acciones acorde a una Goal Oriented Action Planning (a lo vamos a llamar GOAP para mayor claridad). Esto quiere decir que el sistema locomotriz del fantástico Steve se ve así:
Esto se reduce a que las acciones de Steve, contando con las animaciones respectivas de cada una de ellas, son: moverse, realizar una animación especial e interactuar con objetos del escenario (como, por ejemplo, un botón); ¡fácil! Demasiado fácil. De hecho, esta máquina de estados (algo de lo que quizás hablamos en otro momento), comparado a las de otros videojuegos, es una muy simple; excesivamente simple de hecho. ¿Qué cuán simple? Pues que tal si la comparamos con la máquina de estado para los fantasmas en versión original de Pacman:
No se diferencia demasiado, ¿verdad? Y eso que estamos hablando de juegos que se llevan 25 años. Entonces, ¿dónde está el truco? ¿Qué hace que F.E.A.R. sea tan especial? La respuesta a esas preguntas es tan (poco) simple como: cómo se decide cambiar de estados; es decir, cómo decide qué acción debe hacer Steve en cada momento.
Por regla general, y como podéis ver en la foto anterior existen una serie de condiciones, preconcebidas por el desarrollador, que hacen que la inteligencia artificial varíe su estado; sin embargo, F.E.A.R. permite que el algoritmo de búsqueda de caminos que utiliza (A*, uno de los más comunes en el mundo del gaming) también le sirva para decidir el estado en el que se encuentra, permitiendo que todos los cambios entre estados sean completamente dinámicos y dependientes puramente de lo que está ocurriendo en el momento; lo que da como resultado algo como esto:
Por esto, y por algunas cosas más, F.E.A.R. fue revolucionario; cambiando la tendencia de la IA en el mundo del gaming y dejando una marca que sigue viva hasta hoy. Ya sea en la saga Fallout, con su tercera iteración; o en Deus Ex, con Human Revolution; nunca sabes cuál será la próxima aparición de GOAP.
Dicho esto, ¡estad siempre atentos cuando juguéis! Un saludo.
- ph0nsy
Aquí os dejo un par de links de interés si queréis seguir investigando: - GDC: Three States and a Plan: The AI of F.E.A.R.
- MIT: Three States and a Plan: The A.I. of F.E.A.R.
Comments