Goals
In the GOAP system, Goals
represent the desired outcomes or objectives that an agent aims to achieve. They serve as the starting points for the Planner
, guiding it in determining the most suitable Action
to take in order to fulfill a particular Goal
.
Goal Config
The GoalConfig
provides the necessary settings to define and shape a Goal
. It encompasses several properties:
1. Class Type
Description: This property specifies the exact type or category of the Goal
. It helps in identifying and categorizing different goals within the system.
2. Conditions
Description: Conditions are a set of criteria based on WorldKeys
that must be met for the Goal
to be considered achieved. These conditions guide the Planner
in its decision-making process, helping it select the best Action
that aligns with the desired outcome.
For instance, if a Goal
is to "Stay Safe", conditions might include WorldKeys
like "IsHealthHigh" or "IsInSafeZone".
Goal Class
The Goal
class serves as the blueprint for creating specific goals. Key points about the Goal
class:
Inheritance: Every
Goal
class is derived from the foundationalGoalBase
class. This ensures that all goals share some basic properties and behaviors.Statelessness: A
Goal
class doesn't maintain any internal state. Its primary role is to provide criteria to thePlanner
, which then uses this information to decide on the most appropriateAction
to execute.
By understanding and configuring Goals
appropriately, game developers can guide agents towards desired behaviors, ensuring they act in ways that enhance the gameplay experience.
Example
Last updated