Las dos técnicas más empleadas en la IA de los videojuegos son el A* y la Máquina Finita de Estados (FSM). Prácticamente cualquier juego con IA utiliza alguna forma de FSM para controlar el comportamiento de un personaje, y A* para establecer caminos o rutas. FEAR utiliza estas dos técnicas, a la vez que Real-Time planning, lo que contribuyó definitivamente a que Monolith Productions mejorara el desarrollo de comportamientos de los personajes en su juego.
La IA the FEAR hace que los personajes no jugables, entre otras acciones, se cubran, disparen a ciegas, atraviesen ventanales, eliminen grupos de oponentes lanzando granadas o se comuniquen con compañeros de grupo.
2. Arquitetura de agentes
Los agentes en FEAR se componen de una pizarra (blackboard), una zona de memoria dinámica, varios subsistemas (navegación, amimación, sistema de armas, etc.) y algunos sensores. Los sensores detectan cambios en el entorno, y almacenan estas percepciones en la zona de memoria. El planificador usas estar percepciones para guiar la toma de decisiones y comunicar instrucciones a los subsistemas por medio de la pizarra.
Los sensores perciben estímulos tanto externos – visuales o auditivos – como internos – dolor o deseos – . Algunos están dirigidos por eventos mientras otros sondean el entorno. Los primeros son útiles para reconocer al instante sonidos o daños, y los segundos para extraer información del mundo, por ejemplo, generar una lista de posibles posiciones tácticas. Algunos de los sensores de FEAR son:
- SensorSeeEnemy: permanence aletargado hasta que aparezcan estímulos visuales.
- SensorNodeCombat: observa el entorno tres veces por segundo, buscando sitios potenciales para esconderse o disparar desde posiciones protegidas. Establece una lista de posibles sitios y los ordena por su distancia con el personaje.
- PassTarget: encuentra una ruta hasta una posición táctica conocida, y determina si está libre de peligro.
Una acción se activa modificando algunos valores en las variables de la pizarra. Los subsistemas se actualizan periódicamente, y cambian su comportamiento de acuerdo a as instrucciones de la pizarra. Por ejemplo, la acción GotoTarget establece un nuevo destino en la pizarra, y el sistema de navegación, al actualizarse, debe encontrar una ruta hasta el nuevo destino.
Referencias:
- Three States and a Plan: The A.I. of F.E.A.R. Jeff Orkin - Monolith Productions / M.I.T. Media Lab, Cognitive Machines Group
- Agent Architecture Considerations for Real-Time Planning in Games. Jeff Orkin - Monolith Productions, Inc.