“Roll for perception!”, “How much is your Reflex save?”, “#IF(Strength>15)#THEN(‘You successfully lift the gate!’)”
Attribute tests are a staple of the roleplaying game (RPG)
genre. As a narrative, text-heavy RPG, “SKALD: Against the Black Priory “is no exception.
Even though such systems might seem trivial, I find that they require quite a bit of consideration to design and implement successfully. The following are some of my musings on the subject and hopefully this might serve as a basis for a broader discussion of the subject.
There is also a little treat for old-school RPG and Ultima fans at the end of the article so stay with me!
What do I mean by “Attribute-Tests”?
Basically, an attribute-test is a test against one of the attributes an RPG character has. This could be a test against the characters “lock-picking” skill to try and open a locked door or a test of the characters “strength” score to try and lift a chest full of gold or even checking a non-numeric character attribute (such as seeing if the character is the right class to join a guild).
For the purpose of this article, I’d also like to divide attribute-tests into two rough categories: “systemic” and “scripted”.
Systemic attribute-tests are hard-coded into the game’s sub-systems. Rolling for initiative at the start of combat, or rolling to hit an opponent are examples of this.
Scripted attribute-tests are added at the content level of the game (as opposed to in the engine itself) – often through some form of scripting language and they are often non-combat related. An example of this might be testing the characters charisma score to try and persuade an NPC during a conversation.
Note that scripted attribute-tests do not have to be dialogue-related! They can just as well be short “gamebook” style segments where the player interacts with the environment. There is however, a lot of precedence for using the dialogue system to present these interactions in modern RPGs and this is also the approach I use in SKALD.
We’ll mostly be talking about scripted attribute-tests in the rest of this article.
Why use Attribute-Tests?
Systemic attribute-tests are as old as RPGs themselves. This is because they are so closely tied to the wargame-esque style of resolving conflicts with dice that was the basis of early RPGs such as “Dungeons and Dragons”.
Scripted attribute tests are a bit less ubiquitous (especially in early CRPGs). Due to technical constraints, early CRPGs placed more emphasis on combat and less on roleplaying and dialogue-based problem solving. It wasn’t really until games like Fallout and the infinity engine games (the Baldur’s Gate series, Planescape: Torment etc) that developers really started exploring a wider use of attribute-tests to enrich the dialogue and storytelling.
In more modern CRPGs, scripted attribute-tests are less wide-spread than you would think. This is probably due to the fact that they often require more complex character development (you need non-combat skills), more storytelling using text (which might turn away certain demographics), and they are often associated with branching narratives (which are more expensive to make).
So this begs the question: Why do we include scripted attribute-tests in CRPGs at all?
- They remind us of the genre’s tabletop roots by invoking the verbal interplay between the game-master and players.
- They can add suspense by using random “dice-rolls” to resolve non-combat challenges.
- They can add resource sinks by introducing a wider array of challenge-types for the players to overcome.
- They show progression by having the players eventually finding themselves being able to do things they couldn’t before (beyond combat).
- They allow for a wider range of player expression by giving the player more ways to interact with the world via their attributes (such as talking your way past enemies instead of fighting them).
- They can gate content either by holding the players off until they reach a certain level of skill or by giving varying narrative experiences based on character build.
The point is that scripted attribute-tests add a bunch of interesting tools for CRPG designers. That brings us to the next point:
The following might seem pedantic but there is a surprising number of variables to tune when implementing scripted attribute tests successfully. Here are a few considerations:
Overt vs hidden tests
In any CRPG, a lot of the script logic going on under the hood will be hidden. This is a good thing since it’s not necessary for the player to know that the script discreetly checked to see if the party was carrying such and such item when entering such and such area. Games like the early Fallout games or Baldur’s Gate does this extensively and you’ll have different dialogue choices based on things like your charisma or your intelligence etc.
The advantage to this is that it hides a bit of the inner workings of the system and it makes it harder to “game” the system. Rather than worrying about how many ranks you have in a given skill, the emphasis might be placed more on having an immersive roleplaying experience.
This, however, is also the disadvantage of this approach: It robs the player of the ability to make informed decisions about how to build their character since they can never be sure about how the mechanics of the game work. Was the outcome of the conversation the result of poor dialogue choices or was it the result of a hidden charisma test?
Random vs Deterministic
When the character performs an attribute test, is it resolved through a random “dice roll” or will it always succeed or fail based on a threshold (such as in Fallout: New Vegas)?
If the test is deterministic, does the game show you (or even allow you to use) options with tests that it knows you cannot succeed?
On one hand, it does show players what they might work towards, whilst on the other hand it can look a lot like an invitation to try and “game” their character build towards certain solutions.
Randomized tests, on the other hand, might cause players to save before every test and reload until they succeed.
Does the game explicitly show the difficulty of the test? If so, how is this expressed to the player? By a form of difficulty class (“DC 15” – what does that even mean?) or a percentage chance of success?
Do you need to foreshadow the consequences of failing the test?
Going back to the solution chosen in Fallout: New Vegas (showing you both “legal” and “illegal” choices AND their difficulty), this removes a lot of the uncertainty or risk associated with the test.
On the other hand, it also makes it 100% clear what is required of the player and allows them to make well informed choices both on how to deal with the situation at hand and as to how they should develop their character.
The following is a handful of principles I’ve arrived at when working on implementing attribute tests in SKALD. This is my subjective and semi-professional (at best) opinion so take it for what it is.
Game mechanics are a language
Game mechanics are saturated with meaning and when we use them, we are “talking” to the player. Presenting the player with a dialogue option to use their Athletics skill might mean that we are saying “Hey, there is a cool reward behind this option for players who invested in athletics!” or we might be saying “You better have a decent athletics stat or the game will punish you”.
The thing is, even if we don’t explicitly include a message, players will supply their own. So in other words: It’s a good idea to figure out what you’re trying to say with your tests and then keep that message consistent.
Don’t set traps for your players
Tying in with the point above, you should never create traps for your players with your tests. This doesn’t mean that tests can’t have severe consequences for failure. It does, however mean, that if they DO have severe consequences, this should be clearly communicated throughout the game.
For instance, say your game hasn’t punished the player for attempting tests in which they have low chance of success so far. Then, suddenly you including a test where failure causes automatic player death. This is usually poor design – not because the consequence was harsh, but because the player had no way of anticipating it.
So to reiterate: keep the message consistent!
Don’t fight human nature
We don’t really get to decide how people play the game. If you include difficult tests with severe consequences, players will save-scum. If you gate cool content behind certain skill-tests, players will speculate in “gaming” that skill.
It’s usually a bad idea to try and sanction such behaviors. Instead, try to ask yourself why the players are acting the way they do.
In terms of attribute tests, the answer is often that players don’t like being punished and they HATE having things taken away or kept from them. You might need to…
Make Failure interesting
This is a big one! For narrative design in RPGs, I would say it’s a bit of a holy grail. As any tabletop RPG player will tell you, the most fun sessions are often the result of failed skill checks. How to pull this off is a big topic and I’m can only supply my personal take on it.
As a general rule, I would say that a good starting point is to avoid making failures feel like punishment. The players don’t control the roll of the dice and if a player ends up feeling like they are being punished for failing a 95% test they might (rightfully) feel unfairly treated.
One way of “improving” failures is to offer rewards whether the player succeeds or not but give a bigger reward for a success. Players love rewards and they especially hate missing out on stuff due to the roll of the dice.
Example:A player is using Diplomacy to try and get information on a subject from an informant. A failure might still yield the relevant information whereas a success will additionally have the informant give the player an interesting rumor that leads to a hidden reward.
Another approach is to consider a test as a narrative branching point where both branches (success or failure) are equally valid but play out differently.
Example: The players are trying to get into a castle and they attempt to either sneak or talk their way past the guards. If they succeed: Fine! But if they fail, instead of forcing the players to now kill their way through the whole castle, the guards might give the players an option to surrender and the players might find themselves in a cell they now need to escape from by inciting a prisoner revolt.
What techniques do you use for making failure interesting? I’d sure love to hear them!
Don’t mix tests and choices
Attribute tests are often presented in the same setting as choices (e.g. moral, tactical or thematic choices). Be careful if you overlay a moral choice onto a skill check.
Let’s say the player is interrogating a prisoner and the two choices are to either hurt the prisoner or use diplomacy to get what you need. So far so good.
The issue becomes when the writer phrases the diplomacy option as the player threatening to kill the prisoners family.
The player might have played their character as a charming witty bard up to this point but now you’re forcing the player to chose between using their favorite skill or acting out-of-character.
An example of this is occurring in the first image of this post. There we see a conflict where I’ve made it so that using diplomacy requires you to be kind of an asshole. Not good design at all.
Don’t make dump-stats
Does your game have 8 skills that are all used in attribute tests? Make sure they all get enough screen time throughout the game or it might feel like a trap to invest in one of them. In general, I think it’s better to have a handful of well utilized attributes rather than a lot of underused attributes.
I’m writing this article because it helps me to explore the subject for my own part. I certainly don’t have all the answers and if you have comments, ideas or differing perspectives I would love to hear them!
Feel free to look me up on Twitter or join the SKALD Discord “game development” sub-channel to discuss the subject in more depth!
But before you go…
Introducing: “Corven – Path of Redemption”
If you’re reading this, chances are you’re an Ultima fan! Well, I’ve got some great Kickstarter-news for you:
Corven – Path of Redemption is a story-driven, open world RPG inspired by the Ultima series. Richard Garriott contributed to the storyline and his alter ego “Lord British” appears in the game! Check out their Kickstarter page where you can find a trailer and a playable demo, and consider becoming a backer to make this spiritual Ultima successor happen!
That’s all for now! Have a fantastic day everyone!