Much like the IAUS, our Imap system has been worked on for over 6 years and has been used in a number of shipped titles. Over that time, this architecture has been extended and optimized. However, it's core beneficial use has remained intact and improved upon. It is a general knowledge representation system that allows for analysis of spatial, tactical, strategic, and ecological situations. This is used for NPCs to easily query information about the distribution of dozens... or even hundreds... of other agents in the world on the enemy team, their own team, neutral agents or objects, or any combination of the above to get information about a specific location (e.g. "am I crowded?" or "how much threat am I under right here?") or to find locations where something should be performed (e.g. "where is the safest place to stand?" or "where should I use this area of effect spell?")
As with the IAUS, the Imap system exists a stand-alone black box that can be installed into a project codebase and calibrated to whatever spatial and coordinate system the existing project runs on. Additionally, many of the queries for commonly used information and code for commonly used movement and targeting locations exist already as part of the install. New Imap queries can be completed usually in only a few lines of code. Often in minutes. As planned future work, the system allows for data-driven implementation of these queries so that designers can mix-and-match their own combinations of influence map data for specific behaviors without programmer involvement.
Dave covered an overview of his Imap system in a lecture in the 2018 GDC AI Summit entitled, "Spatial Knowledge Representation through Modular Scalable Influence Maps". The following video contains the demonstration examples used with explanations of what is happening.
Using the influence map system, the characters are aware of what is going on around them spatially. This can include the proximity of other agents (friend or foe), the threat radiated by other agents (friend or foe), environmental hazards, the effect of AOE spells, and other things. This means that the agents can space out from each other as necessary, move (or even dodge) out of bad areas to stand, minimize the threat to themselves, target AOE spells at the center of a group of enemies (or allies!), stay in non-melee areas if they are a ranged attacker, etc. This can also apply to things such as light and dark areas. If something wants to creep around in the darkness and avoid the light cast by lamposts, fires, or even magical light spells, they will do so.
Our technologies can be used completely independant of each other.
However, they are designed to be used together.
Our IAUS utility AI system gives designers the power they need to create robust, dynamic behaviors!
Our Imap system provides agents with knowledge of the spatial information in the world - both fixed and dynamic!
Our procedural dialog system allows designers to create filtered, contextual text communications.
Our name generation system saves designers the effort of coming up with 100s or 1000s of new names.