Adaptive AI Engine for RTS Games

Discussing the theory and practice

Location-Based Information Systems

Posted by Ogail on July 27, 2009

Location-Based Information Systems


  • LBI could be thought as a very specialized perception data , which also include embedded logic or lower-level intelligence
  • Categories of discussing LBI:
    • Influence maps
    • Smart terrain
    • Terrain analysis
  • Influence maps (IM)
    • It refers to using simple array of data where each element represents data about a specific world position
    • the accuracy of the IM directly proportional with the memory size
    • Examples of uses:
      • Stores the areas of resources so when you want to expand your country you can choose best way for expanding and also know where to build defenses (uses in high-level planning)
      • IM that keeps the number of units that have been killed in each grid square. This could be used in pathfinding so that units will not continue to take paths into areas with high mortality score
    • In complex systems it’s recommended to have low detailed global IM and have another high detailed local IM that represents a specific area in the game
    • High-Level Approach: game characters interact with each other. Each character will consult some large list of game characters and determine whether interactions are required or necessary
      • This is not people do things in real world, people have limited senses and can only react to things in their immediate areas
    • Keep tracking of player location in IM allows for a more low-level approach to game character interaction
      • This adds realistic taste to the AI characters in the game
    • In fact, IM is the central repository for the other two LBI techniques to communicate with the rest of the game
  • Smart Terrain:
  • This notion was coined by Sims creator
    • This technique places the logic and behavior data for how to use various world feature and game objects in the objects themselves
    • This technique bundles all the interaction animations, sounds, and any other special data that a character would need to use the object, thus making the object self-contained
    • Here this facilitates any addition of new objects to the game
  • Terrain Analysis (TA):
    • TA is a family of methods that have made use of IM techniques to provide AI systems with increased strategic information about maps, especially randomly generated maps that haven’t had the benefit of ever being touched by level designer
    • TA methods are best described as specialized pattern recognition within an IM data array
    • TA systems uses neural nets or fuzzy logic systems that can be algorithmically find patterns within IM array
  • How these techniques are used:
    • Means tracking various population within the game
    • Keep tracking of the number of specific game objects within certain area


    • Simple occupance data can be used to:
      • help with obstacle avoidance
      • Give rough estimates of various game perception
      • Any task that requires quick access to localized population data
    • This technique is used with the fog of war line of sight systems to uncover areas of the map that are visually within line of sight of any of your units
    • Ground Control:
      • Term IM historically refers to techniques derived from the field of thermodynamics and field of analysis in general
      • This can quickly determine which player has control over which part of the game map
      • Algorithm for doing this is as following:
        • Zero out entire map
        • Assign each grid square a value based on its team-specific control
          • i.e. a positive value for player A units and negative B for units
        • Add up the values of the squares surrounding each square in the map scale by some amount and add that’s value to the square value
        • Repeat this few times to disperse the influence out until you achieve a stable state
    • Pathfinding System Helper Data:
      • When provided with additional information about specific area, the pathfinder can help smooth the solution through a tricky part of the map by giving a shortcut OR allow the AI-Controlled character to use some map features (like a ladder or a teleport tool)
      • These provided data could be:
        • Passability (relative to terrain features -hills, cliffs – and type -Sea, Land-)
        • Which player currently controls the areas of map you want to traverse
    • Danger Signification:
      • IMs are used to keep track of areas where bad things have happened over a period of time
      • And better yet the AI-Controlled character could respond to the danger area and send an attack group to investigate what’s causing the danger in this area
    • Rough Battlefield Planning:
      • By using ground control method you can look for areas with zero or near zero values and find areas where armies have met and then fight to control that area
      • Here you can know:
        • army relation to other army
        • relative sizes of each army
        • Forcing attack direction
        • Determine chances of winning to initiate charges or retreats
        • Able to send reinforcements more intelligently
        • Coordinate attacks on multiple fronts more clearly
    • Simple Terrain Analysis:
      • This includes somewhat more math determinations such as cover, visibility and height factor
      • Cover: how much a given position is open to attack from a given angle
      • Visibility: lighting concerns and light of sight issues
      • The best areas of cover become sniping spots
      • Areas with low visibility might be used as sneaky backdoors to other map areas
    • Advanced Terrain Analysis:
      • In RTS Games finding chokes points add the ability to create ambush there
      • IMs used in determining best place to build a town and defensive towers
      • Towns should be built with more preplanning like: keep crowding under control, maximizing future growth, allow maintenance
      • Building base against impassable terrain, then removing line of attack
      • Buildings walls to redirect units throw a kill zone. As explained in the picture below:


  • Determining important map areas using IM (powerup location density, cover info, choke points)
  • IMs Implemented Types:
    • Occupance-based IM: tracks where a given game object is in the map
    • Control-based IM: Shows areas of control around each game object
    • Bit-wise IM: splits IM element’s value into bitwise data components
    • Danger measurement
    • Providing pathfinding for more complex interactive objects
    • Could be helped in searching for objects
    • Keep track of the asteroids moving way and to predict their next movement and get them down
  • Dirty rectangles scheme of graphics drawing
  • Tip:
    • SmartObjects: each object in the game knows how to interact with ship via Interact method so adding new objects is so easily
  • Pros of LBI:
    • LBI tends to simplify perception search space y lowering the resolution of data that the AI needs when making decisions
    • Easy in debugging and developing
    • Generic interface
    • Centralizing AI data
  • Cons of LBI:
    • Size expensive
    • TA is performance expensive
  • Optimizations:
    • Using dirty drawing rectangles in occupance IM
    • Multilevel IM:
      • IMs that have levels and every greater level reqires additional performance and suppliers more details
  • Design Considerations:
    • Types of Solutions: LBI is suitable for tactical and strategic level
    • Agent Reactivity:

      • It makes your agent proactive
      • Take in consideration that LBI systems are secondary systems so agent reactivity depends on AI technique
    • System Realism: adds reality to the game
    • Genre and Platform: RTS Games is main of them

Development Limitations: allows modular implementation


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: