Spielio DE

How we made our Rummy AI stronger

Forty thousand measured games, six dead ends, one person who beat the whole lab just by watching — and seven lessons you can use tonight.

Play now ▸

We spent a week trying to make the strongest opponent in Royal Robber Rummy — the one we call Ultra — measurably better at the house game: two full decks, six jokers, twelve-card hands and no discard pile.

We succeeded twice. We also failed six times — including five attempts to teach a machine-learning model to out-judge our hand-written rules, every one of which ended in a tie — and then got out-thought by a colleague who simply watched a game.

Here is the honest version of that week, including the parts that are inconvenient for us. And because a campaign that only teaches the machine would be forty thousand games wasted, the second half is what all of it means for your play.

First: how do you measure “stronger” in a game full of luck?

Imagine two players forced to play the exact same deal — same cards, same order of draws. Any difference in the result can only come from their decisions, because the luck was identical by construction.

That is what we do, hundreds of times per test. The new version of the AI and the old one play the same pre-shuffled decks, from the same seat, against the same opponents. And since one seat among three equal players must win exactly a third of the time, any win rate consistently above 33.3% — on decks the AI has never seen — is skill. Not vibes, not cherry-picking.

  1. Freeze the deck

    Every version faces the identical shuffles, so the cards cannot flatter anyone.

  2. Change one belief

    The candidate differs from the champion in exactly one judgment — never two.

  3. Replay at scale

    Hundreds of games, then hundreds of unseen ones. If a gain does not survive fresh decks, it was noise.

The measurement rig. Unglamorous — and the only reason any number below means anything.

When the week started, Ultra won about 39% of these games. When it ended, almost 43%.

  • A random equal player 33.3 %
    what chance alone gives one of three seats
  • Ultra, one week ago 39 %
    already strong: 5.7 points above chance
  • Ultra today 42.8 %
    two changes produced the entire gain
Games won from one seat, on decks the AI had never seen. Mind the scale: in this game, ten points above chance is what mastery looks like.

Own measurement: each version played 900 games on fixed decks against a frozen reference opponent.

Two changes did all of that work. Neither was the one we expected.

The graveyard first

Most AI write-ups skip this part, which is exactly why it is the useful part. Nearly everything we tried did nothing at all.

A “denial” instinct. Human players do this by feel: if your neighbour is collecting hearts, you do not hand them hearts. We taught the AI the table-wide version — when an opponent gets close to going out, arrange the table so it offers them as few landing spots as possible. Measured effect: zero.

An exact endgame calculator. A tool that answers, with mathematical certainty: if I keep exactly these three cards, which single draw lets me go out next turn? Verified correct to the card. Impressive on paper. Measured effect: zero.

Five machine-learning models. We recorded tens of thousands of real decision moments and trained a small artificial judge to predict which of two near-equal moves wins more often. Five attempts, each more sophisticated than the last. Every one landed at exactly the strength of the hand-written judgment it was meant to replace — never above it.

More raw thinking time. Past a certain point, letting the AI think twice as long changed nothing. It had already considered everything worth considering.

The game kept telling us the same thing from four directions: in Rummy, most close decisions are close because the shuffle has not decided yet. There is less hidden skill in the margins than anyone — us included — wants to believe.

The first win: the AI was being cut off mid-thought

Embarrassing in hindsight. Ultra plans each turn against a thinking budget — a hard cap on how many possibilities it may examine before it has to act, there so the game stays instant on your phone. On complicated turns — big hand, crowded table — that budget was quietly running out mid-analysis. The AI was being forced to move exactly when things got interesting, like a chess player whose clock expires mid-combination.

Letting it think longer only on complex turns (so it stays instant everywhere else) was worth a large, repeatable jump — more than any strategy idea we had. The lesson went on the wall: before you invent new cleverness, check whether the cleverness you already have is allowed to finish its sentence.

The second win: someone watched one game and beat the whole lab

One of us simply watched Ultra play. No instruments. And noticed something: it never keeps a joker. The instant it could get one out of its hand, it did. Every time.

Any experienced player will tell you that is wrong. Early in a long game, a joker in hand is options — the one card that finishes almost any combination later. So why was the AI dumping it? Because a joker in hand costs 20 penalty points if someone else goes out, and the AI’s judgment weighted that risk far too heavily, far too early. Its caution had fossilised into a habit.

We don’t ship hunches, though, not even good ones. So we built a test that replays a real game moment in identical parallel universes: same hidden cards in every opponent’s hand, same future draws — the only difference is the one decision under test. Keep the joker in universe A, spend it in universe B, play both to the end. If keeping wins more often, that cannot be luck; the luck was identical by construction.

One real moment, played twice

Same hidden cards in every hand, same future draws. Exactly one decision differs.

  • Keep the joker

    Bank the flexibility; carry the 20-point risk a while longer.

    Won more games — in every batch

  • Spend it now

    Get it out of your hand the moment it fits somewhere. The AI’s old reflex.

    The habit we had accidentally trained

Across 125 measured opportunities, the AI had kept the joker zero times. Keeping it won more.

The parallel-universe rig: the only honest way to ask “what if?” in a game this noisy — because both universes get exactly the same luck.

We gave the AI a counterweight — value the banked joker early, play it late — and raced the new version over 900 fresh decks. It won 3.8 percentage points more, in every block, with better scores even in its losses.

One person, watching one game, out-produced our entire literature-informed research pipeline. We have since built a tool that does what that pair of eyes did: it audits thousands of the AI’s turns and flags every never does X / always does Y habit automatically. The machine now generates the kind of hunch it used to need a human for — and its next two flags are already under test.

Then we hired an assassin

To close the week we ran the harshest test we know, borrowed from the labs that cracked StarCraft: build a sparring partner whose only job is to beat the champion.

Ultra’s judgment is, at bottom, a bank of sliders: how strongly it fears feeding opponents useful cards, how urgently it sheds points when someone is close to going out, how much it values a joker in hand, and so on. We handed an automated adversary every one of those sliders, the same thinking time, and a single goal — beat the champion with any settings it can find. Then we let it tune itself against Ultra for twenty-four rounds, hunting for a habit to punish.

It found nothing. Its best attempt played worse than the champion on fresh decks. It even fiddled with the new joker instinct and set it back roughly where we had put it.

Seven lessons for your game

Everything below was measured against strong opposition on fair decks — which is more than most strategy folklore can say.

1. Bank your joker early, play it late

Say you hold ♥7 ♥8 and a joker early on. Melding them right now feels productive — but there the joker is only doing a job any ♥6 or ♥9 could do. Kept in hand, it stays universal: draw two kings and it completes those instead. Played early it is one meld; held, it is the missing piece of whichever meld arrives next.

Playable right now as a run — and a waste of the most flexible card in the deck. While the stock is deep, hold it.

When hands shorten and someone might go out, the 20-point risk turns real. That is the moment to get it down. This single habit was worth more than any other change we made all week.

2. Never leave your joker robbable

If you do play it, weld it in: put it where lifting it out would destroy the meld — which the rules forbid, so nobody can.

Careless: the joker dangles at the end, standing in for the 8♥. Any opponent holding the real 8♥ swaps it out and walks off with a free joker — the run survives as 5–6–7.
Welded: the joker stands in for the 7♥, inside the run. Pull it and the meld breaks in half — so it cannot be robbed at all.

3. The shortest enemy hand is your countdown

An opponent is down to two cards. Those three unmelded face cards you were saving for a masterpiece? That is 30 penalty points about to be locked into your score. Break up the dream, get the points onto the table, survive the round.

Ultra’s “panic-shed” instinct is one of its most valuable — and when our assassin attacked the champion, the one slider it kept trying to push was exactly this urgency, upward.

4. Steal with purpose

Robbing a ♦9 just because you can means your hand grows by a card you now have to get rid of — and it counts 9 against you if someone goes out first. Ultra passes on about two of every three robberies available to it. The question is never can I take it? but does this card bring me closer to going out?

5. Don’t slow-roll your melds

A completed ♣Q ♦Q ♠Q sitting in your hand is 30 points of pure risk that helps nobody. On the table it is zero risk. Hoarding everything and revealing late is beloved at kitchen tables; in the parallel-universe rig it measured clearly worse. (We are still testing milder versions — holding back only your finished melds — and will report the number when it lands.) Secrecy feels clever, but this is not poker. Tempo wins.

6. Work out when the round ends — then act like it

Without a discard pile, every turn consumes exactly one card from the stock. So the end of the round is public arithmetic, not hope: twelve cards left, three players → four turns each. You can count it on your fingers, and the AI counts it exactly.

If going out in four turns is no longer realistic, your goal flips: stop chasing the win and start shrinking your hand’s penalty points.

7. Judge yourself over dozens of games, not one

If a near-perfect AI wins 43% of seats where chance alone gives 33% — and an AI that sees every card barely does better — then one bad evening tells you nothing whatsoever. Luck is loud; skill is a whisper that only becomes audible over many rounds. Play accordingly, and be kinder to yourself about a single loss.

Play the AI that banks its jokers

Ultra is live, and it now holds its jokers like a seasoned club player. See how you fare.

Play free ▸

If you spot a habit in Ultra — something it always does, or never does — tell us. The best research lead we got all week walked in through exactly that door. Newer to the game? Start with the rules, or the five habits of strong Rummy players.

Sources
  1. Spielio: Royal Robber Rummy AI strength campaign, 2026-07-06 → 2026-07-13 — our own measurements — roughly 40,000 games on fixed decks against frozen reference opponents, on the house preset (2 decks, 6 jokers, 12-card hands, no discard pile); every figure on this page comes from that log
  2. Vinyals et al., “Grandmaster level in StarCraft II using multi-agent reinforcement learning”, Nature 575 (2019) — the source of the exploiter idea: adversaries trained for the sole purpose of finding a champion’s blind spots
  3. John McLeod, “Rummy”, Pagat.com — rules reference for the Rummy family, including card values

Updated: 2026-07-13