How does the *fake_choice command actually work?


#1

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


#2

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.


#3

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:

*choice
    #choice1
        Text here
        *goto label1
    #choice2
        Text here
        *goto label2

And this is fake_choice:

*fake_choice
    #choiceA
        Text here
        *goto labelA
    #choiceB
        Text here
    #choiceC
        Text here
Text for B and C here.

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


#4

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


#5

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.)


#6

*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.)


#7

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


#8

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.


#9

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.


#10

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.