grail (C  1.0.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
Grail Namespace Reference

Classes

class  CurveHelpers
 
interface  IGoalAcceptor
 
interface  IGoalSelector
 An interface used to specify goal selection logic for PlannerReasoner. Implement it if you want to define your own goal selection logic. More...
 
class  PriorityQueue
 
class  PlannerReasoner
 A reasoner which uses planners to find optimal sequences of behaviors based on goals More...
 
class  SimulatedGameReasoner
 The reasoner that encalpsulates the SimulatedGame technique which is based on Monte Carlo Tree Search. More...
 
interface  IReasonerChangeObserver
 
class  AIEntity
 Defines a basic object which can execute behaviors. More...
 
interface  IEntityChangeObserver
 
class  AIManager
 Manages registered entities and shared blackboards. More...
 
class  Behavior
 A high-level abstraction of actions in the game. More...
 
class  BehaviorSequence
 The BehaviorSequence class - specialized Behavior executing sequence of provided subbehaviors one by one. More...
 
class  Blackboard
 Grail's universal data container More...
 
interface  IReasonerFactory
 
class  ConfigInterpreter
 A class used to construct entities and entity groups based on configuration data More...
 
class  EntityGroup
 
class  DefaultSink
 The DefaultSink class - sink writing messages to standard system output More...
 
class  FileSink
 The FileSink class - sink writing messages to file More...
 
class  LoggerManager
 
class  Sink
 The Sink class - destination of logger messages More...
 
class  Plan
 A data structure used by PlannerReasoner to execute a sequence of behaviors More...
 
class  Reasoner
 Entity's "brain", assigns them behaviors chosen by user-defined algorithms. More...
 
class  SynchronizedVector
 
class  WeakRef
 
interface  IConsiderationProvider
 
class  UtilityReasonerConfigInterpreter
 A helper class used for creating Utility Reasoner instance using configuration data More...
 
class  UtilityReasoner
 
class  Prefab
 Responsible for producing contexts and instances of data used by UtilityReasoner. More...
 

Typedefs

using BehaviorPrefab = Prefab< Behavior,(AIEntity, Blackboard), AIEntity >
 
using EntityBlackboardPair = ValueTuple< AIEntity, Blackboard >
 

Enumerations

enum class  Status { FREE = 0 , RUNNING , DONE }
 
enum class  BehaviorStatus { SUSPENDED = 0 , ACTIVE , FINISHED , DELEGALIZED }
 
enum class  Severity {
  TRACE = 0 , DEBUG = 1 , INFO = 2 , WARNING = 3 ,
  ERRORS = 4 , CRITICAL = 5
}
 

Functions

delegate void PlannerDelegate (Plan plan, Goal goal)