Los juegos de estrategia en tiempo real son juegos de estrategia que se distinguen por no basarse en un sistema de turnos. El género más común dentro de estos juegos son los juegos de guerra que se basan en la obtención de recursos, el desarrollo de construcciones, la evolución tecnológica y el control abstracto de unidades (dándoles órdenes en vez de controlando directamente cada unidad).
Lo interesante de este tipo de juegos desde el punto de vista de los agentes es que durante el juego pueden existir centenas de unidades que deben interactuar y deben de organizarse para obtener una meta común, ganar la partida.
Podemos diferenciar tres capas para los agentes. En la más baja están las Unidades, elementos que pueden actuar con individualidad. En la capa intermedia se encuentran los Grupos, que son útiles para organizar acciones en las que se precisan varias unidades, las agrupaciones más comunes son los batallones. Y en la capa superior el Mando, el agente encargado de determinar la estrategia de juego.
El Mando debe definir la estrategia a seguir para ganar la partida, suele basarse en una lista de tareas priorizadas.
Por ejemplo si la cantidad de oro que posee es insuficiente existirá una tarea con prioridad alta para recolectar oro, esa tarea creará otras mini-tareas que son necesarias para poder cumplirla, en este caso podría ser: buscar una mina de oro, construir unidades recolectoras de oro, crear un almacén de oro cercano a la mina de oro, enviar las unidades a recolectar oro.
Los Grupos ayudan a la organización de tareas que se deben de hacer de forma masiva, es inútil atacar una ciudad con una sola unidad. Los grupos suelen estar unidos por la tarea que deben de realizar.
Siguiendo con el ejemplo anterior, las unidades recolectoras de oro tienen una tarea en común, recoger oro de una mina específica. Si se terminase el oro de la mina el grupo podría tomar la iniciativa de ir a recoger oro de otra mina cercana.
Los grupos son útiles también para minimizar el cálculo de caminos, ya que no es necesario calcular el camino completo para cada unidad.
Las Unidades son agentes individuales y toman iniciativas propias sobre las tareas asignadas, o incluso pueden decidir realizar una tarea que no se le ha asignado.
El comportamiento crítico de las Unidades está en las batallas, se suelen enviar como grupos, pero una vez iniciada la batalla cada unidad debe de tomar una posición acorde a sus capacidades y del resto de unidades que se encuentran próximas. Por ejemplo un arquero es inútil en una posición avanzada y un espadachín es más inútil aún en una posición atrasada. Las unidades que no pueden atacar a otras unidades próximas, como catapultas, deben de ser protegidas por otras unidades. Estas decisiones se toman por parte de los agentes individuales.
Existe un gran problema para el uso de agentes en este tipo de juegos, y es su condición de juego en tiempo real. Para que se pueda cumplir esta condición los agentes deben de ser optimizados al máximo, tendremos cientos de ellos a la vez.
Para paliar este problema los agentes se implementan de forma simplificada. Por ejemplo no se usarán ontologías, lenguajes de información complejos o ni siquiera paso de mensajes. El uso de lenguajes de información necesita un procesamiento adicional y el paso de mensajes un consumo excesivo de memoria. la comunicación se implementará a través de memoria compartida y llamadas a métodos.
Podéis encontrar más información sobre juegos de estrategia en “Can a Realistic Artificial Intelligence be created for a Real-Time Strategy Game?” y una pequeña descripción de la implementación de la inteligencia artificial en el Age of Empires.







