PassiveGoal

StoryEngine only considers relevant entities when advancing the narrative and PassiveGoals are evaluated only when an actor is potentially relevant to a narrative change. For example, all entities in the same location are collectively considered if a change occurs in that location. This allows StoryEngine to efficiently scale the narrative across many entities.

Every PassiveGoal has a GoalDefinition that describes its completion criteria and the actions that occur when the PassiveGoal completes.

Event Handling

Games that use StoryEngine define their own event types to describe actions that occur in the game. Games then send typed events to StoryEngine to indicate an action has occurred. For example, that an actor has picked up an item or changed location.

Use a PassiveGoal with a ValidEventType if the goal completes when a specific actor takes a specific action in game. For example, if Wes has a goal to open a cookie jar, the PassiveGoal’s GoalDefinition is configured with a ValidEventType of “OpenCookieJar”.

PassiveGoals without explicit owners but with ValidEventTypes will be considered every time an event arrives with the given type. The PassiveGoal will be evaluated on behalf of the owner of the event. This allows for the creation of PassiveGoals that are reusable by any actor, and not just specific actors.

Additional Completion Criteria

Use GoalDefinitions to describe any additional criteria that must be met to complete a goal.

See GoalDefinition for details