-
Notifications
You must be signed in to change notification settings - Fork 0
Thoughts on how to interconnect passages
The main reason I wanted to use snowman was that without scripting one can only create a stateless story.
This would mean that all passages are fanned out in a predetermined, static manner.
(Each passage is connected with static links to other passages. They are available indifferent of the players previous actions.)
By adding state (-variables) you an create a dynamic topology.
(You can check in a passage a state-variable and unlock passage-links by condition.)
( Also see here for implications of state-driven passages )
The problem with the state-driven design is that you can quickly loose overview how your passages interconnect, which path is avaliable at which condition.
In a stateless design your passages would be fanned out like the branches of a bush. You would just have to add new passages into a branch without having to ponder what state is changed in every passage !
To keep things organized I suggest to:
- organize passages in into chapters/ daily timeline with a controlled number of passages as entry and exit point
- by limiting the interconnections between chapters, it reduces the locations where you have to maintain code and also reduces overall complexity
As an example:
- you might define a 'wakeup'- and 'sleep'-passage that will be always the start and end of the players daily schedule
- from there you might branch out to different passages of daily routine
- but you can be sure that you will get back here and cleanup the mess that might be created
What is twine and interactive fiction
Exampl. SuperSimpleStory
What are storyformats
Why snowman
Setup tweego and snowman
Switching between Tweego and Twine
Snowman template methods
Snowman markup
javascript usage
debugging your story
Common issues with template methods and scripting
Story Telling in general
General concepts for IF
Scenes & Sequels
Designing Puzzles
See here about my js-framework running in snowman:
==> problems & solutions <==