Thoughts on how to interconnect passages - jackdarker/TwineTest GitHub Wiki
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