As I’ve mentioned here before a few times, I’m working on a project for Choice of Games, and it’s once again brought me up against a challenge I’ve run into a few times before when writing for Fallen London and to some extent with Versu. As mental shorthand, I’ve come to think of this as “the check-or-set problem,” though really it should maybe be the check-set-or-gate problem. It is as follows:
When you’re writing in a choice-based medium backed with stats – so ChoiceScript, StoryNexus, Undum, Ren’Py, possibly a hand-rolled Twine system, or inklewriter if you choose to use variables extensively – you have to decide how to treat choices that relate to personality stats.
When I say personality stats, I do not mean “all stats that might make up the protagonist’s profile.” Choices that have to do with resources – how much money you have left, how many classes you have time to take – are comparatively easy to deal with because there are typically obvious narrative contexts where your resources might go up or down, or where your supply of a resource would come into play. I’m not considering that type of stat here.
No, the challenge comes in when dealing with personality traits where we’re trying to collect that data from the player and then reflect it back. In ChoiceScript, I’m especially talking about opposed stats. For instance, in ChoiceScript one might have the opposed stat of Daring/Practicality, where a score of 20% might represent that you are very daring and a score of 80% might represent that you are very practical. Both ends of the spectrum correspond to actual personality characteristics, rather than just the absence of something. And each end might be desirable in a different situation.
So here is the trick about personality stats. Some of the time you might be asking the player to make choices to establish character, in which case choosing to do something Daring should set the player’s Daring stat higher for future reference.
At other times, you might be using stats to determine whether the protagonist has the personality or skills to pull off the approach the protagonist just chose: are they Daring enough to do this skydiving stunt? In that case, you’re checking previously established stats to decide what result to report to the player.
Finally, you might use the player’s stats to determine whether a given choice is available at all. Perhaps a player with low Daring simply isn’t offered the skydiving option. Now you’re gating the option based on stats. At that point you have to make an additional decision about whether to show the player that the option exists but is just greyed out currently (*selectable_if, in ChoiceScript), or whether you want to conceal that option completely from players without the proper stat profile (regular *if).
Greyed out options advertise that alternate possibilities exist, which is useful for communicating to players when past actions are creating consequences in the present moment. On the other hand, secret options that appear only when you have the right knowledge or stats can be fun to discover on replaying.
If you don’t have a consistent strategy around when to check, set, or gate, you’re likely to confuse the player. I find this especially true in ChoiceScript, where the UI does not offer any warning about the mechanical implications of a choice: you just get “Skydive!” and no automatic information about whether that’s going to make you a more daring person or conversely test your previous daring.
For instance, here there are some narrative cues – this is the first move of the game, so we must be setting, and also the use of the past tense tells us that the player is establishing backstory and character aspects rather than taking a risk in the present moment. But nothing about the UI in this scenario distinguishes between setting and checking:
StoryNexus, by contrast, shows the player if a stat is going to be checked to determine chance of success, and gives information about what the current success odds look like. This level of mechanic-surfacing gives the output a more game-y flavor but also (in my opinion) provides the player with a greater level of control:
Undum sort of splits the difference by keeping the stats table permanently on screen in a sidebar, so while you might not know in advance what a link is going to do, you’re likely to be more aware of what is happening link-wise than in a ChoiceScript game in most UI configurations:
inklewriter, meanwhile, doesn’t automatically surface variables at all. And though there are personality stats underlying 80 Days, and though you sometimes get a message saying that yours have changed, you can never see a chart of all of them, and you don’t know when they’re being checked. You do get a number (see the lower lefthand corner) that describes your relationship to your master Fogg, but there’s quite a lot else happening here, to which the player doesn’t have access:
It largely works, I think, because those personalizing stats aren’t really the most important aspect of the game, and there’s a lot of state – cash flow, location, routes known, etc. – that the player does get to see. So our sense of agency focuses on those.
Below the fold, some thoughts on the different possible strategies for writing personality stats content.
Strategy: Set as a result of player actions, check at your own predetermined times in the story progression, gate seldom or never. This has its issues – how does the player know that a particular skill check is coming up? – but it is also consistent and fairly easy to explain. The player always knows that spending time and actions has the result of building stats, and doesn’t have to wonder whether they’re committing to a test of those same stats.
However, that approach isn’t a good match for either StoryNexus or Choice of Games pieces. In StoryNexus, there is essentially no mechanism for making things happen that are not the result of player choice. In ChoiceScript, meanwhile, it would be easy enough to do this technically, the brand guidelines and player expectations are that some choices will have different outcomes depending on the player’s stat profile.
Strategy: Set during buildup at the beginning of the story/chapter, afterwards check to determine success, and gate minimally. This is pretty much the approach that Choice of Games recommends in its materials on this topic. This startegy adheres to some of our natural instincts from screenplays and similar contexts: the opening of a story contains the establishing shots, so what we learn about a character at the outset should carry through to the end.
If implemented straightforwardly, though, this approach tends to encourage players to focus on maximizing one or two particular stats per playthrough: once you’ve started down the path of Violence, for instance, your best outcomes will then be Violence as well for the rest of the game. The result is a piece with 3-6 different “optimum” tracks of play, while attempts to mix styles will be less satisfying. And from a narrative mechanics perspective, this might also tend to prevent characters from making midlife changes of personality.
Similarly, it’s not always obvious when we’ve made the transition from setting to checking, especially if there isn’t an obvious narrative divide. Some Choice of Games pieces get around this by clearly delineated training portions, which leads us to…
Strategy: Set during “normal” play, check during special events, gate minimally. This is common in dating and similar sims. In Long Live the Queen, you spend your available time to accumulate skills and advantages, and then life events come along that test those skills, whether you anticipated those events or not.
Strategy: Set during flashbacks, check or gate during the narrative present. This doesn’t work for every story, but if you have a narrative structure that incorporates flashbacks or conversation narrating your protagonist’s past adventures, you can use those flashbacks to establish what kind of person the protagonist is now, and thus what kinds of skills or characteristics they should use.
Chris Gardiner’s Below plays with similar ideas: the player has a Below deck representing their dungeon-crawling actions, but also an Above deck that allows them to explore and draw strength from their memories of the surface. Choices about backstory then affect one’s stats for present-day challenges.
Strategy: Clearly distinguish skills from personality, and use them differently. Check skills frequently to determine success, and treat them like XP, so they increase with use. Set personality rarely, and use it to gate special alternate paths.
Fallen London mostly does this. There are four major skills, Dangerous, Persuasive, Watchful, and Shadowy, that are used to determine success or failure on many actions; skills are raised through practice, whether you succeed or fail. FL is both checking and setting those stats on the same turns.
Quirks, on the other hand, are points such as Subtle, Melancholy, or Magnanimous; they’re rewarded especially in response to decisions about how to treat other characters. Sometimes Quirks open special side options, but they are comparatively rarely the determining factor in whether an activity will succeed; the idea is that many different types of character should be able to traverse the main storyline, and the Quirk aspects are basically there for flavor.
Strategy: Set and gate on almost every action. Something we did a lot in Versu prototypes was offer some interactions that had flirtatious, aggressive, or other social undertones; notice when the player had done one of those things; then offer the player the opportunity to do a more definite action of the same kind, or even an option that was explicitly something like “Decide to make friends with Greta.” A player who invested heavily in one social approach opened more options of that type. The idea was to unlock the kind of interactions the player was most interested in and allow them to escalate the interpersonal drama at will.
But this was also possible in Versu partly because the underlying model wasn’t a simple tree, so we had a lot of potential options and it was actually a good thing to gate a lot in order to whittle down what the player saw in any given moment.
Here’s the strategy that I’m currently exploring for parts of my Choice of Games work in progress:
Set during buildup and backstory sequences. Later, check to determine how the protagonist executes a task, not whether they succeed. Gate at extremes.
By which I mean: early in the game and at a few other points, you have the chance to describe what kind of person you are or narrate past actions. These sequences set stats. The text of the choice is often designed to describe how or even why you did something.
Elsewhere, there are actions that ask what you do. They check opposed stats and then pick one of two ways for the player to execute that action depending on what the player’s stat level is. Usually this is looking simply at where it falls on either side of 50/50, but sometimes skewed one way or another. A person who has a high Daring would choose a different way of getting back to the ground than a person with high Practicality, but both would pull it off. I’m hoping the fact that you’re not really failing your main objective either way will make people feel less locked into a single stat trajectory.
But I do still want people to feel like the game is listening to them, and like there is some reward for having articulated a really strong character vision in some direction or another. So I also have special gated actions when a personality stat is at a real extreme – below 30% or above 70% of maximum.
I’m also considering how to build character change via defining events into the mechanics of the game. My current plan: have gated, extremal choices in the later part of the game that narratively represent a character’s change of heart or decision to act out of character. If you have high Practicality/low Daring, you might get a chance to sacrifice that high Practicality characteristic in order to jump out of a plane when you’re being threatened by a villain with a gun. This might be a real loss for the player in some respects – they no longer have access to the benefits of high practicality. But it makes sense in character that through this particularly daring act, they have shaken off some of their cowardice for the future.
(And of course, I also have unopposed resource/skill stats that can safely be checked for success and failure.)