Set, check, or gate? A problem in personality stats

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:

Screen Shot 2016-02-12 at 11.05.02 PM.png
The first move of The Daring Mermaid Expedition by Andrea Phillips

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:

Screen Shot 2016-02-12 at 10.57.53 PM
One branch of the Feast of the Exceptional Rose, Fallen London

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:

Screen Shot 2016-02-12 at 10.59.31 PM.png
The opening of Mere Anarchy by Bruno Dias

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:

inklescreen.png
A screen showing limited status information in 80 Days

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

See also: Choice of Games post on stat design; Carolyn VanEseltine’s posts on ChoiceScript writing and debugging.

22 thoughts on “Set, check, or gate? A problem in personality stats”

  1. In my CoG WIP, I’ve been treating personality traits exclusively as reputation stats. The player’s choices are reflected back at the player, but only through NPC actions and reactions.

    Set: as the result of backstory or as the result of player actions – but *only* when the player is observed
    Check: routinely, to determine NPC reactions (often affected by NPC relationship stats)
    Gate: never

    This requires some secondary tracking, and I often find myself with Schroedinger’s pending stat changes. (After all, a student who gets caught sneaking around after curfew has a different reputation than one who doesn’t get caught, even though both students snuck out). But I’ve been pleased with the way it plays so far.

    1. Neat! Thanks for commenting. And I know what you mean about pending stat changes — I’ve got some bits where the player can betray an NPC, but the NPC doesn’t immediately find out, so there may be a relationship stat change further down the line.

      I’ve also been doing something where you have a relationship status with respect to a character as well as your numerical stats; at certain points in the story, the relationship gets reassessed based on where the stats are now, and this might trigger a romantic interaction, a friend breakup, or whatever else, based both on what you used to be and where you are now.

  2. I’m wondering if it’d be possible to have an explicit buildup of stats that can be spent like money. By that I mean if you work on personality a lot you rack up Congenial Points that can be spent to be a smooth talker, and Daring Points that can be used for stunts, etc., but everyone has some points in all the disciplines. So if someone wants to do a rare Daring maneuver because the situation seems to demand it, they can. They’ll still keep their sense of personality by their point allocation, but they won’t get totally locked out of other options (and a character “pulling in from the clutch” with an unusual act is often story-appropriate).

    1. The presentation can be weird. If you spend your Daring points to jump out of an airplane, does that mean your Daring score is now low and you are a cautious person? This feels clashy.

      Could work with a two-level currency — you accumulate Daredevil stunt points at a steady rate which depends on your Daring personality score, and you can spend the stunt points.

      1. I think something like this underlies the shift in the way Failbetter does its Connected stats. Originally, Connected counted how much you were in with a given faction, but you could spend Connected to gain rewards from that group. That treated Connection as both a measure of story choices and as a kind of currency, and the results were sometimes weird; hence the introduction of Favours vs. Renown in place of Connected.

      2. Hm. That could make sense if jumping out of the plane is traumatic, and scares the player character into being less daring in the future.

        It would be sort of like Call of Cthulhu’s Sanity mechanic in that way. Sanity in CoC is both a stat that governs success and failure in certain actions through dice rolls, and an expendable resource similar to hit points. But it works kind opposite to your airplane example: typically, failing a sanity check that leads to further loss of sanity.

  3. All this talk about providing the player with benefits for specializing makes me wonder about the viability of making moderation beneficial instead. Like, instead of the success zone for an action being “Daring/Practicality 80%”, it could be “20% < Daring/Practicality < 80%", with 80% failing because you’re timid to the point of inaction.

    1. Choice of Games recommends a system called Fairmath that shoves players heavily toward the center. From http://choicescriptdev.wikia.com/wiki/Arithmetic_operators:

      “The idea of fairmath is that the closer a variable is to 100 (the higher it is), the harder it is to increase, and the closer a variable is to 0 (the lower it is), the harder it is to decrease:

      Fair Addition: (x %+ y) = (x + (100-x)*(y/100))
      Fair Subtraction: (x %- y) = (x – x*(y/100))”

      Consequently, I’d avoid encouraging moderation in that system – because it’s what happens by default, unless you’re working aggressively to avoid it. But it might be more appropriate in others.

      1. I think the other point here is that a lot of the fun and flavor of “Choice of” stuff is about customizing your character and imagining someone with a definite personality. So it makes sense to reward extremes. There are other games where trying to thread the middle is quite important — if I understand right, that’s the only way to unlock the best ending in We Know the Devil, for instance. And it would make sense to have a pro-moderation system if you were writing about a conformist society that punished deviations.

  4. Thanks for sharing this topic!

    I recently watched a lecture on YouTube by Jon Ingold of Inkle Studios from 2015 GDC in which he addressed how critical handling the stats is to the maintaining the ‘illusion of choice’ for the player. Do it right and the player doesn’t question that she has agency and you’ve kept your plot & dialogue tree from exploding.

    For stats, they use an averaging algorithm similar to Choice of Games’ Fairmath. That is, each subsequent action has less impact than the previous action on the same trait. (I won’t try to document it here, his slides in the lecture lay it out clearly.)

    It’s interesting to note that they only ever increase a stat, never subtract, but they do maintain two separate stats for each trait: ‘Tension Up’ & ‘Tension Down’ as example from 80 Days. They say that’s important for the sense of reality—once you’ve been forceful or abusive with an NPC, you can improve the relationship later by being nice, but you cannot wipe out your past actions -> permanent consequences (that NPC will always be a bit wary of you).

    He shared several other tricks for creating the choice/consequence rubric that never interrupts the ‘suspension of disbelief’ by the player and that enables faster & more efficient re-writes.

    I highly recommend the lecture, it is both funny and informative for any game designer. He uses specific examples from Inkle’s successes & failures and shares what works in the Sorcery! series but not in 80 Days.

    Here’s the link to the lecture http://gdcvault.com/play/1021774/Adventures-in-Text-Innovating-in

  5. If I’m really enjoying the writing in a ChoiceScript game, I won’t even look at the stats (not even to know what they are) on the first play-through. I’ll simply play in a way that feels natural, and see what happens (except when there’s an obvious do-or-die moment, when I’ll check my stats to see what’s likely to help me).

    It IS possible to have well-rounded characters win the day in ChoiceScript. In oversimplified terms, you have crucial tests that give several options of how to win eg Your villain on the plane scenario.
    -A daring person can grab a parachute and jump out of the plane.
    -Your practical person can calmly discuss with the villain the dangers of shooting a gun in a plane, causing them to back down.
    -Someone with dead average daring/practicality might have another skill to use, such as mechanical skill (so they can fly the plane so skilfully the villain falls over and knocks him/herself out).

    In my pirate game “Scarlet Sails” the deadliest choice has three options that each require a particular combination of a combat and a non-combat skill in order to succeed, but there is also a “nice pirate” option that doesn’t require any combat stats at all (but does require good relationship stats).

    A LOT of people die in that game (and they almost never mind, because it suits the genre) but a few people have specifically said they liked the way that they could win with or without being a specialist in one or two particular stats. (And I’ve added in optional hints for the post-comp version because combined stat tests are extremely hard to communicate in text.)

    Felicity Banks

Leave a comment