![]() |
grail (C
1.1.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
|
▼NGrail | |
►NCore | |
►NConfigHelpers | |
CIReasonerFactory | Responsible for producing reasoners, given their id |
CConfigInterpreter | A class used to construct entities and entity groups based on configuration data |
►NDebugUtilities | |
CDebugInfoGenerator | |
CGrailDebugger | |
CGrailStateSnapshotGenerator | |
CISnapshotGenerator | |
CITimestampProvider | Provides timestamps for debugging purposes, so debug data (e.g. events) can be placed on timeline |
CSnapshotGenerator | |
►NLogger | |
CDefaultSink | The DefaultSink class - sink writing messages to standard system output |
CFileSink | The FileSink class - sink writing messages to file |
CLoggerManager | |
CSink | The Sink class - destination of logger messages |
CIReasonerChangeObserver | |
CAIEntity | Defines a basic object which can execute behaviors |
CIEntityChangeObserver | |
CAIManager | Manages registered entities and shared blackboards |
CBehavior | A high-level abstraction of actions in the game |
CBehaviorSequence | The BehaviorSequence class - specialized Behavior executing sequence of provided subbehaviors one by one |
CBlackboard | Grail's universal data container |
CEntityGroup | |
CPlan | A data structure used by PlannerReasoner to execute a sequence of behaviors |
CReasoner | Entity's "brain", assigns them behaviors chosen by user-defined algorithms |
CSynchronizedVector | |
►NData | |
►NAISystemModel | |
CEntityBlackboardNamePair | |
CEntityNamePriorityPair | |
CEntityGroupModel | |
CEntityModel | |
►NDebugInfo | |
CBehaviorData | |
CBehaviorInstanceSnapshot | |
CBlackboardState | |
CCurveDataSnapshot | |
CEntityGroupData | |
CEntityState | |
CEvaluationDebugData | Debug data describing singular evaluator |
CGrailDebugInfo | |
CGrailStateSnapshot | |
CIDebugSnapshotReceiver | |
CITimedSnapshot | |
CLogData | |
CPlannerWorldObjectSnapshot | DTO - data transfer object / plain data object. Container for debug data that describes state of the WorldObject used by Planner |
CPlannerActionSnapshot | DTO - data transfer object / plain data object. Container for debug data that describes action in a plan |
CPlannerIterationSnapshot | DTO - data transfer object / plain data object. Container for debug data that describes a single iteration performed by Planner |
CPlannerReasonerSnapshot | DTO - data transfer object / plain data object. Container for debug data that describes full snapshot of a Planner in a given time |
►CSimulatedGamesReasonerSnapshot | |
CSimulatedGameActionMetadataSnapshot | DTO - data transfer object / plain data object. Container for debug data that describes SimulatedGameAction |
CSimulatedGameIterationSnapshot | DTO - data transfer object / plain data object. Container for debug data that describes a single iteration performed by SimulatedGame |
CSimulatedGameMonteCarloEventSnapshot | DTO - data transfer object / plain data object. Container for debug data that describes a step (action) and its context in the Monte Carlo Phase (Simulation Phase) |
CSimulatedGameSnapshot | DTO - data transfer object / plain data object. Represents complete debug snapshot of SimulatedGame running for certain number of iterations |
CSimulatedGameUCTEventSnapshot | DTO - data transfer object / plain data object. Container for debug data that describes a step (action) and its context in the UCT Phase (Selection Phase) |
CSimulatedGameUnitSnapshot | DTO - data transfer object / plain data object. Container for debug data that describes state of a unit in SimulatedGame at particular time |
CUtilityEvaluatorSnapshot | Debug snapshot of whole evaluator tree assigned to evaluated object |
CUtilityReasonerSnapshot | |
►NUtilityModel | |
CBehaviorModel | |
CConsiderationModel | |
CCurveDataModel | |
CEvaluatorNodeModel | |
CEvaluatorToBehaviorAssignment | |
CEvaluatorTreeModel | |
CUtilityReasonerModel | |
CUtilitySelectorModel | |
CDataValidators | |
CGrailConfiguration | |
►NEvaluators | |
►NAggregators | |
CAggregator | Base class for an Evaluator aggregating multiple other Evaluators' scores into one output |
CAverageAggregator | Evaluator aggregating multiple other Evaluators' scores into one output by taking the average |
CMaxAggregator | Evaluator aggregating multiple other Evaluators' scores into one output by taking the highest of those values |
CMinAggregator | Evaluator aggregating multiple other Evaluators' scores into one output by taking the lowest of those values |
CProductAggregator | Evaluator aggregating multiple other Evaluators' scores into one output by multiplying all those values |
CSumAggregator | Evaluator aggregating multiple other Evaluators' scores into one output by summing up all those values |
►NCurves | |
CBezierSpline | Composite Cubic Bezier Curve |
CConstantFunction | Constant function |
CCurve | Defines objects transforming one value into the other |
CLowerBound | Lower-bounds output of provided Evaluator |
CUpperBound | Upper-bounds output of provided Evaluator |
CDoubleSidedBound | Bounds output of provided Evaluator from both sides |
CExponentialFunction | Exponential function |
CLinearFunction | Linear Function |
CLinearlyInterpolatedCurve | Curve consisting of multiple linear segments |
CPowerFunction | Power function |
CSigmoidFunction | Sigmoid function |
CStepData | Helper structure describing discrete values used in Staircase function |
CStaircaseFunction | Function consisting of multiple discrete values |
CUnitStepFunction | Unit Step Function |
CConsideration | Abstract type of Evaluator representing a subset of game state |
CEvaluator | Base class being able to evaluate given context and output the result |
CVector2 | Structure describing two-dimensional vector of floats with defined arithmetic operations |
►NEvolution | |
CArena | |
CCrossover | |
CEAOptimizer | |
CEvoParam | |
CEvoScript | |
CIEvoParam | |
CIFitnessProvider | |
CMutation | |
CRouletteSampler | |
CSelection | |
CSelectionDeterministicTopN | |
►NLiveDebug | |
CClientSocket | |
CCrc16 | |
CGrailDebugInfoServer | |
CTcpServer | |
CServerInfo | |
CUdpScanner | |
CUdpServer | |
►NPlanners | |
►NDebugUtilities | |
CPlannerReasonerSnapshotGenerator | |
►NReasoners | |
►CPlannerReasoner | A reasoner which uses planners to find optimal sequences of behaviors based on goals |
CConfig | |
CDomainTranslator | |
CGoal | Represents a planner goal, used by PlannerReasoner |
CIGoalAcceptor | |
CIGoalSelector | An interface used to specify goal selection logic for PlannerReasoner. Implement it if you want to define your own goal selection logic |
CIPlannerObject | The interface to be implemented by classes that should be converted and bound to plan-space WorldObjects |
CObjectIndexBinding | This class represents a binding between in-game objects (Implementing IPlannerObject interface) and plan-space World Objects |
CAction | |
CActionTemplate | A class representing an action that can be simulated by a planner |
CDomain | |
►CPlanner | |
CAbstractPlan | |
CConfig | |
CPriorityQueue | |
CObjectParameter | |
CParametrizedObject | The base class representing parametrized objects used by the planning algorithm |
CTypedObjectParameter | |
CWorldObject | |
CWorldObjectType | A class representing a planner WorldObject type - its name and inheritance structure |
CWorldState | A class representing planner world state |
►NSerialization | |
CIClassSerializer | |
CYamlSerializer | |
►NSimulatedGames | |
►NDebugUtilities | |
CSimulatedGameReasonerSnapshotGenerator | |
►NDecisionTree | |
CDecisionNode | |
CDecisionTree | |
CDecisionTreeBinarySerializer | Used to serialize decision tree in a binary mode. Pass object of this type to the DecisionTree.Serialize method |
CDecisionTreeStringListSerializer | Used to serialize decision tree in a text mode into array of strings. Pass object of this type to the DecisionTree.Serialize method |
CIDecisionStringSerializer | A class that defines objects that can serialize decisions (e.g., actions in SimplifiedGame) to a string |
CIDecisionBinarySerializer | A class that defines objects that can serialize decisions (e.g., actions in SimplifiedGame) to a binary format |
CIDecisionTreeSerializer | 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 |
►NOfflineLearning | |
CC45Algorithm | This class encapsulates the C4.5 Algorithm used to generate a decision tree (see Grail.Simulation.DecisionTree) based on the dataset provided |
CDataset | Container for data in form of [consideration_values][decision], where consideration values are [float, float,...,float] and decision is TDecisionType. USe it for training the decision tree |
CDatasetSample | Represents elements stored in DataSet. They consist of a vector of consideration values and decision made under those considerations |
CIVectorizer | Classes implementing this interface provide training data in the offline learning process |
COfflineLearner | This 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 |
CTreeDataSample | Structure for storing results in UniqueTreeDataset |
CUniqueTreeDataset | A class that stores samples, which are values for given considerations (conditions in decision tree) together with statistics of decisions performed under those considerations. When the learning process is stopped, then you can convert this object to a flat Dataset, that picks the most frequently chosen decision for each sample |
►NReasoners | |
CSimulatedGameReasoner | The reasoner that encalpsulates the SimulatedGame technique which is based on Monte Carlo Tree Search |
CISimulatedActionTranslator | Translates actions defined in SimulatedGame onto Behaviors used in Grail |
CISimulatedGameAction | Base class for all actions in SimulatedGame. Derive from it for your actions |
CISimulatedGameHeuristic | Interface 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 |
CISimulatedGameStateTranslator | |
CISimulatedGameUnit | Base 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 |
CSimulatedGame | The main interface class for the SimulatedGame model based on the MCTS algorithm. The class supports definition of a game, running simulations and obtaining results |
CSimulatedGameActionMetadata | This class represents action defined in the SimulatedGames module with additional statistics (score, visits) |
CSimulatedGameRuntime | An 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 |
CSimulatedGameSnapshotObserver | |
CSimulatedGameStochasticUnit | A base class of a unit in SimulatedGame that peforms actions according to some probability distribution. It does not represents any players in the game. It should be used if either (1) randomness affects actions available to other players (2) randomness heavily affects the game outcome. Random effects should be applied as actions of SimulatedGameStochasticUnit |
CSimulatedGameThinkingUnit | A base class of a unit related to a rational/intelligent player. MCTS chooses actions for this kind of unit. See also SimulatedGameStochasticUnit. All units together represent the game state |
►NUtility | |
►NConfigHelpers | |
CIConsiderationProvider | Helper used for acquiring consideration instance, given its name loaded from config file |
CUtilityReasonerFactory | A helper class used for creating Utility Reasoner instance using configuration data |
►NDebugUtilities | |
CUtilityReasonerSnapshotGenerator | Class responsible for generating snapshots of utility reasoner's state, which can be analyzed in Grail Tool |
►NReasoners | |
CUtilityReasoner | Class responsible for assigning behaviors using Utility System algorithm. All considered behaviors are given a score designating their utility in current situation. Most suitable behavior is chosen based on those scores |
►NUtility | |
COption | Helper structure describing one of the options being selected by Selector |
CBlueprint | Responsible for producing contexts and instances of data used by UtilityReasoner |
CSelectionResult | Structure containing results of operations done by Selector |
▼NGrailTests | |
►NConfigLoading | |
CGetMedkit | |
CFight | |
CComplexUtilityConfigTests | |
CConsiderationProvider | |
CDummyConsideration |