Disappearing and sticky choices
The default behavior of a weave is to direct the flow of a story along with one of the branches presented by its choices. When the reader makes a choice, the others disappear, and the branch chosen becomes the current flow of the story. Even when rewinding when using Inky to test a story, there appears to only be one valid branch of a weave at any one time.
Anticipating situations where the reader might revisit a part of a story with choices the reader might not have seen before, ink uses the concept of sticky choices to present the same choices again to the reader. Using sticky choices, each remains open during a revisit and can be used again in the future:
You look at the boulder in front of you. + Push the boulder.
Sticky choices are created using the plus sign (+
). They can be thought of as the opposite of a gathering point. Instead of collapsing a weave, a sticky choice keeps open the option within a weave of using a different branch. Any sticky choice created as part of a weave is always sticky, even if it is the only one within the weave:
Example 10:
You look at the boulder in front of you. + Push the boulder. * Ignore it for now.
In the previous code, there are two choices:
- The first is a sticky choice.
- The second would be removed upon a second visit to the code.
In the example, boulder
could be ignored once, but the next time the reader visited the part again, they would only see one option: Push the boulder
.
In examples where the story only flows down from top to bottom, sticky choices seem of little use. Upon making any choice, the story would flow along a branch and to the next lower part in the story regardless of the choice type:
The blank page stared back at me, taunting me. I glanced again at the clock and then back at the page. I needed to write something. + I tried again to write something. I wrote a few words and paused. + I checked my email again. No new messages.
In the preceding example, there is a single weave with two sticky choices. When moving through the story from top to bottom, the weave would be visited once and either choice would branch out and then back together again at the end.
The same example could be made with the other choice type.
Example 11:
The blank page stared back at me, taunting me. I glanced again at the clock and then back at the page. I needed to write something. * I tried again to write something. I wrote a few words and paused. * I checked my email again. No new messages.
Where the two code examples are different is in their intention. In the first, the reader could, potentially, revisit the same part of the story and see the choices again. In the second, the choices are one-way. By making a choice within the weave, they cannot be revisited in a story. Once made, a basic choice is permanent. The only way to change this intention is to use sticky choices that add themselves back to the weave when used.
In the next chapter, Chapter 2, Knots, Diverts, and Looping Patterns, we move into examining loops and controlling the flow of a story across more complex structures. Loops will allow us to revisit the same section of a story multiple times. In these cases, sticky choices will become the default usage for creating options for the player. Because sticky choices remain open, they allow an author to create a weave where a player can select the same option multiple times.