In the card game ?Bullshit? (aka ?Cheat? or ?BS?), players can lie about their cards for an advantage. Calling someone?s bluff is risky ? if you?re wrong, then you?re punished. Players aren?t incentivised to call bullshit on someone else because it incurs too much personal risk.
I wanted to dive into the game theory of ?Bullshit? so I wrote a short application to simulate the game. I coded several different strategies, played them against each other thousands of times, and worked out the win rate of each strategy.
You can try playing against the best strategies yourself here. It?s tough! Hopefully, the rest of this post will help you win.
I picked ?Bullshit? for this experiment because the rules were simple and easy to code. There are several other games which employ similar strategies of lying to gain an advantage (such as Coup), but they are more complex.
?Bullshit? is played with a standard deck of 52 cards. First, you deal out all the cards in the deck. Then, each turn is played as followed:
- Player 1 places any number of cards face down in a stack and claims they are all aces. They must play at least one card, so may be forced to lie.
- Any player can call bullshit if they don?t believe player 1.
- If player 1 lied, then they pick up all the face-down cards, including any that were put down on previous turns. If player 1 told the truth, the bullshit-calling player picks up all the cards. If no-one called bullshit, then play just continues.
- Either way, it?s player 2?s turn and they add cards to the stack claiming they are all 2?s.
- The game continues like this, incrementing the card each turn all the way to the king and then restarting with the ace.
The game is over when one player gets rid of all their cards. You can see more details on the rules here.
- First, I wrote a script to play the game out with certain strategies. Each player has two complementary strategies encoded: a ?bluffing? strategy that dictates how they play, and a ?calling? strategy that determines when they call bullshit on other players.
- For each strategy, I played it against three other players with random strategies 5,000 times and saw how often it won.
- I then removed the bad strategies and ran the experiment again so that poor strategies didn?t skew my results.
The code is all open source: https://github.com/plivesey/bs. Please submit suggestions for other interesting strategies!
Here are all the strategies I decided to test. Remember, if a strategy performs poorly, it?ll get removed and I?ll run the test again.
The Saint ? never lies unless forced. For example, if they have to play an ace, but have no aces, they will be forced to lie.
The Dabbler ? lies 10% of the time.
The Coin Flipper ? lies 50% of the time.
Mr. Pathological ? always lies.
The Pusher ? always lies when they have a single of one card.
The Game Theorist ? calculates the expected value of lying based on the chance bullshit is called and only lies if it?s worth it.
Naturally, I had high hopes that the game theorist would perform very well.
The Closer ?doesn?t lie if they can finish the game without doing so. Otherwise, plays as the game theorist would. For example, if they are required to play an ace and have an ace, a five and a nine, then they can guarantee finishing in three turns. In this case, they will never lie. If they had an ace, a two and a five, then they won?t be able to finish so will play as the game theorist would.
The Comeback Kid ? lies with much higher percentages when losing and never lies when winning.
The Comeback Closer ? plays like the comeback kid unless they can finish off the game without lying.
The Pathological Closer ? always lies unless they can finish the game without lying.
The Believer ? never calls bullshit.
Once in a while ? calls 10% of the time.
Two-face ? calls 50% of the time.
The Accountant ? keeps track of how much people lie or tell the truth. Every time someone lies, double the percent chance of calling on them, and every time someone tells the truth, half this chance.
The Salty One ? calls every so often only on the winning player.
The Skeptic (source)
The Skeptic ? calculates the chance the player actually has the card they claim and calls if this is lower than 25%.
Nervous Norbert ? calls the player to the right if they would have to lie on the next turn. This will hopefully clear the discard pile to lessen the risk of needing to lie.
The Collector ? calls out players if the number of cards played plus the number of the same card that the collector has in their own hand equals four. This means that even if the called-out player is telling the truth, the collector gets four-of-a-kind.
The Salty Accountant ? plays like the accountant, but calls much more often on the leader than other players.
There are a couple of tactics that every player uses since it?s always advantageous.
First, if the current player has no cards remaining, you should always call bullshit on them. Otherwise, you will immediately lose.
Second, when lying with a card, you always want to lie with your ?worst card.? Your ?worst card? is the card which you won?t get a chance to play without lying for the longest time. This is actually trivial to calculate. When this strategy is used against three players that instead pick a random card, the player with this strategy wins 63% of the time!
The Initial Results
After over 120,000 simulated games, I got some initial results.
When bluffing, the more you lied, the more you lost.
- The Saint (avoid lying) won 51% of games (remember, since there are 4 players, the expected value is 25%).
- Mr. Pathological (lies 50% of the time) only won 2% of games.
- Surprisingly, the Closer (who didn?t lie if they could finish without lying) didn?t do well (9%).
- However, the Comeback Closer (who lied when losing) did much better (43%).
- The Game Theorist (who lied if bullshit wasn?t called much) also didn?t do as well as I expected (28%).
When deciding when to call people out, less was more.
- Players who never called bullshit won 42% of their games.
- Players who called 50% of the time only won 10%.
- I was surprised that the Accountant (who keeps track of how much each player lies) didn?t do well at all. This is probably because you don?t get too many opportunities in one game to see if someone is lying and gathering this information is expensive.
- The Salty One, which only ever called on the leader, also did well ? winning 38% of their games.
You can see all the results here.
The Best of the Best
After a couple of rounds removing the worst-performing strategies, I whittled it down to the best four bluffing and four calling strategies.
The best bluffing strategies were the Saint and the Comeback Closer.
- The Saint was the better of the two; however, it did poorly (winning only 15%) against the believer (who never calls bullshit).
- The Believer (who never called bullshit) ended up being the best calling strategy (winning 39% of games).
You can see the full results of round 2 and 3 here.
This caused me to try to work out the best bluffing/calling combination strategies. I tested a few different combinations based on the results of my previous runs and found the best combination strategies:
- Comeback Closer + The Believer (only lie when losing and never call)
- The Saint + The Believer (never lie and never call)
- Comeback Closer + The Salty One (only lie when losing and only call on the leader)
These three strategies in general did well, but had specific strengths and weaknesses when played against each other. This led me to create a ?metagame? for the best strategies.
Surprisingly, Urban Dictionary gives the best definition I could find for the metagame:
The highest level of strategy in many complex games, metagame refers to any aspect of strategy that involves thinking about what your opponent is thinking you are thinking.
The best combination strategy is the Comeback Closer (when bluffing) and Believer (when calling). However, if everyone you?re playing against uses this strategy, the best counter is to always lie and never call bullshit. Obviously if no one is going to call bullshit, you should always lie. This strategy is best beaten by a combination of the Comeback Closer and the Salty One (who calls bullshit every so often on the leader). Hence, we?re left with the following triangle:
The ?Bullshit? Metagame
Every experiment so far has also examined playing games in isolation. The metagame is even more important when playing multiple games with the same people. You can try to determine other player?s strategies and pick countering strategies.
Of course, you should only play the metagame if your opponents are! If your opponents are using random strategies, you should simply avoid lying and never call. Against random strategies from above, this combination wins 69% of games!
Anecdotally, I?ve never played a game where every other person was using the ?never call? strategy. People hate being lied to. So, psychologically, it?s really difficult not to call bullshit on someone playing a pair with a fake smirk on their face. Outside simple card games, this instinct to hate liars is a good one.
As we?ve seen here, the best strategy is to never call people out for lying. But, since no one is incentivized to stop other people from lying, this strategy allows others to lie without repercussion ? a tragedy of the commons. No one is individually incentivized to stop other people from lying, which allows people to lie. Sadly, in the game ?Bullshit,? the heroes who stand up to the liars are often the ones to lose the game.
Therefore, if you simply avoid lying, never call, and make sure to discard the right card when you?re forced to lie (see the Tactics section above), you?ll have great winning chances.
Now you know the best way to win, why don?t you try playing against these strategies? I wrote a simple web application where you can play against a few of the best strategies: https://plivesey.github.io/bs/. Let me know if you find ways to consistently win!
Thanks to Brad Svenson, Nate Eborn, Alice Avery, Kyle and Ethan Goldblum for reviewing this post.
Kyle is the author of a fantastic game theory blog ? https://www.notjustagametheory.com/.