A scene in Storytron 2.0 (S2) has these criteria:
- It is text-based
- It is an interaction between two principal actors, a protagonist and an antagonist
- One of the actors is the protagonist of the storyworld
At a later date other rules could be added such as allowing other actors to witness a scene, allowing more than two actors to be principals, or allowing the protagonist to be only a witness to a scene between two other actors. But for now let’s limit ourselves to the three criteria listed above.
To create a scene we’ll need some sort of scene editor. We could use a generic text editor, like was initially outlined in the original anecdote documentation for the failed Siboot 2.0 project, but even that method was superseded by a dedicated encounter editor. Yes, a text editor could be used at some point to experiment with the format for a saved scene list but creating more than one or two scenes that way is a laborious process, prone to error. So a dedicated editor is the goal.
Version 0.1 of the scene editor will have the following functions:
- As an author, I want to be able to create a new scene
- As an author, I want to be able to delete an existing scene
- As an author, I want to be able to edit a scene’s introductory text
- As an author, I want to be able to see all the scenes I have created in a scene list
- As an author, I want to be able to save my scenes in a JSON scene file so I can continue my scene editing at a later date
- As an author, I want to be able to load a JSON scene file into the scene editor so I can continue editing my scenes
You wouldn’t be able to do much more with this version of the scene editor than create new scenes, edit existing ones, save the entire group of scenes to a file, and load them back into the editor for editing.
Version 0.2 of the scene editor could have the following functions:
- As an author, I want to select one scene in my scene list as the starting scene
- As an author, I want to be able to reorder my scenes in the scene list
- As an author, I want to be able to “play” my scenes in the order that they appear in the scene list
- As an author, I want to be able to “step forward” through my scenes one by one while playing them
- As an author, I want to be able to “step backwards” through my scenes one by one while playing them
Playing the scenes means simply display individual scene introductory text in the same area where you edited that same text (in Play mode the text is read-only). Stepping backwards or forwards displays the text from the previous or next scene in the scene list.
This limited interactivity doesn’t add much drama but it does provide us with a basic mechanism for moving between scenes, one that will eventually be controlled programmatically via player choices.
Additional features will need to be added to the scene editor to make is useful for interactive storytelling purposes. Things like:
- The ability to specify actors for a scene (which means we’ll need an Actor editor with a Protagonist checkbox)
- The ability to specify scene prerequisites, i.e. scenes that must take place before the selected scene can be played (maybe scene list order can help with this)
- The ability to specify scene disqualifiers, i.e. scenes that must not take place before the selected scene can be played (maybe the scene list order can help here too)
- The ability to enter LGBTQ+ text variables into the introductory text
- The ability to enter variable protagonist and antagonist names into the introductory text
- The ability to exclude certain actors as protagonists or antagonists
- The ability to create protagonist scene choices that are selectable when playing a scene
- The ability to edit antagonist emotional reactions, i.e. “feelings,” for each options (which means we’ll need a personality model and personality editor)
- The ability to specify earliest and latest “day” parameters for each scene (though what’s a “day” and do we even want to introduce this type of restriction)
- The ability to create antagonist reactions to a protagonist choice (how many?) and allow an antagonist to choose a reaction programmatically
This list of potential features comes from the old Storytron 1.0 encounter editor and all of them might not be migrated over to the scene editor.
Hopefully, the open source nature of Storytron 2.0 development will result in a tool that is more widely usable by a greater group of interactive storytellers.