Environment Query System

Basic info about Environment Query System in AI Tree

EQS (Environment Query System) is a powerful tool for AI, enabling it to dynamically gather information from the environment and make decisions based on this data. EQS is designed to execute queries that identify the most suitable locations or objects in the world based on specified conditions and criteria. It's useful for tasks such as finding the best cover positions, identifying optimal paths, or determining the nearest targets.

Key Aspects of the Environment Query System:

  1. Query in EQS consists of a set of tests and conditions applied to various objects or points in the game world. Each query returns a list of suitable objects, sorted by how well they match the given criteria.

  2. Generators define which points or objects will be evaluated in the query. Examples include:

    • Points around the character: Points can be generated around the AI to find suitable spots for cover.

    • Actors within a radius: EQS can generate a list of actors (characters, objects) within a certain radius from the AI for further evaluation.

    • Random points in space: The system can generate random points within an area to check their suitability.

  3. Tests in EQS are used to evaluate each generated point or object. Examples of tests include:

    • Distance: Checks the distance to a point or object (e.g., to find the nearest cover or target).

    • Line of Sight: Tests whether the AI can see the point or object directly, without obstacles.

    • Height or position: Evaluates the height of the point relative to the AI, which can be important for choosing a position with tactical advantage.

  4. Scoring: Each point or object is scored based on the tests, and this score determines how suitable the option is for the current query. For instance, higher priority can be given to points that are closer or hidden from enemy view.

  5. Filtering: After running the tests, EQS filters out unsuitable points or objects. For example, it can remove points that are too far away or obstructed by barriers.

  6. Context in EQS queries can be the AI itself, surrounding objects, or other elements of the game world. Context is used to define what the tests will be based on. For example, the AI might search for cover points around itself or around allies.

  7. Integration with Behavior Tree: EQS integrates seamlessly with Behavior Trees. You can set up an EQS query within the behavior tree, and the AI will dynamically choose the best action or position based on the results of the query. For instance, AI can use EQS to find the nearest cover or attack the nearest target.

  8. Flexibility: EQS allows you to set up queries for any scenario, from target selection to finding the best position.

  9. Automation of Complex Decisions: EQS simplifies decision-making for AI by automatically checking multiple factors and selecting the best option.

  10. Scalability: The system can handle queries with many points or objects, making it useful for complex game scenarios.

Example of Using EQS:

Imagine an AI character that needs to find the best cover during a firefight. EQS can generate points around the AI and then run tests such as checking the distance to each point, visibility relative to the enemy, and whether there is an obstacle between the point and the enemy. EQS will then return the most suitable cover spot, and the AI will move there.


The Environment Query System is a powerful tool for creating dynamic and adaptive AI in AI Tree. It allows AI characters to make decisions based on complex conditions and factors, such as distance, visibility, or the position of objects. EQS makes AI behavior more realistic by enabling them to find the best locations for actions or to choose optimal targets in the game world.

Last updated