Grail (C#)
1.4.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
|
Namespaces |
Classes | |
class | Action |
Action object used in planning. Actions are instances constructed based on ActionTemplate. A planning entity takes actions in order to change the world state. More... | |
class | ActionTemplate |
A class representing a model (family) of an action that can be simulated by a planner. Action objects are produced based on the ActionTemplate. More... | |
struct | Domain |
This class represents a complete planning domain. It includes all the defined types of world objects and templates of actions. More... | |
class | DomainTranslator |
An abstract class to implement that is responsible for translating an in-game world state to a plan-space world state. and from abstract plan to behavior sequence It serves as a translation layer between the planning AI and the rest of the game. More... | |
class | Goal |
Represents a planner's goal to achieve, used by Reasoners.PlannerReasoner. A single planning problem may have multiple Goals defined. More... | |
interface | IGoalAcceptor |
An interface indicating that the implementing class maintains a goal for planning. In particular, the Reasoners.PlannerReasoner implements IGoalAcceptor to track the current goal. More... | |
interface | IGoalSelector |
An interface used to specify the goal selection logic for Reasoners.PlannerReasoner. Implement this method if you want to define your own goal selection logic. The planner will aim to construct plans that satisfy this goal. More... | |
interface | IPlannerObject |
The interface to be implemented by your game classes that should be converted and mapped to plan-space WorldObjects. More... | |
class | ObjectIndexBinding |
This class represents a binding between the in-game objects (Implementing IPlannerObject interface) and plan-space objects (used internally by the Planner) by means of WorldObjects. Each mapping has an index associated that corresponds to the ordering in the list returned by the DomainTranslator.GeneratePlannerObjects(Core.AIEntity, Goal) method. More... | |
class | ObjectParameter |
class | ParametrizedObject |
The base class for parametrized objects (objects with parameters) used by the planning algorithm for state representation. More... | |
class | Planner |
The main class encapsulating the planning algorithm in Grail. Responsible for finding paths in an abstract plans space. You can use this class directly (as a raw algorithm) or indirectly through a Reasoners.PlannerReasoner instead. More... | |
class | PriorityQueue |
class | TypedObjectParameter |
A template version of ObjectParameter with a type that is stored in the class. Internal class only. | |
class | WorldObject |
WorldObject is the main building block of the state-action representation used in the Planner model. It represents some entity in the planning space. It has a unique type (e.g. a 'monster') [with multiple inheritance supported] and any number of parameters (e.g. 'position', 'health'). Hence WorldObject is a specialization of ParametrizedObject WorldObjects can be subjects to various actions. More... | |
class | WorldObjectType |
A class that represents the type of WorldObject used in planners. It essentially holds a unique ID determining the type, the name and inheritance structure (types and therefore objects can be organized into inheritance structures). More... | |
class | WorldState |
A class representing the planner state. The state consists of WorldObjects. The planner aims to find the most cost-effective path from the initial state to the goal state. The WorldState also determines action-related aspects such as their legality. WorldStates can be modified through applying actions' effects. More... | |
Functions | |
delegate bool | ConditionFunction (WorldState worldState) |
A function delegate representing a single goal condition for a planner. It should return true if the particular goal has been reached and false otherwise. More... | |
delegate float | PlannerHeuristic (WorldState worldState, IReadOnlyList< ConditionFunction > goalConditions) |
A heuristic evaluation function of a plan. It should return an estimation of a distance (abstract cost) from the given state to the states satisfying the goalConditions. The estimation does not need to be very precise, but the planner works better if it does not overestimate the distance (cost). More... | |
delegate void | PlanFoundDelegate (Planner.AbstractPlan plan) |
A delegate for the PlanFound callback. More... | |
delegate bool Grail.Planners.ConditionFunction | ( | WorldState | worldState | ) |
A function delegate representing a single goal condition for a planner. It should return true
if the particular goal has been reached and false
otherwise.
worldState | The current state to check the condition in. |
delegate void Grail.Planners.PlanFoundDelegate | ( | Planner.AbstractPlan | plan | ) |
A delegate for the PlanFound callback.
plan | The plan found. |
delegate float Grail.Planners.PlannerHeuristic | ( | WorldState | worldState, |
IReadOnlyList< ConditionFunction > | goalConditions | ||
) |
A heuristic evaluation function of a plan. It should return an estimation of a distance (abstract cost) from the given state to the states satisfying the goalConditions.
The estimation does not need to be very precise, but the planner works better if it does not overestimate the distance (cost).
worldState | The current state to calculate the distance (cost) form. |
goalConditions | The goal conditions that define a family of states to calculate the distance to. |