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.