Crazy Eights/Uno Strategy: I played billions of games so you don't have to
Much more than you wanted to know
Also in this series: Monte Carlo simulations of Mexican Train, Love Letter, and Resistance/Avalon
Crazy Eights is a public domain card-shedding game playable with a standard deck, where the goal is to unload your cards by matching the last suit or card value played, and “eights” have the crazy
ability to change suit and be played on anything.
Uno is the variant of this game that people make actual money off of, although with its 108 playable cards, it looks suspiciously like two decks of cards shuffled together with their jokers, with special roles assigned to some of the cards taken from house rules. Uno also seems to be orders of magnitude more popular than Crazy Eights, based on search results and board game geek ratings. There are at least 238 published variants, with my personal favorite being the aspirational Non-Partisan Uno.
I’ve never known anyone who played Uno according to the recommended rules, but for the record here are the official differences from Crazy Eights
Crazy Eights requires players to draw until they have a playable card, Uno requires players to draw once then pass if they cannot play.
Uno has twice as many cards of each value (as a result of being two decks shuffled together). Uno has Skip cards which skip the next player, Reverse cards which change the direction of play, Draw 2s which skip a turn and make the next player draw two cards, Wilds which can be played at any time and change suit, and Wild Draw 4s which change suit and make the next player skip a turn and draw four cards.
According to the official rules, Draw 2s and Wild Draw 4s can not be “stacked” to pass on the effects (seems like a miss, the game has been out for 50 years), and Wild Draw 4s should only be played if you have no suit matches, or it becomes a bluffing scenario with penalties for the wrong party if a bluff is called
Unlike Crazy Eights, the official goal of Uno is not to “go out”, but to score 500 points, by going out and adding up the remaining cards in everyone else’s hands as your score for a round.
Crazy Eights is the simpler game (Uno with half the deck size and only wilds), so let’s start by analyzing that, and see what principles carry over. You may notice some superficial resemblances to Mexican Train, although that game is dominated by path-finding given your ability to plan ahead.
Strategy
Let’s start with a couple pieces of advice from the top page of Google results that don’t hold up:
Because players could not predict what card they will need or what will be drawn, the only real strategy is simply deciding when to use a crazy eight to try to shift the game in their favor.
Fact-check: Mostly False. As we’ll soon see, there are meaningful performance edges that can be achieved by optimizing non-eight play.
Generally play a rank match before a suit match. But think about this depending on the cards you have. One may be a much better play than the other.
Fact-check: Mostly True. A player who preferentially tries to match suits will underperform a player who preferentially tries to match rank (matching suits even underperforms a player who picks random legal plays and uses their eights intelligently). However, both strategies are less effective than trying to shift play to your longest suit.
Let’s start with a breakdown of some basic strategies:
Random
. Make a random legal play.
WildHoarding
. Save your Eights/Wilds for last, and use them to shift to your most common suit. (all other strategies except Random include this)
SuitMatching
. Preferentially match suit when you can.
RankMatching
. Preferentially match rank when you can.
MostCommonSuit
. Try to shift play to your most common suit.
Defensive
. (includes MostCommonSuit). When picking cards within a suit, try to play cards you have the most matching ranks on, which are hardest to match/most likely to come back to. (e.g. if the active card is 4♥ and your cards are 5♦ Q♦ 2♥ 6♥ Q♥, play Q♥)
CardCounting
. (includes MostCommonSuit). When picking cards within a suit and you are long in a suit, play the card your opponents are least likely to match rank on, based upon card-counting for all cards seen.
Strategies 1-6 are all context-free strategies; they tell you what move to make given the cards on your hand and the active card you need to match, with no historic knowledge required. Strategy 7 requires you to retain information about what has been played in the past.
So how do they compare? Let’s check in with a Monte Carlo simulation where we make each strategy play each other strategy 5 million times. The number in each cell shows the average winrate for the strategy in that row, against the other strategy in that column. For example, Random wins 42.1% of the time against SuitMatching, and SuitMatching wins 57.9% of the time against Random.
There are clearly diminishing returns from optimization; simply steering things to your most common suit does as well as any other strategy except in 1 in 50 games, and the best context-free strategy does as well as card-counting except in 1 in 100 games. I doubt I’ve hit the skill ceiling yet, and these margins would compound if tracked over multiple rounds or with scoring.
One other quirk of Crazy Eights? It can reach an indefinite stalemate, if players play their eights selfishly. It is possible for 2-4 players to perfectly partition all the suits between them, so all the clubs are with one player, all the diamonds with another, etc, and the only remaining cards in the deck are eights. In this scenario, play rotates with everyone drawing an eight, changes it to one of their own suits, and the game continues like this forever. (This can also happen if four players simply have different preferred suits, the next player cannot match those suits, and the cards all get partitioned in a way that each player can only play an eight to make progress)
When I was testing my simulator, I initially thought this was a bug; none of the rulebooks I checked online suggested this was a scenario the rules needed to account for. My testing suggests that once players use their eights intelligently (past the Random strategy), you hit a stalemate about 1 in every 400 games for 4 player games, and once every 27,000 games for 2 player games. The stalemate can be broken if any player uses an eight not to their own advantage; for the purposes of my simulator I counted these stuck games as ties and excluded them from the winrates.
All right, on to Uno.
Uno Strategy
To start, let’s run all the same strategies again with Uno’s ruleset and see how they perform for the same win condition, going out first in a normal game, keeping the unlimited draw rule for now.
This table resembles the one for crazy eights; the same ranking of strategies applies, Random generally performs better against stronger strategies, but similar margins apply.
One significant difference not shown here is that stalemate scenarios are way less common, due to the larger deck size. They drop from 1 in 400 games to about 1 in 10,000 games at 4 players (although this seems to vary by strategy), and from 1 in 27,000 games at 2 players to a tie every 50 million games.
Switching to Uno’s single draw rule produces a very similar table.
SuitMatching no longer loses to playing WildHoarding, and the card counting strategy’s margins generally increase, strangely enough. Ties seem to effectively disappear with players only requiring single draws and not building up as large hands, happening less than every 1 in every 50 million games.
So, what additional strategies should we try that are unique to Uno? How about preferentially unloading your special cards that harm other players? Well, the results here are not what I expected.
At two players, preferentially playing Skips and Draw2s over other cards outperforms playing cards randomly, layered onto other strategies as well
At four players, the opposite is true. Playing your Skips and Draw2s early makes you less likely to win than random play, which is also true when layered onto the other strategies
At 2 players, this makes complete sense; playing cards that skip your only opponent’s turn and gives you two turns in a row increases the chances you can unload a lot of cards quickly and win before they get a chance to do anything. It’s less intuitive why this would be the case at 4 players, but a possible hypothesis is that draining your offensive cards early means you’re less likely to stop a player when they’re about to go out.
So, another strategy to try would be to hold back offensive cards until a player has called “Uno" and has one card left; if you're going to add cards to your opponent's hand, it's better to do so at the last possible moment, because before then they might draw without your help.
Interestingly, this strategy seems to yield an edge when added onto the basic stategy of playing your MostCommonSuit, but breaks even or does worse when paired with most other strategies, meaning that playing Defensive or CardCounting still hold an edge.
To conclude:
The same set of strategies apply to both CrazyEights and Uno, if you know one game you effectively know the other.
Trying to keep play in your longest suit is a clear advantage
Combined with targeting your longest suit, playing cards you know have fewer rank matches (either by checking your own hand with the Defensive strategy, or by CardCounting), seems to dominate all other strategies.
This may be because these cards are both harder for your opponents to match, and less likely for you to find matches against in the future, so if you have the opportunity to unload them, you should.Offensive play, where you play differently to try to harm your opponents close to victory, seems to basically not matter (admittedly, this could be optimized more)
I doubt I’ve exhausted what’s possible here (particularly with CardCounting, and tracking what your opponent might be able to play), so I’d be interested to know if other people have thoughts.