Distributed AI

  • The first rule of ALL game programming: Keep it Simple, Stupid
  • The purpose of the distributed method is to simplify overall AI creation and maintenance, by spreading out AI tasks into modular, as well layered systems working with each other
  • Several AI Engine Layers:

    • Perception/Event Layer: Filters incoming sense data for relevance and various other factors
    • Behavior Layer: Determines the specifics of how to perform a given action
    • Animation Layer: Determines which animation to play to fit game state
    • Motion Layer: Handling aspects like pathfinding, collisions and avoidance
    • Short-Term Decision Making Layer:

      • The narrow-view intelligence for the AI entity, primarily concerned with just the entity
    • Long-Term Decision Making Layer:

      • Handles wire-view intelligence issues, like planning or team based considerations
    • Location-Based Information Layer:

      • Includes information transmitted to the entity from influence maps, smart terrains
  • Perception and Events Layer:
  • Why to create central perception System:

    • Prevent game values being calculated several times within single game loop
    • Supports debugging and tracking the system
  • Perception systems works fine with message based systems

  • Behavior Layer:

    • This layer is a candidate for data-driven systems
    • The more content designers put in this layer, the more virtually "calculation-free" personality and intelligent your characters with exhibit
    • scripts shouldn’t contain math; it contains sense-style that characters’ behaviors requires to seem realistic
  • Animation Layer:
  • Choosing right animation to play is not a trivial task
  • Scripted systems here saves calculation time

  • Motion Layer

    • Basic movement, pathfinding and obstacle avoidance algorithms stated here
    • You can adjust this layer for every character you have:

      • Smart Character: know when to use teleport in the suitable time
      • Weak Character: let the obstacle pass first and then he passes
      • Strong Character: move the obstacle away the way!
  • Short-Term Decision Making:

    • This layer is relative to character either because of its attributes, its current perceptions or its last experience
    • A character might be almost dead so his goal now is to get health power up or run away
    • A character’s weapon is empty so, its goal now is to hide and reload the weapon and appear again
    • Most of the games develop the ST layer in state-based manner
  • Long-Term Decision Making:

    • LT are likely to be outside any one unit
    • In RTS games this layer usually developed under FuSM
    • This layer contain the planning algorithms and high strategic decisions
    • In RTS games, AI opponent can use full fuzzy system logic to "guess best" action to take under current info
  • Location-Based Information Layer:

  • This layer is like blackboard architecture for creating AI Engines
  • Uses of LBI Systems:

    • LBI can help LT in determining weak defensive area
    • In knowing military intersect area in the map
    • Discovering valuable suitable ambush areas in the map
    • Pathfinding algorithm use LBI to avoid kill zones or bad designs in the map
  • Triggers could be added to this layer to help to simplify other layer (like be careful enemy is near you!)
  • Quote: "reaching for insect intelligence first, and then go on"

Leave a Reply

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

WordPress.com Logo

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

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s