Limit to # of scenes?

Hi, all,
Is there a limit to how many scenes you can use? I am finding it’s going to be easier if I keep scenes fairly short.

What criteria do you use for dividing your content into scenes?


Nope you can have as many scenes as you want. You just have to put in the scene list in startup.

As for dividing scenes/chapters, I usually do it after a particularly important event or at a cliffhanger to keep people guessing

1 Like

You only have to put in the scene list in startup the scenes that “flow”; that is, so you can end a scene with *finish and have ChoiceScript move along to the next scene in the list. In the game I am working on right now there are seven or eight branches, so most of the time I am navigating using the *goto_scene command. I don’t have to include in the scene list the scenes I get to using that method…

Some folks have referred to seeing ChoiceScript slow down if scenes get long, but I don’t know where the upper limit is. Over 5,000 words?

1 Like

I have a scene that contains over 33,000 words (well, a certain portion of it is code, of course), and I haven’t had any performance issues with it, nor had any reported. So scene size shouldn’t be an issue. On PCs, at least. I haven’t played that scene on a phone or tablet.

I have a 45k word scene in Blackraven and the same again in Colonising Kepler 62e. Neither have given me performance issues. The Blackraven scene is heavily code based whereas the Kepler scene is cyclic (each year some text is repeated before the new part of the story begins).

People use the scene list? My stories always branch out too much for them.

I like to use the scene list just to keep track of all the scenes in my game and plot out a rough course. But since you can basically play all of the scenes in any order (so far, at least), the scene list won’t matter for me.

COG asks you to put all of the scenes in your Scene List, even if you don’t follow them in that order. I suspect that it’s so that Quicktest checks them. I use *goto_scene to get around too. :smile:

Quicktest seems to check scenes that are not in my scene list.

About dividing the scenes: I tend to create a new scene when I have used a couple of *if branches and now I have to space in a million times before I start writing the text. Makes it cleaner for me to put *goto_scene thatthingthathappens and start out in that new scene all nicely left-justified.

@Cottage14, you can use *label and continue from the first column, as long as all inner branches are directed to a label with a *goto.

For example:

Do you go to the forest or the mountain?
    As you walk you see an elf. Do you speak or attack?
        *goto speak_to_elf
        *goto attack_elf
    As you climb higher, you see a cave.  Do you enter or keep climbing?
        *goto enter_cave
        *goto climb_mountain

*label speak_to_elf
You try to talk elvish but accidentally insult the elf.  He sends an arrow through your eye, killing you instantly.
*goto_scene game_over

*label attack_elf
You charge the elf, but he is too quick for you.  Before you reach him, he has fired his bow and you take an arrow to the knee.  You drop to the ground helpless and wait as the elf cuts off your head.
*goto_scene game_over

*label enter_cave
You walk into the dark cave and immediately wish you hadn't,  Inside is a medium sized dragon and you've just interrupted his daily snooze.  Disgruntled, you don't even have time to apologise before the dragon incinerates you in a ball of fire.
*goto_scene game_over

*label climb_mountain
You continue stubbornly up the mountain.  With your focus firmly on the climb ahead, you don't notice the storm moving in fast behind you.  The temperature drops suddenly and you do your best to shelter yourself from the downpour.  As the winds pick up the rain turns to hail.  Frozen in place, you die a cold death.  To add insult to injury, when you are eventually discovered 600 years later, your frozen body is accidentally dropped down the mountain, smashing into 1000's of pieces.
*goto_scene game_over

yes, I use that method as well. Thanks!

Well, although I cannot say much about other people, I have a scene containing 550k words, yet I do not have any trouble loading it at all due to the way it is split up. I find that if you make everything accessible, but optional to explore, then no loading errors should occur.

1 Like

This might be a stupid question, but what is the point of having scenes at all?

It’s part of our recommended style for writing a game: a linear series of vignettes, where choices in each scene update stats and are affected by stats.

The alternative structures for interactive novels tend to be a lot branchier; at one extreme, you’d branch the plot at every *choice, which requires the author to write exponentially more content, the vast majority of which is never seen on a given playthrough.

1 Like

This has actually been a really interesting discussion. I’ve been following the CoG recommended style that Dan mentions, and frankly it had never occurred to me to do it another way. So to see people saying that they view their scenes as almost a random collection of data, or to ask why bother listing them at all, is eye-opening. (I’ll keep doing things the same way though.) It would be interesting to hear about other ways people have moved away from the “recommended” way of doing things. Anytime somebody uses an outside-the-box approach can be enlightening.

I have one WiP that is quite linear: no matter what you do or the choices you make, you are going to hit certain milestones and have to try to jump through certain hoops. This game submits quite well to the recommended style.

My second WiP is more like a bouquet of stories with the same MC, so although the original story has a linear pile of scenes you go through (and that are listed in startup.txt), once you hit a branch you are on a parallel or diverging stack of scenes. Depending on your choices, you may never get back to the “main” branch.

I’d say 5k-10k is the ideal length. One of my scenes is about 40k and it doesn’t seem slow at all. :stuck_out_tongue:


I am prepping a game for submission to the CoG competition and I have a question about the scenes list in startup.txt. I mentioned in an earlier comment that my habit is to include in the scenes list only the scenes that form the trunk of the story, and to not include there the scenes that one gets to through a *gosub_scene command.

Is that okay? Or does CoG prefer that all the gosub_scene scenes also appear in that list, perhaps after the “last” scene?

Please advise.

All games should be in the *scene_list, yes. It makes the automated testing tools work better.