Reasoner

Reasoner acts as a brain for an entity. It is responsible for decision making and assigning selected behaviors to the controlled entity.

Public Interface

StageBehavior

Updates the decision making process, resulting in the assignment of a chosen behavior to the controlled entity. It is an abstract / pure virtual method that can be overridden by the user to provide their own selection algorithm.

CreateSnapshotGenerator

Creates a debug data generator that should be used by Grail Debugger (see Debugging Setup: Tutorial). This method is implemented for all built-in reasoners, but should be provided by the user for custom reasoners.

Default Reasoners

Simulated Game Reasoner

Simulated game reasoner runs MCTS simulations to generate the best possible course of action, taking opponents' actions into consideration.

Planner Reasoner

Planner reasoner uses planners to search the game’s state space and find a sequence of behaviors which will fulfill a given goal.

Utility Reasoner

Utility reasoner uses utility based AI to evaluate and select behaviors.

API Reference