(C++)  1.1.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Cgrail::planning::Planner::AbstractPlan
 Cgrail::planning::Action
 Cgrail::planning::ActionTemplateA class representing an action that can be simulated by grail planner
 Cgrail::AIEntity
  • Defines a basic object which can execute behaviors
 Cgrail::AIManager
  • Manages registered entities and shared blackboards
 Cgrail::evolution::Arena
 Cgrail::BehaviorA high-level abstraction of actions in the game
 Cgrail::BehaviorData
 Cgrail::BehaviorInstanceSnapshot
 Cgrail::BehaviorModel
 Cgrail::Blackboard
  • grail's universal data container
 Cgrail::BlackboardState
 Cgrail::utility::Blueprint< InstanceType, ContexType, DataType >The Blueprint class - Responsible for producing contexts and instances of data used by UtilityReasoner
 Cgrail::utility::Blueprint< grail::Behavior >
 Cgrail::BlueprintOption
 Cgrail::simulation::C45AlgorithmThis class encapsulates the C4.5 Algorithm used to generate a decision tree (see Grail.Simulation.DecisionTree) based on the dataset provided
 Cgrail::simulation::C45GameActionCounterThe whole class should be INTERNAL; part of the private interface
 Cgrail::simulation::C45IterationParametersThe whole class should be INTERNAL; part of the private interface
 Cgrail::simulation::C45SingleIterationResultThe whole class should be INTERNAL; part of the private interface
 Cgrail::simulation::C45ValueDecisionCounterThe whole class should be INTERNAL; part of the private interface
 Cgrail::PlannerReasoner::Config
 Cgrail::planning::Planner::Config
 Cgrail::ConfigInterpreter
  • used to construct entities and entity groups based on configuration data
 Cgrail::ConsiderationModel
 CYAML::convert< DataType >
 Cgrail::Crc16
 Cgrail::evolution::Crossover
 Cgrail::CurveDataModel
 Cgrail::CurveDataSnapshot
 Cgrail::simulation::Dataset
 Cgrail::simulation::DatasetSampleRepresents elements stored in DataSet. They consist of a vector of consideration values and decision made under those considerations
 Cgrail::simulation::DecisionNode< TDecisionType >Class for internal usage. Decision tree node base type
 Cgrail::planning::Domain
 Cgrail::planning::DomainTranslator
 Cgrail::evolution::EAOptimizer
 Cgrail::Emplacer< T >
 Cgrail::Emplacer< const std::string >
 Cgrail::Emplacer< planning::TypedObjectParameter< std::string > >
 Cgrail::Emplacer< std::string >
 Cgrail::EntityBlackboardNamePair
 Cgrail::EntityEntry
 Cgrail::EntityGroup
 Cgrail::EntityGroupData
 Cgrail::EntityGroupModel
 Cgrail::EntityModel
 Cgrail::EntityNamePriorityPair
 Cgrail::EntityState
 Cgrail::simulation::EqualsForOfflineLearningHelper that provides a EqualsForLearning() method. Used with ISimulatedGameAction only by OfflineLearning
 Cgrail::EvaluationDebugData
  • debug data describing singular evaluator
 Cgrail::utility::Evaluator< ContextType >The Evaluator class - base class being able to evaluate given context and output the result
 Cgrail::EvaluatorNodeModel
 Cgrail::EvaluatorToBehaviorAssignment
 Cgrail::EvaluatorTreeModel
 Cgrail::EvaluatorTreeReference
 Cgrail::evolution::EvoScript
 Cgrail::evolution::GeneForUtility
 Cgrail::planning::GoalRepresents a planner goal, used by PlannerReasoner
 Cgrail::planning::GoalSelector
 Cgrail::GrailConfiguration
 Cgrail::GrailDebugInfo
 Cgrail::GrailStateSnapshot
 Cgrail::simulation::HashForOfflineLearningHelper that provides a HashForLearning() method. Used with ISimulatedGameAction only by OfflineLearning
 Cgrail::IConsiderationProvider< ContextType >IConsiderationProvider - Helper used for acquiring consideration instance, given its name loaded from config file
 Cgrail::IDebugSnapshotReceiver
 Cgrail::simulation::IDecisionBinarySerializer< TDecisionType >
 Cgrail::simulation::IDecisionStringSerializer< TDecisionType >
 Cgrail::simulation::IDecisionTreeSerializer< TDecisionType >A base class for an object that is passed to Serialize() and Deserialize() methods of DecisionTree. Use the concrete implementations such as @DecisionTreeBinarySerializer or @DecisionTreeStringListSerializer
 Cgrail::IEntityChangeObserver
 Cgrail::evolution::IEvoParam
 Cgrail::planning::IGoalAcceptor
 Cgrail::planning::IPlannerObjectThe interface to be implemented by classes that should be converted and bound to plan-space WorldObjects
 Cgrail::IReasonerChangeObserver
 Cgrail::IReasonerFactory
  • responsible for producing reasoners, given their id
 Cgrail::simulation::ISimulatedActionTranslatorTranslates actions defined in SimulatedGame onto Behaviors used in Grail
 Cgrail::simulation::ISimulatedGameActionBase class for all actions in SimulatedGame. Derive from it for your actions
 Cgrail::simulation::ISimulatedGameStateTranslator
 Cgrail::simulation::ISimulatedGameUnitBase class of a unit in the SimulatedGame framework. A unit represents part of the game-state and peforms actions that affect the game-state. You should not create instances of this class. Use specializations @SimulatedGameThinkingUnit or @SimulatedGameStochasticUnit instead
 Cgrail::ISnapshotGenerator
 Cgrail::ITimestampProviderProvides timestamps for debugging purposes, so debug data (e.g. events) can be placed on timeline
 Cgrail::simulation::IVectorizerClasses implementing this interface provide training data in the offline learning process
 Cgrail::LoggerManager
 Cgrail::MemoryPool
  • preallocated memory container for optimization issues
 Cgrail::evolution::Mutation
 Cgrail::planning::ObjectIndexBinding
 Cgrail::planning::ObjectParameter
 Cgrail::simulation::OfflineLearnerThis is the main class you will use to peform the offline learning process. Assign it to the unit of a SimulatedGame. It will gather properly vectorized data. You get access to this data by methods of this class
 Cgrail::utility::Option< ContextType >The Option struct - Helper structure describing one of the options being selected by Selector
 Cgrail::utility::Option< utility::EntityBlackboardPair >
 Cgrail::planning::ParametrizedObject
 Cgrail::planning::PlanA data structure used by PlannerReasoner to execute a sequence of behaviors
 Cgrail::planning::PlannerThe main class responsible for finding paths in plan space
 Cgrail::PlannerActionSnapshot
 Cgrail::PlannerIterationSnapshot
 Cgrail::PlannerReasonerSnapshot
 Cgrail::PlannerWorldObjectSnapshot
 Cgrail::Reasoner
  • Entity's "brain", assigns them behaviors chosen by user-defined algorithms
 Cgrail::evolution::RouletteSampler< T >
 Cgrail::evolution::Selection
 Cgrail::utility::SelectionResultThe SelectionResult struct - Structure containing results of operations done by Selector
 Cgrail::simulation::SimulatedGameThe main interface class for the SimulatedGame reasoner based on the MCTS algorithm. The class supports definition of a game, running simulations and obtaining results
 Cgrail::simulation::SimulatedGameActionMetadataThis class represents action defined in the SimulatedGames module with additional statistics (score, visits)
 Cgrail::simulation::SimulatedGameActionMetadataSnapshot
 Cgrail::simulation::SimulatedGameHelper
 Cgrail::simulation::SimulatedGameHeuristicInterface that encapsulates an algorithm responsible for action-selection inside SimulatedGame (MCTS). This action-selection is performed in certain situations instead of sampling from the whole action space. The goal is to reduce the combinatorial complexity or just provide scripted behavior in certain moments of the game
 Cgrail::simulation::SimulatedGameIterationSnapshot
 Cgrail::simulation::SimulatedGameMonteCarloEventSnapshot
 Cgrail::simulation::SimulatedGameNodeThis class should not be visible to developers at all
 Cgrail::SimulatedGameReasonerSnapshot
 Cgrail::simulation::SimulatedGameRuntimeAn interface that is used to terminate simulation in MCTS and set scores to players. Scores are grabbed from here whenever a simulation ends. It is created automatically
 Cgrail::simulation::SimulatedGameSnapshotObserver
 Cgrail::simulation::SimulatedGameUnitSnapshot
 Cgrail::Sink
  • destination of logger messages
 Cgrail::curves::StepDataThe StepData struct - Helper structure describing discrete values used in Staircase function
 Cgrail::SynchronizedEntityContainer
 Cgrail::TCPServer
 Cgrail::simulation::TreeDataSample
 Cgrail::UDPServer
 Cgrail::simulation::UniqueTreeDataset
 Cgrail::UtilityEvaluatorSnapshot
  • debug snapshot of whole evaluator tree assigned to evaluated object
 Cgrail::UtilityReasonerModel
 Cgrail::UtilityReasonerSnapshot
 Cgrail::UtilitySelectorModel