What game design factors make a good piece of Interactive Fiction?


Apologies if a thread like this already exists, but this is an offshoot of a discussion in Historical CoG Games about the balance between game design and story in Interactive Fiction.

That conversation got me thinking about what game design factors make a good piece of Interactive Fiction, specifically when it comes to Choice of Games.

So far, I’ve come up with:

  • Easy to understand stats
  • Stats that noticeably matter
  • Choices that noticeably matter
  • Branching that is obvious

Obviously, these leave out things like the quality of writing or an engaging plot, but I’m curious to see what other game design aspects people here think are important.

Love is a reward

I’ll name petpeeves of mine that spoil the experience for me:

  1. Skill/Personality stats that influence the success of another character.
    If done badly we’ll end up with e.g. the MC’s fighting skill allowing an untrained character to best an experienced fighter. How?
    If done right the MC can more easily recognize certain skills in an NPCs and help them use these.
  2. Relationship stats that do nothing or are unclear what they reflect.
    Now, there are games that have a ton of relationship stats, and it’s a hiccup of what they reflect.
    Is it how the MC sees the NPC or the other way round. Usually it’s the latter, but then you have games that seem to change things at the drop of a hat.
  3. Stats and counters influenced by irrelevant choices.
    This goes into world building, but personally i find it ridiculous when a game tracks decisions for an achievement, and it doesn’t make sense that we’d get a counter in a situation that makes no sense in-universe. An example would be the badges from Heroes Rise 2, which are meant to reflect on our role on the show but are given for decisions made off-camera and thoughts we have.
  4. Segwaying from there into number 4: Worldbuilding and storytelling that’s all over the place: There are authors out there that can sit down, write a story and only then go back and edit stuff, and you will still end up with something working.
    but most people would be better off if they’d edit on the go… because heavens it shows when idea was added on a whim and then the author simply forgot to go back and make it work.
  5. related to that: handwaving clinging stubbornly to one’s ‘vision’. every author has a core idea for their story. That’s 150% ok and needed. But, people, you are writing interactive fiction. So for crying out loud, if you already can come up with a wording for a choice that points down a different path, DON’T go and say ‘oh no, you thought you wanted to do this, but then decided to do this other thing’. Cut it out!

  • Intuitive menu
    Refined UI/UX; avoiding screen clutter, minimizing finger movement, showing only what are need to be shown.
  • Meaningful progression curve, stat-wise, and intentional difficulty
    Skill checks on early-game are fairly easy. Demanding checks made more risky and more rewarding.
  • Fulfilling power fantasy
    Different ways to approach a problem. Different items to carry in your journey. More options, more breadth.

I'm just throwing this out here without any particular goal in mind. Food for thought. Take it with a grain of salt. Though, I'd say these are factors that are closer to the game design element in an IF, ChoiceScript in particular.


Also, a little bit on branching:
basicbranching1 basicbranching2

I dunno how much sense this makes, but basically this is what branching makes sense.

1 and 2 (and 3) are story points, aka bits the story will usually come past. The hostage situation and meeting in the parking lot in Hero Unmasked, the train station and antiques shop misadventure in Tally Ho, etc.
What’s no good is branching that promises to do what (figure 2) does, but instead A and C are dead ends that get forced unto B. Aka railroading.


You are really on track, but here’s another thing I want to add.

  1. The author’s bias not being present. It’s called INTERACTIVE fiction for a reason. If I’m playing an IF game and it is basically all, 'you should do this!! Sure you can choose the other one, but that can lead to your death or an unsatisfactory ending! HA! Should’ve chosen the first option!!" Like, no. If I want to do something, there should be an equal amount of risk in either choice, or at least a greater reward for taking the other option. I don’t want the author constantly using characters as a mouthpiece to lead you into the ‘correct’ decision the author wants you to do.

  2. Save points. For gods sake if you’re gonna give me an adventure that could lead to my demise, AT LEAST give me a heads up. It’s one thing to add danger to the story, it’s another for a random choice causing you to death AND RESTART THE WHOLE GAME. It’s not fun or enjoyable to slog through a story, and just when you think you can do something the action kills you for no other reason than…it just does.

  3. Just my opinion, but descriptions don’t need to be too wordy. If stats are explained in a paragraph chances are I’m gonna ignore it because as lazy as it sounds, if you can’t explain to me what each stat represents, then I’m not buying what you’re selling to me. Explaining things is good, but you don’t need to write a whole book on what it means. If you want to write a background for a certain event or place in the game, then do it where it’s separated in the stats screen for those who WANT to read it. Don’t give us a history lesson we don’t want when I want to slay monsters or help others. That’s just me though. I love seeing the ideas behind the places authors created, but I want to do it at my own pace, not have it info-dumped to me.


I’m not sure I understand the relationship between the diagrams and your argument. You say that figure 1 is bad and figure 2 is good, but the scenario you mention (A and C being dead ends that then lead to B) isn’t present anywhere in any of the three diagrams, and I’m not sure how figure 3 relates to the other two.


I said nothing of that kind.
Figure 1 describes a fake_choice, which goes from story point 1 (story points are the circles with numbers) to story point 2 via different flavor texts without actual branching.
Figure 2 describes the more common way of branching, going from story point 1 to 2 via various twigs (circles with letters).
Figure 3 is more complex branching that might lead from SP1 to SP3 skipping SP2 due to choices made on the twigs.

The example of what to avoid is not pictured, correct. But I never claimed it is.


Yeah that was why I was confused!


Know what kind of story you want to tell, and choose the stats that’s needed. Don’t add things just because it’s always there, it might not need to be in your story.

Are you making a game? Then you really need to balance the stats, and figure out how to present the challenges so people have different ways of achieving them. Here, the challenge is the focus.

Are you making an interactive story? Use the stats to tailor the story to the character played instead.


For game design, I tend to view Interactive Fiction like RPGs – but even RPGs can be open-world/branching or linear.

If it’s more open world, and there are a lot of branches, I tend to favor the games where there isn’t an obvious route that is the author’s favorite or is the “true ending”. Fake open-world games/fake branching interactive fiction are often bad because not only is the player agency’s taken away at the whim of the author, but the lackluster attempt at branching can make the storytelling suffer as a result.

But if it is more linear, meaning there are few if no true branches, the narrative aspect and the flavor texts need to be great to make up for the lack of player agency. Look at something like the Paper Mario series – it’s linear and even goes chapter by chapter, but the storytelling (especially for SPM) is great and the badges/switching between party members is the “flavor text” that makes the games fun.

Although even a linear series like Paper Mario will give you options with consequences – I think it’s in the second one that you can read the diary of a ghost, but he warns you in advance that you really shouldn’t – and if you do, he attacks you and the game ends. So if even Paper Mario can give an option that doesn’t turn into a fake choice where you can’t read the diary no matter what, then I think Interactive Fiction should be able to do the same.


This seems like a bad example of real choices, though? “You choose the wrong option and the game ends” seems just as bad as/worse than “you try to do x but you can’t; better choose y instead!” If it were “you open the diary and now have to fight a ghost,” then I’d feel differently about it.


The game-ending kind of choices that warn you should make sense in context.

In Paper Mario you fight other stuff, so why not here?
A better approach to the “told-you” choice would be giving an option that is something that might occur to player and character, but which by all means is a bad idea.


The room is nearly pitch black except for the faint outline of a window ahead and there a scent of gas lingering in the air. You think the door you need to head to is to your right. what do you do?

  • retreat and find a different way
  • open the window
  • edge across the room and try to find the door.
  • light a match and see what i’m dealing with first


I never said that was example of a “real choice”, though – even a fake choice that only has an illusion of choice can have consequences. The whole point of reading the ghost diary is seeing what happens when you choose the wrong option. It’s less about continuing the story or getting a bad ending, as it’s about the event itself – if you want an example in Interactive Fiction, it’s like telling Marshal James In Tin Star you won’t wear the tin star in the beginning. You get multiple warnings, you (the player) know what will happen, but because you are given agency to choose, you get to see the result of your choice – and it shows that throughout the story there will be possible deaths in your future as marshal.

I do think the diary (and the tin star) are good examples for player agency which I was mainly talking about, though, since the player has to go out of their way to open the diary, and then knowingly and willingly try to read it to get the game over – and from what I remember the game handles the warnings and game over in a comedic nature anyway, so it has a storytelling purpose to it, too, like with Tin Star.

I’m pretty sure that’s what happens regarding the diary, but even more deliberately and comically obvious – which is why I still remember it despite not playing it in years. :yum:


Haven’t read everyone’s opinion yet, but since I’m pretty sure the slightly off-topic bits were started by me, it’s only fair that I speak up here.

  1. Unnecessary stats
    -It doesn’t make sense to have a bunch of stats that do eff-all, or just one or two things. Even Tin Star, as great as it is, had too many stats, and many of them ended up being used only once or twice
  2. Romantic options that are just there to say, “you can play as gay/straight/bisexual/ace/etc.!”
    -It’s okay to have a game without romance! Romances sell better, sure, but if your romance just amounts to “you and X did a big ol kiss and never spoke of your relationship ever again”, you’re just going to piss off your readers and potentially lose future customers. Either invest in romance subplots or don’t. Don’t give me some half-baked BS.
  3. Sassy narrators.
    -This can be done really well or really poorly, and most people do it poorly. Frankly, it tends to take me out of the game. It’s one thing to have a piece of funny/sassy narration here or there, but most people go too far, and basically make the narrator heckle the player. This can be done well in some circumstances - Fatehaven comes to mind - but in most, it’s just bothersome and makes me want to stop reading. Don’t tell me how to live my life or play my game, dang it.
  4. Too many *fake_choices.
    -Okay, this one may sound silly, but hear me out. *fake_choices can make writing easier, but it also makes the game boring. Why is the choice there, if you aren’t even going to add flavor text for it? Don’t give me the “option” to feel sad/angry/happy/flirty/whatever, if it’s just going to lead to “and that’s a perfectly okay response!” regardless. Only create choices that matter, even if that “mattering” is just for flavor text (arguably my favorite kind of choice :wink: )
  5. Creating checkpoints.
    -some people will disagree, but I’m actually okay with restarting a game from scratch if I mess up. In fact, sometimes I savescum and just remember my choices, just so I can get the best possible outcome (a habit from the HR days, tbf). I don’t like having that annoying “this is a checkpoint! if you die, you can come back here!” page, and it makes my choices feel like they don’t matter as much, because, hey, I can just come back!
  6. Over-explaining.
    -This goes back to the history COG thread. If you spend 7 pages on exposition, there’s something wrong. Sure, have a codex of some sort within the stats screen, if you feel it is necessary, but sometimes, the best way to play a game is to learn through immersion (look at Dragon Age or Mass Effect! We don’t know everything about those universes at first, but we come to discover just how they work, and we fell in love with them. On the flip side, if you’re gonna Kingdom Hearts it, please have a codex handy).
  7. Shallow story-telling
    -This also goes back to the history COG thread. Don’t spread yourself too thin. If branching vastly creates too difficult a challenge for you, there’s no shame in railroading a little bit - you can create a very fulfilling tale that has meaningful choices, even if 80% of the game is shared scenes. By spreading yourself too thin, it makes the game (150,000 words!) suddenly shorter for the player (average playthrough 15,000 words!). Quality over quantity, every time.

I’m sure I’ll think of more, later, but that’s it for now :slight_smile: twirls away


Hmm. For me, it would depend on the delivery (and I haven’t played Paper Mario or Tin Star, so I can’t speak to either). I think that sort of thing can come off as pretty belligerent on the part of the developer – like, “oh, you want to do something I don’t want you to? Fine. You do it. And die.” Which enforces the feeling of being railroaded, rather than giving a sense of agency.

…yep, I absolutely would’ve chosen the last option and exploded :sweat_smile:

Hard agree. I’d add confusing stats, too, which folks have already mentioned. I especially hate looking at a stats page and thinking “I don’t know which stat corresponds to this option?? It could be any of these three,” which is often a combination of unnecessary and confusing stats.

To be fair, you can add flavor text after your *fake_choices, and that’s sometimes an efficient way to do it!


My point is that most authors don’t :wink:

Okay, question for my own writing, then.

These are the first lines of the stats screen for Explosion:

*label main_screen
[b]Character Sheet[/b]

[b][i]${title} ${Name} Brache[/i][/b]
*set Magic (wis + int)
*set Thievery (cha + dex)
*set Leadership (cha + con)
*set Fighting (con + str)

I never outright state in the game that these stats go into those skills, but it’s pretty obvious, if you’ve ever played a tabletop game, or if you keep a close eye on the stats screen. Would this be the type of thing to bother you? (Note: this is not the only way I update those skills - this is just for checking a by the minute thing - whenever I have to do a skillcheck, I specifically make sure to notate this bit, because I’m not a huge fan of subroutines)


Fair enough! :slight_smile:

Wait, so do players see the stats, or skills, or both? And are both directly affected by choices?

I think it could be confusing depending on how they’re used/presented. Like, if I’m trying to pick a lock with high dex/low charisma, and fail because that’s a thievery check (but thievery isn’t on the stats screen), I’d be confused. (Also, are there other skills? Because wis/int/dex seem to be getting the short straw.)



A lot of stat checks are just stat checks. Skill checks (say, if you’re trying to sneak past someone and pick a lock, or cast a magic spell) will check two stats at the same time, IE the skill level.
Wis/Int/Dex get the short end of the stick in that they aren’t attributed to as many skills, however, their stat checks come up more often, so I think they balance out pretty well. I had to draw a line at some point, about where I needed to stop adding additional paths, and I didn’t see the need to, for instance, create a bard class (which would, theoretically, be cha + wis) or a swashbuckler (dex + int). At least, not at this time. I may add them in future, because you did raise a fantastic point :slight_smile:


This. So much so this~

I think that this is something that plagues almost every game, but most romance in games amount just getting into bed with your chosen partner and that’s it. Sure, you get a trophy or some kind of achievement for your efforts (even my beloved Dragon Age: Origins is guilty of this), but that’s it. I’ve have “won” the relationship; having sex is the proverbial finish line.

It’s probably a lot more difficult to code in and then create all of these dialogue options, cutscenes, and whatnot that would emulate a relationship in real life, but with IFs I think there’s the potential for the rest of the relationship to be done and to be done well!

For starters, you don’t have to create all these cutscenes and possibly more, you just have to write and let the readers do the work imaging the scene.

Dragon Age II briefly kinda dipped its toes into this by acknowledging your loved one, if you choose to romance someone, being kidnapped by a group of angry blood mages if you don’t have them in your party when you set out to begin this quest. There’s some brief tension and some small stakes, but they’re never in any real danger. Still… it’s worth mentioning and I appreciate the effort nonetheless!

Don’t get me wrong! I love romance! It’s why I bought Wayhaven after all! But I’m kinda sick of slow burn romances and usually almost always choose N or F over A or M because I crave the intimacy of those non-physical moments! I want to get to know N or F as a person more than I want to get into their pants because that’s more rewarding to me.

Final thought and then I’ll quit… I think someone mentioned this somewhere else on the forums, but I would like it if a possible RO was a character first, then a romance option second. This goes for pretty much any character who the author intends to be something other than just a character, but it’s a pretty important lesson that seems to be forgotten pretty often.

Love is a reward

Players see both and both are directly affected by choices? Then that would probably be fine with me.

(Although if you have choices that directly boost, e.g., magic, then wouldn’t you need to track a separate magic-boosting variable, so it’s magic = int + wis + mag_prof?)