Story Structures[edit | edit source]
The structure of all stories in Cyber Knights is created by moving between story nodes, Legwork and missions.
A Story Node represents a key state in a story, a moment where you can pause and say "the story is right here for now until time runs out or I make a decision." As a story progresses, its Story Nodes are made active (added to the database) and removed when completed in some form. Generally, one Story Node will one or more additional Story Nodes, Missions or Legworks before it is removed until the end of the story when a cleanup Story Node is the final node.
While a Story Node is active, Blocks that link to it are shown on the timeline, merc roster page or contact page. So, if we are in this moment of the story, we can see which Blocks (conversations you can start / actions you can take) are available by looking for Blocks which have a StoryNodeId matches the active StoryNodeId.
For a storyline, the the flow is generally like this:
- The starting Story Node is added by a Vignette, ProcGenLegwork or ProcGenMission Block.
- The Story Node either expires (forcing an action) or the player interacts with one of its Blocks manually
- The resulting Block executes, which usually runs a Dialog and presents a Choice to the player.
- The final result of this Block execution is the addition of a Mission, Story Node or Legwork (or more than one), which moves the story forward, perhaps to a period of waiting, to a tactical mission or to another decision point.
- Eventually the story concludes and a cleanup Story Node is added.Note that all stories are responsible for their own cleanup. If a storyline tagged contacts and players with a TempStoryId, created temporary characters, or any other temporary changes, the cleanup StoryNode is responsible for cleaning those up and removing TempStoryIds. All exits - early, late or anywhere in between - from the storyline need to lead to a cleanup node (there might be multiple, depending on story complexity)
