This page is part of the Imap Manual. ♦ Imap ♦ Imap Manager ♦ Imap Entity Node ♦
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.
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.
Using the influence map (Imap) 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.
Each agent (whether it be an NPC, a player character, or object) radiates one ore more types of "influence" into a grid system that is laid over the game map. The scale of these grids can be tailored to the type of influence that is being tracked and the necessary granularity. This system is universal to the game and/or the map and is accessible to all characters that wish to query the information. By accessing one or more layers of influence and combining them accordingly, information about a particular location can be accessed and used in the decision-making process. Additionally, other queries can be created to look for areas that would be relevant to executing decisions. 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?")
Layer Map Collection
Website, Manuals wiki, and Product Code ©2021, Intrinsic Algorithm LLC