Actor
An actor represents a playable or NPC character in the narrative world. When a game is built using StoryEngine, each narratively impactful game character also has a StoryEngine actor.
Actors have additional descriptive data that defines how they interact with the narrative.
Facts
Facts describe an actor’s characteristics. They are used by StoryEngine to understand how to represent the actor in the narrative world. Typical facts include descriptions of physical appearance, personality, speech patterns, likes and dislikes.
See Fact for more details.
Memories
Memories store what the actor knows. They are used to inform how a player behaves, especially in conversations. Memories are considered when speaking with other actors and can be shared between actors through the course of conversation. Not all memories are equally sharable. Memories can have optional MemorySharingRules that describe what must be true for a character to make use of a memory.
See Memory for more details.
Goals
Goals describe what an actor is trying to accomplish. Every action an actor takes in the narrative world considers and is motivated by the actor’s goals. As the narrative world changes, goals can be completed. For example, Sophia may have a goal to meet James. As Sophia has conversations with other actors, her goal will cause her to ask if they know where James is. Upon locating and encountering James, Sophia’s goal to meet James will be completed.
When a goal completes, Actions can be triggered.
Actions
Goals can trigger two types of actions when they complete. Every goal can have multiple actions of each type.
MutationActions
A MutationAction describes how the narrative world changes as a result of the goal completion. Some changes could be simple, perhaps simply adding a memory that Sophia met James. Others goals could be more consequential. For example once Sophia meets James, a foretold prophecy has been realized, and the spirits rise up to regain control of the planet.
See MutationActionDefinition for more details.
RenderActions
RenderActions generates messages sent back to the game that describe what changed in the world. These messages are the core of how the narrative in StoryEngine is surfaced back to the game.
See RenderActionDefinition for more details.
ActiveGoals
ActiveGoals are continually evaluated to determine if they have completed. Use ActiveGoals if the completion conditions are not directly tied to the owning actor’s interactions.
See ActiveGoal for more details.
PassiveGoals
PassiveGoals are evaluated every time an actor interacts with the narrative world. These are the typical goals owned by actors.
See PassiveGoal for more details.