If you need to do more complicated branching, you can use goto to jump to a different section of the story by referencing a label. You can give the label any name you wish. Example:
ANGIE
Wanna come to the bar again?
choice
“Sure” {
YOU
Yeah, let’s go
goto the_bar
} “No” goto studying
label the_bar
INT. MIKE’S BAR - NIGHT
YOU
It is so loud in here!
label studying
YOU
No thanks, I have to study.
This is also a good way to merge two different branches back together, by directing both branches to goto the same label when they are done:
goto MERGE_THIS_BRANCH
Then later in the story, you would have a label MERGE_THIS_BRANCH:
label MERGE_THIS_BRANCH
In this example, we merge the above split in the decisions back into one story, using the label my_home:
label the_bar
INT. MIKE’S BAR - NIGHT
YOU
It is so loud in here!
I think I should head home.
goto my_home
label studying
YOU
No thanks, I have to study.
But thanks anyway
goto my_home
label my_home
YOU
I’m glad to be home.
You can also merge branches simply by closing the brackets around them. If you have a choice with no “goto” command, it will take the reader to wherever its brackets close.
ANGIE
Where in the script should I go?
choice
“Far To The Future” {
ANGIE
I’ll go far into the future
goto FAR_FUTURE
} “Where You Are Now” {
ANGIE
I’ll just stay right where I am.
}
ANGIE
See, where I am is really nice.
NARRATOR
Time Passes.
label FAR_FUTURE
ANGIE
Now I am in the future!
The first choice would take the reader to label FAR_FUTURE and skip everything in between. The second choice would just bring the reader back to the script.