Rock Paper Scissors
Play three opponents — one random, two that model your history — and watch a live readout of how predictable your throws have actually been.
Uniform, every round, ignoring everything you do. Cannot be beaten and cannot beat you — over a long session this one ends level with anybody.
Choose your move
What you have given away
| Rounds | ✊ Rock | ✋ Paper | ✌ Scissors | Worth to a reader | Guessed you |
|---|---|---|---|---|---|
| 0 | — | — | — | — | — |
Play a few rounds and this fills in. “Worth to a reader” is what a perfect opponent would earn per round from your move mix alone — zero means you are giving away nothing.
There is exactly one unbeatable way to play
Play each option a third of the time, independently every round. What makes that optimal is not that it wins — it cannot, the game is symmetric — but that it cannot lose. Against uniform play all three replies are worth exactly zero, so an opponent who could read your mind would gain nothing from it.
Every other strategy has a price, and the price is computable exactly. Taking the best reply to each:
| How you play | Best counter | What it earns them, per round |
|---|---|---|
| Perfectly uniform | anything — all equal | 0.000 |
| Ten points of rock bias | paper | 0.150 |
| Rock half the time | paper | 0.250 |
| Never scissors | paper | 0.500 |
| Always rock | paper | 1.000 |
Only uniform play sits at zero, and we check that by searching the whole space of strategies rather than asserting it — of 1,326 mixes tested across every combination, not one non-uniform strategy has a price of zero.
There is a tidy law hiding in that table. Over-weight one throw by d and share the shortfall between the other two, and the best counter earns exactly 1.5 × d per round. So a ten-point rock habit — throwing rock 43% of the time instead of 33% — costs 0.15 a round, or 15 net losses over a hundred rounds. That is a substantial deficit from a tendency most people would not know they had.
Which makes it a game about prediction, not strategy
Since the optimal strategy is fixed, known, and takes one sentence to state, there is nothing to work out. If both players use it the game is a coin flip and no skill exists at all. Every real edge in competitive play comes from the other half of the problem: people are poor random number generators.
The known human tendencies all show up as exactly the kind of bias priced above — alternating more than chance would, avoiding the same throw three times running, switching after a loss. None of them feels like a pattern from the inside, and all of them are worth a fraction of a win per round to anyone paying attention.
That has an awkward consequence for the game above, and it is worth being straight about which opponent you have picked. Random is the honest coin flip: unbeatable and unwinnable, finishing any long match at almost exactly even whatever you do, because nothing you choose changes the arithmetic. If your score drifts far from even against that one, it is variance rather than skill and it will drift back.
The other two are the real game, because they model you. Frequency counts your throws and plays the counter to your favourite — the exact bias priced in the table above. Pattern ignores your totals and looks at order instead: what you played the last few times this same short run of moves came up, checking runs of three, then two, then one, and only trusting a context it has seen at least 2 times. Both break ties at random, because an opponent that always resolves a coin flip the same way is itself a habit you could read.
Which habits lose, and to which opponent
Everything above this point is exact arithmetic. This part is measured instead — four ways of playing, put in front of each opponent for 2,000 rounds from a fixed seed, so the table is the same on every build. The figure is the player's score per round: 0 is level, negative means the computer is winning.
| How the player plays | vs Random | vs Frequency | vs Pattern |
|---|---|---|---|
| Perfectly random the only way to play with nothing in it to read | -0.011 | -0.009 | -0.025 |
| Always rock the beginner tell, and the easiest thing in the world to punish | -0.024 | -1.000 | -1.000 |
| Switches after a loss win-stay, lose-shift — the commonest habit in human play | -0.004 | +0.333 | -0.985 |
| Cycles rock, paper, scissors a perfectly even mix that is still perfectly predictable | -0.021 | +0.319 | -0.997 |
The first row is the point of the whole page: play genuinely at random and all three opponents are level with you, because there is nothing there to read. The second is the obvious one — always rock loses a full point a round, every round, to anything that is counting.
The bottom two rows are the interesting ones, and they are why there are two exploiters here rather than one. Switching after every loss, and cycling rock-paper-scissors in strict order, both produce a perfectly even mix of throws. The frequency counter therefore sees nothing at all and they beat it comfortably — about a third of a win per round. Their whole structure is in the order of the moves, not the count of them, and the moment an opponent looks at order they collapse to roughly minus one. An even mix is necessary to be unreadable. It is nowhere near sufficient.
How to use
- Pick an opponent: Random, Frequency, or Pattern.
- Pick a match length, or leave it endless.
- Choose rock, paper or scissors.
- See the computer's choice and the result.
- Watch your running score.
- Check the readout for how much your play is giving away.
Frequently asked questions
Is there any strategy at all?
Against a truly random opponent, no — every choice wins a third of the time and nothing can improve on that. Against a human, very much so, because humans are poor at being random and produce exploitable patterns without noticing.
What patterns do humans fall into?
Several well documented ones. Players tend to repeat a winning throw and switch after losing. Beginners open with rock disproportionately often. And people avoid repeating the same throw three times in a row, because it feels non-random even though a random sequence would do it regularly.
So how should I play against a person?
Exploit the win-stay, lose-shift tendency: if your opponent just lost, they will probably switch, and switching most often follows the sequence order. Against a strong player, the safest approach is genuine randomness — using something external to choose, since you cannot generate it in your head.
Is there a world championship?
There have been several, and tournaments with meaningful prize money. Strong players read opponents' tells and manage their own patterns deliberately, which makes it far more of a contest than the mechanics suggest — though nobody claims the results are free of luck.
How does a computer opponent play well?
By recording your history and predicting your next throw from your recent sequence. A simple pattern-matching program beats most humans over a long series, which is the clearest demonstration of how non-random human choices really are.
What about the extended versions?
Adding lizard and Spock, or more gestures, keeps every pairing decisive but does not change the underlying game — with an odd number of options, each beats half the others and loses to the other half. More options simply makes patterns harder to spot, which slightly favours the weaker player.
What is the difference between the three opponents here?
Random throws uniformly and ignores you completely, which makes it both unbeatable and unwinnable — any long match against it finishes near even whatever you do. Frequency counts your throws and plays the counter to whichever you favour. Pattern ignores your totals and looks at order instead: what you played the last few times this same short run of moves came up, checking runs of three, then two, then one, and only acting on a context it has seen at least twice.
Can I beat the pattern-matching opponent?
Only by being genuinely unpredictable, and that is harder than it sounds. Playing an even mix is not enough. A player who cycles rock, paper, scissors in strict order throws each exactly a third of the time, so their mix gives away nothing at all and the frequency counter is helpless — measured over 2,000 rounds they beat it by about a third of a point per round. The pattern opponent reads that same player at roughly minus one per round, because all of the information is in the order rather than the totals.
What does the worth-to-a-reader number mean?
It is what a perfect opponent would earn per round from your move mix alone, and it comes from the same exact pricing as the table on this page. Zero means your totals are even and give nothing away. A tenth means a counter-player who knew only how often you throw each option would take about ten net wins off you per hundred rounds. It says nothing about the order of your throws, which is why you can sit at zero and still lose to the pattern opponent.
🔒 This tool runs entirely in your browser. Nothing you enter is uploaded, logged, or stored.