Inteligencia artificial

Aplicación a los Juegos de Video

La Inteligencia Artificial (IA) en los juegos de video, ha cobrado auge en los últimos años. Dado que las imágenes desplegadas por las consolas de la siguiente generación (Wii, PlayStation 3 y Xbox 360) cada vez se acercan más a la realidad, ahora, el reto radica en hacer que estas imágenes cobren “vida” y realicen comportamiento que el jugador perciba como inteligente. Esto es, que el comportamiento sea tan creíble como las imágenes desplegadas. Para cumplir este gran reto, los videojuegos están utilizando cada vez, con mayor frecuencia, técnicas de Inteligencia Artificial avanzadas, como lo son Redes Neuronales, Algoritmos Genéticos, y Planeación, y ya no sólo técnicas que se han usado tradicionalmente, como las Máquinas de Estado Finito (FSM) para simular el comportamiento de los personajes, y el Algoritmo A* para encontrar rutas. El presente artículo se divide en dos partes: la primera es un vistazo a lo que es la IA más interesante en los juegos de video actuales, y la segunda, es un ejemplo de IA reactiva para un juego que estamos desarrollando en Nibbo Studios.Juegos cuya IA vale la pena notar
Estos son algunos de los juegos que consideo vale la pena destacar por su uso de IA:

1. Creatures, un juego de vida artificial creado por Steve Grand para Cyberlife en el Reino Unido. En este juego, cada una de las criaturas (Norns) tiene diferentes genes. Los Norns se aparean entre sí para dar vida a nuevas criaturas, que van evolucionando su DNA y adquiriendo algunos rasgos de generaciones anteriores. El cerebro de las criaturas es simulado por una red neuronal sencilla. Steve Grand incluso, se ha auto proclamado un dios digital, ya que según él, ha creado “vida” dentro de una computadora.

2. Black and White de Peter Molyneaux de Lionhead Studios, donde se puede entrenar a las bestias que dependen del dios (el jugador). Esto se realiza por medio de la técnica de IA conocida como aprendizaje reforzado, donde se premia a la criatura si realiza la acción que le pedimos (por medio de un caricia en el lomo) o se castiga si no hace lo que se pide (a través de un latigazo).

3. F.E.A.R. (First Encounter Assault Recon), IA por Jeff Orkin de Monolith Productions. Cuenta con la Inteligencia Artificial más interesante, ya que se utilizan técnicas como el uso de un planeador para complementar a otras que se han utilizado con mayor frecuencia en la IA de los juegos de video, como son las maquina de estado finito (FSM) y el algoritmo A*. Lo interesante de utilizar el planeador, es que solamente es necesario especificar cuál es el conjunto de objetivos que persigue el personaje y cuáles son las acciones que puede realizar para cumplir con estos objetivos. Esto acarrea el beneficio de que las acciones y los objetivos están “desacopladas”, por lo que es más sencillo expandir el sistema de IA de manera eficaz.

Ejemplo: Überpong desarrollado por Nibbo Studios
Ahora daré un ejemplo de la IA del videojuego mexicano Überpong, desarrollado por Nibbo Studios (www.nibbo.net) en la ciudad de Aguascalientes. Überpong actualmente se encuentra en pruebas beta, y pronto saldrá al mercado. Este videojuego ha ganado dos premios a nivel nacional, incluyendo el mejor videojuego en PC desarrollado por una empresa mexicana en el concurso del capítulo mexicano de la IGDA (International Game Developers Association) en noviembre del 2006. Überpong es un videojuego que combina los géneros de deportes y de acción para traer el clásico


Figura 1. Contestación del enemigo (paddle derecho) en el nivel de la tierra.



Figura 2. Enemigo (paddle derecho) recibiendo la pelota en el nivel del hielo.

juego de Pong al siglo XXI. Para lograrlo, se dotó de algoritmos de física computacional, detección de colisiones y de Inteligencia Artificial que a continuación se describe:

La Inteligencia Artificial de los enemigos de Überpong se divide en 4 dimensiones, una para definir cómo el control (paddle) del enemigo se aproxima a la pelota, y las otras 3, para definir la personalidad del enemigo. El sistema de IA está influenciado en los estudios doctorales de un servidor. En este tipo de IA, por medio de reglas sencillas se simula comportamiento que parece ser más complejo. Sistemas similares de IA se han utilizado para simular animales artificiales, y también para guiar robots en ambientes complejos y cambiantes.

Para definir cómo se aproxima el paddle del enemigo a la pelota, se definieron un conjunto de parámetros que se especifican en el archivo XML de la IA. Entre éstos se encuentran:
1. Qué método utilizará para aproximarse a la pelota (siguiéndola o prediciendo a cada instante dónde llegará la pelota).
2. Parámetros para definir un sistema primitivo de visión.
3. Velocidad máxima del paddle.
4. Aceleración máxima del paddle.
5. Porcentaje de decaimiento de la velocidad del paddle.

Para definir la personalidad del enemigo, se crearon los perfiles de personalidad, estos están dados en 3 dimensiones:
•La primera dimensión define si el enemigo será agresivo, precavido, o miedoso; esto es, si tratará de acelerar la pelota, no hará nada o si tratará de desacelerar la pelota.
•La segunda dimensión define si el enemigo es arriesgado o no; esto es, si tratará de aplicar efecto o no a la pelota.
•La tercera dimensión define si el enemigo es impulsivo o calculador; esto es, qué estrategia utilizará para aplicarle los ítems al jugador: si es impulsivo, los aplicará en cuanto los tenga disponibles y si es calculador, los aplicará cuando ocasione más daño al jugador, por ejemplo, voltear la pantalla cuando la pelota esté cerca del jugador, le dará menos tiempo de reaccionar.

El juego se puede ver en acción en las figuras 1 y 2 (que se muestran en la esquina superior izquierda).

Conclusión
La Inteligencia Artificial es sin duda, un campo con mucho potencial, que tiene grandes áreas de oportunidad en los juegos de video. Espero que con este breve artículo les haya dado una idea del tipo de consideraciones que se deben tener en IA para videojuegos, y también espero, haber despertado su curiosidad para que conozcan más sobre esta fascinante área.

Acerca del autor
El Dr. Carlos Delgado Mata es socio fundador de Nibbo Studios, y ha estado encargado de la Inteligencia Artificial y Física Computacional del más reciente proyecto. Además, es profesor investigador en el campus académico de la Universidad Panamericana, Universidad Bonaterra. Es autor de mas de 30 artículos en el área de Agentes y Entornos Virtuales Inteligentes. Es fundador y co-chair de la conferencia internacional especializada en el área IVEVA (Intelligent Virtual Environments and Virtual Agents).