How does the *fake_choice command actually work?


This might be a dumb question, but still. :relaxed:


Pretty much the same as the *choice command. You just don’t have to end every option with a *goto or *finish. Unlike with the *choice command it tends to mess up when the options are combined with things like *selectable_if or *hide_reuse though.


To expand of @Cecilia_Rosewood’s words

From what I know, it allows the author to make a choice branch that converges back right after.

At the end of a typical *choice command, you’d need a *goto or *finish command afterward.
Whereas for the *fake_choice command, you don’t.

For example, this is choice:

        Text here
        *goto label1
        Text here
        *goto label2

And this is fake_choice:

        Text here
        *goto labelA
        Text here
        Text here
Text for B and C here.

Doing this for a normal *choice command would cause an error.


why is it called “fake choice” does choice not matter?


Good question. I think that when it was first implemented most of the options that were available for a regular choice option didn’t work. That’s a long time ago though. Now it’s pretty close to a regular choice option. The amount of meaning and impact the choice actually has will mainly depend on the writer, not on the mechanics behind it. (Like wether you use a choice or a fake_choice command.)


*fake_choice was originally unable to be used with any significant code (e.g. *set would throw up and error), but has since been changed to be used with most things.

It is noteworthy that *fake_choice still does break unexpectedly sometimes. (e.g. Nesting *fake_choices break).

(Personally I still heavily recommend using a normal *choice as good practice if there’s any significant complexity.)


But fake choices are my favorite… :slight_smile: I guess that is a good practice.


I agree
Fake choices are immensely useful. I find them much smoother and less involved. Particularly when dealing with choices that don’t necessarily change direction of the story but rather the ‘feel’.

Edit: but the title “fake choice” is kind of misleading.


I use fake_choice almost exclusively in my CS coding :grimacing:

Maybe it’s laziness, maybe it’s… laziness. See? I couldn’t even be bothered to look up a synonym.

But seriously, fake_choice lets you drop a line or two in for a response, assign a variable maybe, and continue on with the story. It honestly takes the burden off of branching the story onto a whole new path while still allowing the reader to have some (hopefully meaningful) input.


I never use fake_choice, but when I started writing with CS it did very little and a few of us held it in scorn, more of a cheep way to add filler to s story. Of course it’s useful now a days but still have a hard time bring myself to write with it LOL.