How do you "show" choice in choice-based IF?

It sounds like the sort of thing that would be particularly useful for non-linear IF where you are exploring a space and the objective isn’t simply exploring that space.

That’s a perfect definition of the situation I’m in! And I absolutely loved Universal Hologram, I’m still working my way through the entries but so far it’s the game of the comp for me. I wonder if that says something about outsiders vs veterans…

I just wanted to add something completely pointless because you were already doing it, but having the undo and redo buttons available is really important for me, especially for an explorative work like yours. The ability to go down a path and see whether it is a legitimate path is really useful for me in being able to see as much as I can of a piece while only being able to commit to playing it once. I did that so I could refuse to go to U1, and then I backtracked out of that ending and went the other way as well.

I did just have a dig around in your code though (sorry if that’s not okay!) and I will say that there seems to be a major splitting point depending on whether $hex is true or not. But the decision that can set $hex to true seems very inconsequential in the narrative. As a player you’ve already made plenty of choices which seem to have a similar magnitude (why would whether we get out of bed or not be any more important than if we eat yellow instead of green?) so it doesn’t really register as an important splitting point. Also, while I love how you’ve marked the more graphic choices so that people who don’t like that content can avoid it, it does feel like important decisions wouldn’t be locked behind one, which in this case one is. How you actually solve that problem, I don’t know. What I would try to do would be to work it into the prose, like have the PC actively think about how this is an important decision. But for obvious reasons that might not make sense in context.


This is very kind, thank you!! :slight_smile:

You’re absolutely right about the $hex thing, there’s really no reason to expect that to be a major turning point, which was sort of by design—I originally intended one of the major pathways to be significantly more horror-tinged than the others, as the game in its early stages was much closer to horror than it ended up being, and I wanted to keep that more gnarly option available without making it seem super consequential.

Anyway, you’re right, I can’t complain given that it’s impossible to discern that passage as a turning point without playing through multiple times. Though, it has been fun seeing people finishing the game and thinking they’ve reached the same ending as everyone else but describing it quite differently. I had a beta tester tell me to either add more optional gore or remove the nasty stuff (and the purple links) entirely, and I can’t say whether I was right to ignore that advice.

I intend to number the endings but probably won’t change more than that in Universal Hologram, but I’ll certainly take all the excellent advice in this thread and apply it to my future games!


I want to give my CYOA game maximum repeatability. As I am in the middle of the development (11/22 chapters), I think I can share my experience about the choices, as most of my reviewers keep praising my game for the “choices [that] matter to the point of being overwhelming” or “you actually can feel that the choices that you make actually make some real changes in the game”.

I based the core mechanics on the choices. There are 6 Approaches that I borrowed from tabletop FATE (Careful, Clever, Flashy, Forceful, Quick, and Sneaky). The highest three Approaches matter to the result of the challenges. If two or more are equal, the player chooses between them. There’s information which Approach would rise after clicking on the link. As I try to have the choices balanced, there’s a way to adjust the Approaches even in further chapters or to decide for a more consequent role play.

The challenges where Approaches matter are quite easy to notice - if MC escaped or persuaded NPC, how many actions are available, and so on.

The second mechanics deeply depends on the choices is a switch. Switches are the key points of my story. There are binary: the player earned the trust of the NPC or not, the NPC treats the relationship with the player seriously or not, and so on. The outcome of the switch depends on visiting certain passages, the set of Approaches, and the outcome of the challenges. The switches are visible to the player. There’s a frame where you can see how many points you get and the final outcome.

The players claim that it would be useful if the passages that mattered in the switches were marked, so I add the headings inspired by Telltale’s “The Walking Dead” “Caroline will remember that” (for example, “you acted friendly with Caroline”, “Justin and Claudia had another squabble because of you”). I think that in the final version I will add the option to hide those headings.

Another idea I implemented from Telltale is the summary of the chapter. I put there the most important events that could occur differently. I publish the walkthrough for my supporters on Patreon and SubscribeStar based on those summaries.

I have to say, I’m very satisfied with how the choices work so far. My game follows the Branch-and-Bottleneck pattern, and I spend a lot of time on character development and worldbuilding. So, there are a lot of scenes that don’t lead the main plot, but as they are the possibilities to get more points on the certain Approach or they could be important for the outcome of the switch in the further game, they don’t serve only the narrative, but they are the integrated part of the game. And this is a goal I wanted to achieve.


One thing I love when I’m looking at what makes a game make me think it’s giving me valid choices is not just tracking variables but displayingthose tracked variables. For example, I play several games, both Ren’Py and Twine, in which important information … usually affection with the currently onscreen NPC … is easily available. In Ren’Py it’s usually automatically displayed in one corner or another, and in Twine (usually Sugarcube) it’s generally available on the sidebar. But in one Twine game I play regularly, there are multiple links at the top of nearly every page that display your inventory, your phone (leading to a list of NPCs who’ve given you their phone numbers), your basic stats and skills, other characters’ profiles, and tasks you’re expected to accomplish, and when you’re expected to accomplish them. And even though THAT particular game basically provides no escape from the character’s eventual fate, the many weird ways in which one can submit to the inevitable.

Anyway … letting your player see the changes that his/her choices have made (think about displaying the changes @HiEv described in his first response here) can only … so long as a choice is in any way impactful … improve the player’s impression that his or her choices make a difference.


True. If your game exposes its variables throughout, it doesn’t take long to show that something is changing them. If early experimentation proves that what you do causes those changes (which is to do with storytelling, good handling of variables and apt use of choices), then the player is likely to trust that later choices also matter. It’s always possible to overplay or underplay the significance of a given choice by accident, but basic trust is established.

For that matter, just exposing some variables is sufficient if the storytelling is structured appropriately and early choice consequences make it clear that choices mean something and aren’t just flavour text. (She says, hopefully, given she’s only chosen to expose three relatively consistently…)

1 Like

I was reading the latest 50 Years of Text Games about Versu (2013: A Family Supper - by Aaron A. Reed) and found this fun quote:

Distribution issues aside, Short would later reflect that because the game’s systems hid so much complexity beneath the surface—and behind an interface that looked like a traditional choice-based menu—players often had a hard time grasping the true extent to which its engine was procedural. “The typical experience of a player of ‘Blood and Laurels,’” wrote Graham Nelson, “is to feel on a first play-through that everything is plotted out like a thriller: it’s on a second try, where it all plays out entirely differently, that people begin to appreciate the depth of the simulation.”

Strong shades of that one thread where Mathbrush did a review summary of all the Choice of Games games and people were saying that the vast majority of all players will run through a game either once or twice. Going in the total other direction to the world simulation approach - making it feel reactive while also not being reactive - is a perfectly valid choice too.


In my review of Universal Hologram I mentioned that it seemed linear with explorable sections. This might be a total misread on my part, I did only play it once and then revisit the start for quotes. If there were major branches, I didn’t realize it.

I also didn’t mean this as a criticism, just characterization. My favorite entry so far, The Waiting Room, I would also characterize as mostly linear (on the spectrum of IF).

Something I did struggle with once or twice in Universal was feeling like my choices were informed enough to be interesting. That probably overlaps with some of my difficulty with the tone and genre; I didn’t set a goal for my protagonist, which made individual choices feel less meaningful.

I feel like I trip on this a lot in IF though. There’s a great example in another comp game,

Alexisgrad: (Caveat, this is from memory) The player is asked who should go apprehend the target,

  • The Colonel
  • The Lieutenant
  • Do it myself

But as the player I don’t know much about the Colonel or the Lieutenant, so although it’s a choice I have no reason to pick one over another.

I think it’d be better if these choices included some in-character reasoning:

  • The Colonel, who is cold and efficient
  • The Lieutenant, who is expendable
  • Do it myself, do it right

This gives a peek-around-the-corner at a possible future without spoiling anything.

That glimpse of the road not taken goes a long way towards making me feel like something is a “real” choice, or at least engages my brain in a different way.


That sounds like a characterisation issue. (There is definitely an attempt to characterise both side characters in Alexisgrad, based on watching their previous reactions and comments. I found it convincing but if you did not, that would have made the subsequent choice feel arbitrary).


Stacey Mason’s recent PhD thesis Responsiveness in Narrative Systems seems like it’s relevant to this thread: it’s all about providing some possible ways to look at the question of “what makes a player feel like the game is responding to them?”


One other method I’ve seen of making a player feel like his or her choices make a difference (in exactly one Sugarcube game) is that, when a choice is unavailable, it’s visible but grayed out and unusable (I’ve no idea how this is accomplished; I assume by using an if/else or if/elseif statement and replacing unusable links with plain text, but I’m a huge n00b when it comes to Twine). Not only is the choice unavailable, but it tells you why it’s unavailable. This might seem, to some, like either a way to cheat or something that spoils the fun and makes the player ask, “Why are you telling me about this choice that’s unavailable to me?”

I really don’t see it that way, at least in the game I’m thinking of. It’s tough to cheat with this because some choices require personality quirks or skills that the player either acquires or chooses not to 'way back at character creation. And I don’t see it spoiling the fun, but rather encouraging and enhancing the value of replays. Thoughts?

1 Like

This was discussed in a few replies earlier in this thread, starting here.

I think there are times when showing unavailable choices works, and others where it does not. It depends on the game’s construction, who it’s aimed at and what makes sense in context.

Very interesting and helpful replies here.

In Forgotton Anne (which I say is also a choice game) the major decisions are marked by the fact that there isn’t any single clear choice to be made – there are two or three choices being passionately advocated for. Characters shout conflicting opinions about what they want an outcome of a situation to be.

  • These contradictions and contestations can really help you understand as a player that there are multiple outcomes that could happen depending on your choices. (The major decisions are typically high stakes that can result in the deaths of characters.)

Forgotton Anne also makes it more and more ambiguous, as the game progresses towards the end, as to which choices seem “good” or “bad”.

  • Sometimes you are actually required to lie in order to stop a death from happening, and sometimes trying to revive someone from death makes things worse by ultimately resulting in another death. You might discover, for example, that trying to be honest didn’t actually stop you from having to potentially kill a friend, an outcome which you didn’t want to happen.

  • So that can also make you understand that there are other choices which could have led to the outcome you actually wanted.

So to summarize for both of those:

  • have characters argue for different choices, which highlights to the player that there are multiple outcomes that could happen here
  • have choices be more ambiguous in relation to the player’s desired outcome, which also highlights to the player that there are multiple ways that a situation could be handled