Many systems have two or more skills/traits/other numeric values that can be pitted against each other in situations where side A tries to assess side B's credibility, where side B may or may not be lying. Among many systems, these skills/traits/values may carry such names as Empathy/Kinesics/Body Language/Detect Lies/etc. and Subterfuge/Acting/Deception/etc. respectively.

Most of the RP-immersion-oriented/associative/character-stance systems I've seen use those two values in an opposed roll of some sort. Usually, if A wins, the referee tells A's player whether B appears to be lying or not. If B wins, no such information is given. For the purposes of the question, how the 'win' is determined is of little concern: some systems count the number of successes scored, some compare margins of success and failure, some have other methods. The point is that in the end of a roll-off, one of the participating characters is deemed the winner. (Also, for the sake of simplicity, let's not consider ties and critical victories/losses/successes/failures.)

This works OK even with open rolls during some sort of hostile negotiation, where B is already assumed to be interested in concealing some information, and it's more a matter of where B tries to mislead A.

However, the above framework breaks down if B is telling the truth and wants to convince A, since in that case suddenly B is interested in having a low trait (or foregoing the roll entirely, if permitted), thus allowing A's lie-detection ability to inform A of the truthfulness involved.

Not only does this produce perverse incentives, but if foregoing a roll is permitted (including by deliberately failing, making A the automatic or near-guaranteed winner), it also results meta hints: a target that doesn't resist lie detection is immediately more trustworthy, while one which does is immediately suspicious to the player even if the character doesn't know the difference. These factors mean that the mechanic is hostile to attempts to build/play an honest-looking good liar.

I'm looking for an alternative approach to using such skills that can be either used when making a system from scratch, or for houseruling the procedure for making such skills (or similar traits) in systems that use them. These are the improvements I'm seeking and the pitfalls I'm trying to avoid:

  • Minimise perverse incentives (essential), even if one cannot actually follow them after character creation.
  • Minimise possibilities and temptations for metagame ways of figuring out whether a character is lying (essential).
  • Avoid increasing requirements for the amount of secret rolls (if possible). In general, making B's roll secret is more acceptable than A's roll, but keep in mind that in the default interpretation above, secrecy of B by itself doesn't solve the prior two issues.
  • Avoid excessive complexity (if possible), such as having too many rolls for obfuscation purposes.

Does a design pattern exist for resolving lie detection roll-offs in a way that addresses the above concerns?

  • \$\begingroup\$ What is the [design-patterns] tag you've created? \$\endgroup\$ Jan 11, 2020 at 22:35
  • 1
    \$\begingroup\$ @Medix2 During some discussion, a local veteran (IIRC it was D7) pointed out that what I was asking about seemed to be design patterns, by analogy with the coding term. Thus I added the tag, by analogy with the SO tag for similarly common patterns that are of use for solving common tasks/problems. (Lie detection is one such problem/task that I've seen in many systems.) \$\endgroup\$ Jan 11, 2020 at 23:22

6 Answers 6


I don't know if any design pattern exists but this is how i do :

  • If A wants to use Detect Lies (or any other skill in your game) against B and B is actually lying, this is an opposed roll.

  • If A wants to use Detect Lies against B and B is telling the thruth, then A just roll against a standard difficulty. If B is a NPC, i roll a dice behind my GM screen but i don't read it. In some game, you can ask B to perform a Charisma roll (or anything fitting the situation) to mitigate the difficulty of A Detect lies roll.

  • \$\begingroup\$ This is the pattern Chaosium’s system uses as well (the Call of Cthulhu system, among others). You roll against a difficulty set by your skill level. If someone opposes you, you need to succeed AND beat them. \$\endgroup\$
    – fectin
    Dec 16, 2019 at 20:07

Reading NPC intentions is a rare case in which meta-gaming and fully immersed roleplaying have a lot of overlap.

The "realistic" way to figure out if someone is lying is to use direct observation (this person seems antsy for some reason, and I don't trust what they're saying as a result) as well as examining information for inconsistencies (this guy says he didn't knock over the trash cans because he would never do something like that, but I already know that he's a member of the Always-Knock-Over-Trash-Cans-and-then-Lie-About-It Gang, so I don't quite buy that story).

The problem isn't so much that players have access to more information about the likely truth of B's statements, it's that using most dice-rolling mechanics (especially if rolled openly) reveal a lot of true information to the player. And when a player is trying to determine what the truth is, it's hard to ask them to discard signals with high information content.

In the example in the question, where B is assumed to be trying to deceive A, an open roll obviously indicates the result: a low roll for B means they were lying and A knows it, while a high roll for B means that they were lying and A does not know it. In either case, the player knows all of that information implicitly.

As long as the following conditions hold, you'll have an extremely difficult time hiding information about the truthfulness/credibility of an NPC:

  • A roll is made only in situations where lying is expected (or expected to be especially possible or likely)
  • The roll is made based on some knowable subset of character statistics
  • The roll is made openly, with players able to see the die result and also hear the narrative result

The whole point of questionable credibility and purposeful lying is unclear information. Of these three conditions, the third is by far the most revelatory, followed closely by the first. Unless you want to apply some kind of complex adjustment to roll results in these situations (complex to prevent players from simply understanding the new system). And unless you want to make more dice rolls, you will have a hard time not indicating real information by calling for a dice roll in a conversation.

My approach to this (and other, similar) issues is to pre-roll/pre-compute results for NPCs to use in situations like this. When I don't ever make these rolls in front of other players (even behind a screen), they gain no meta-knowledge about the situation. The players still know the results of their own rolls, but the uncertainty doesn't fade-- even if they roll an 18 in a d20 system, they can't know that the NPC roll + modifiers isn't better still.

The other, and much harder to implement, strategy I use is to pre-define and prepare truth and lies for the players to perceive. This is a narrative approach, not a dice- or stats-based one. My mindset for these is that the lies/credibility are more part of the story than they are explicit skill checks with binary results. I quickly hit a wall on saying things like

He seems like he's telling the truth/not telling the truth.

or, worse still,

You believe him/you don't believe him for a second.

These are undesirable for a variety of reasons, but in this context their worst attributes are that they associate specific information with a general situation. If A suspects that B is lying about some long soliloquy, does that mean that every detail of B's statement is literally false? With only a suspicion that something untrue exists somewhere in the statements, does A have enough information to direct their questioning in a way to discover what specific untruths were expressed?

Without these being defined, ideas like "truth", "instant-read credibility", and "belief" are kind of awkward to translate into a dice-rolling game. I've tried a few variations of the following, with varying success:

  • Roll before giving the players any information, and then use the rolls to determine what information players get. An amazing roll to see through deception yields all true information, along with specific details about which B lied. A poor roll yields a lot of false information (tracking B's lies), perhaps with some clues that the player can use to wonder which details are untrue. All possible information players may receive is pre-written, with rolls only deciding which track of information they have access to.
  • Make claims before rolling any dice, and have the rolls simulate PCs reflecting on their exchanges with NPCs. For poor rolls, I then give inconsistent information about how credible players find certain claims such that they might be certain something untrue was said, but not know exactly what it was. For better rolls I might explain which claims tie to plot events already on the record which suggest they may be true or untrue, but not giving any conclusive information.
  • Never allowing NPC statements to be the only evidence players have of something being true or not (plot needs allowing, of course). Players may or may not choose to take the time to independently verify NPC statements, but if they think it's important enough they can try to resolve uncertainty themselves in a more objective way than a conversation with an untrustworthy NPC.

It's definitely more work to write out different scripts for different levels of success in identifying dishonest characters, especially when I have to improvise characters and conversations I didn't plan to. But I usually try to direct the lies towards "entertaining failure" scenario paths (which usually already exist for broader plot reasons), and so I can tweak information towards those specific events rather than generically away from the truth.


"I roll to read you." "I roll to help or interfere."

When you read a person in a charged interaction, roll+sharp. On a 10+, hold 3. On a 7–9, hold 1. While you're interacting with them, spend your hold to ask their player questions, 1 for 1:

  • Is your character telling the truth?
  • What's your character really feeling?
  • What does your character intend to do?
  • What does your character wish I'd do?
  • How could I get your character to --?

On a miss, ask 1 anyway, but be prepared for the worst.

[Y]ou might already know the answers to these questions, you might not. Either way, once you've said them you've committed to them and they're true.

When you help or interfere with someone who's making a roll, roll+Hx. On a 10+, they take +2 (help) or -2 (interfere) to their roll. On a 7–9, they take +1 (help) or -1 (interfere) to their roll. On a miss, be prepared for the worst.

--Apocalypse World 2nd edition, "The Basic Moves"

Uneasy stares all around. Keeler could mow down half of Uncle's rowdies but the other half would kill her. Uncle doesn't particularly feel like losing half his rowdies. Maybe there's a way out of this, and after some table conversation Keeler and Uncle say our header lines.

Well, okay, maybe not literally. Uncle probably says just one of "help" or "interfere", but if the MC's feeling like a real drama mama, they can pass Uncle an Othello chip or something to secretly indicate his allegiance while the dice are tumbling.

Of course, from a certain point of view "what I'm saying is true because the rules of the game say I have to tell the truth" breaks immersion in half and throws it out the window, but as you've very astutely noted in the question, there's nothing about the truth that makes people believe it when they hear it otherwise. Hiding anything about the process, making people wonder if their natural 20 to detect lies is actually detecting lies, is just a no-op on the suspicion that prompted the roll in the first place.

So yeah, I haven't really a found a way around it other than straight through immersion: it's not a secret at the table that Keeler knows the truth of at least one question, and whether Uncle helped or interfered in the end, but the other side of this system is that there aren't no-op failures either.

Keeler can get the truth so long as she's willing to risk failing and playing along with whatever the MC says. Her player will learn the truth but have to, for example, play as though she believed Uncle's lie/doesn't believe anything but her own paranoid impulses, as appropriate.

Uncle can try to mess with or help Keeler as long as he's willing to risk failing and having the MC complicate the situation against him, by saying that, say, Jackabacka, the leader of the rowdies, remembers their history with Keeler that was totally there this whole time, and this one time Keeler saved their life/left them to die, as appropriate.

Spring sudden unhappy revelations on people every chance you get. That's the best.

Apocalypse World 2nd edition, "The Basic Moves"

  • 1
    \$\begingroup\$ On one hand, we seem to have understood each other from the first attempt (for a change), and the help-or-hinder pattern does look like an innovation compared to the standard pattern. On the other, it seems like it still doesn't solve the mentioned meta problem of a failed detection appearing suspicious to the player. \$\endgroup\$ Dec 13, 2019 at 18:43
  • \$\begingroup\$ @vicky_molokh Oh, right. This system also has an unusual approach to failure. Edited. \$\endgroup\$
    – Glazius
    Dec 14, 2019 at 4:54

The exact mechanic is going to be system dependent, but the way I would do it is as follows:

Assume that I am trying to deceive you. I have the skill Deceive at level X, you have the skill Detect Lies at level Y.

Assume that the difficulty for deceiving a person (if I do not have Deceive skill, and you do not have Detect Lies skill) is NORMAL, with a target roll of 8+ on 2D6. This is always a CONCEALED roll; all that you will know for certain is effectively a yes/no answer to the question “Do you know whether I’m lying?”.

When I roll the task, the referee adds my Deceive skill (X), and subtracts your Detect Lies skill (Y). If I succeed at this roll, I succeed by some amount Z. If I fail, I fail by some amount W. (Z = (2D6 + X - Y) - 8; W = 8 - (2D6 + X - Y))

You now roll the task, with the referee adding your Detect Lies (Y) and subtracting my Deceive (X). The referee also adds W, or subtracts Z. If the final result is a success, you are told accurately whether I am lying; if the result is failure, you are told that you have no indication that I am lying, or that you can’t tell either way. (Not detecting a lie is not the same as detecting truth.)

The idea here is that your Detect Lies makes it somewhat more difficult for me to actually deceive you, and my Deceive makes it somewhat more difficult for you to determine whether I’m lying. If I put on a good performance, that makes it still more difficult for you to detect my lies; if I screw up the performance, it makes it a little easier.

If I decide that I’m not going to try to deceive you, the referee should treat my roll as a 2, period - that is, a failure to deceive, with W=6.


Mechanics are always tied to systems so my answer will be based off of systems I have experience in playing.

Truth is subjective, and even if you think you know someone is telling the truth there's always a possibility that they're not. In all the systems I have played that have a Lies/Detect Lies system there is also a persuasion system. I will use D&D 5E as an example here.

I am playing a character with +8 to my insight (detect lies), but my friend is playing a character with -2 insight. We both want the truth from a third character. My Friend and I will roll our Insight vs Character 3's Persuasion because they are, in essence, trying to persuade us that they are telling the truth. As long as Character 3 is an NPC both my friend and I will not know their bonus to persuasion and such we can all roll and the DM tells us what we think. If my friend chooses not to roll then this system works fine, Character 3 either succeeds in convincing me that their telling me the truth or they fail. The problem with this system is that when there is more than 2 characters involved (Truth Teller and Truth Seeker) then we can compare our relevant bonuses and determine who is right.

I'm not sure a design pattern exists for this, it might come down to something like: "Only 1 person is allowed to roll, everyone else can help" so you avoid being able to compare bonuses to Lie Detection and not knowing that the person you're scrutinizing is using persuasion and not deception.

My personal solution for this is asking my players for buy-in. My friend knows he has a low insight but I would ask him to role play it out as if he didn't believe the person anyway despite meta knowledge of the opposite. I would recommend looking at social focused games (or less combat focused ones) and pulling mechanics from them. Both Dogs in the Vineyard and Burning Wheel are more social focused and may have some relevant mechanics to your question, I can't speak to them as I've never played them only heard reviews from other people.


The avant-garde sci-fi RPG named Shock: Social science fiction uses a smart idea that could help you: Double-ended skills/attributes/properties.

Actual mechanics aside, the system uses pairs of opposing concepts to define characters, without normally assigning any preference to any end of the scale. Both ends of the scale could end up helping or hindering the character, depending on the situation at hand. Some examples*:

  • Speed vs. Strength
  • Caution vs. Courage
  • Analysis vs. Empathy

I think you can adopt a similar idea where a strength can become a weakness and vice versa. It would allow your game to put the emphasis on those kind of interactions. The pair I would make for that specific conflict is:

  • Truth vs. Lies

If Alice the actor is trying to deceive Tim the target, more Lies is an asset for both of them, and more Truth is a liability. If This time, Alice is trying to convince Tim that she's telling the (real) truth, the scale works in reverse.

An interesting outcome of this is a grid of possibilities based on what you want to do.

$$ \begin{array}{r|l l} \textit{Actor} & \textit{Target} \\ & \text{More truth} & \text{More lies} \\ \hline \hline \text{More truth} & \textbf{Easy to convince} & \text{Neutral to convince} \\ & \text{Neutral to deceive} & \textbf{Hard to deceive} \\ & & \\ \text{More lies} & \text{Neutral to convince} & \textbf{Hard to convince} \\ & \textbf{Easy to deceive} & \text{Neutral to deceive} \\ \end{array} $$

PS. Read Shock. It's a treasure trove of good ideas

* Shock doesn't actually define those pairs but asks the players to define a common set at the beginning of the game. The examples are from my personal experience.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .