How we train the bots

DokoArena has six established bot generations plus the Paragon beta. Origin, the first, follows the rules and takes a trick whenever it can. Vanguard, the second, added parameters for partner clues, foxes, Karlchen, and saving trump. It still did not know how much those choices mattered for winning.

bot games simulated across training and evaluation
≈1Mbot games simulated across training and evaluation
card decisions recorded across self-play datasets
2.6Mcard decisions recorded across self-play datasets

Generations

Pick a card to read how that generation plays.

Generation 7

ParagonBeta

Against Apex

Competitive58.0%
Casual58.2%

Against all other generations

Competitive66.6%
Casual66.1%

Share of decided games won over 5,000 paired deals. The line marks 50%.

Experimental competitive bot with an independent policy that uses only public information.

The first six generations form a chain. Vanguard added tactical weights to Origin's rule-following base. Ascendant learned those weights, Zenith refined specific card-play mistakes, Horizon tightened restraint and announcements, and Apex added competitive contracts and solo decisions. Each generation kept the previous generation's core and changed the parts we were trying to improve.

Paragon starts over with a different policy. It ranks legal actions using its own public-information model instead of extending the Vanguard and Apex scoring engine. That is why it can make a familiar choice in one position and a completely different choice in another. We kept the lessons that survived the earlier climbs, including protecting partner tricks, handling the heart ten, conserving trump, and judging solos. The rewrite changes how those lessons combine at the table.

Every generation plays with the same incomplete information a person has. Partners stay hidden until the ♣Qs or the contract reveals them.

Head-to-head matrix

Each cell shows the row bot's decided win rate against the column bot. The result uses 5,000 paired deals, competitive Turbo rules, and the game-score metric.

Origin
Vanguard
Ascendant
Zenith
Horizon
Apex
Paragon
Average
Origin
—
27.7%
15.3%
15.8%
19.3%
24.6%
25.1%
21.3%
Vanguard
72.3%
—
37.2%
27.4%
31.1%
33.5%
31.1%
38.8%
Ascendant
84.7%
62.8%
—
37.3%
42.0%
36.9%
33.0%
49.4%
Zenith
84.2%
72.6%
62.7%
—
61.5%
39.2%
34.8%
59.2%
Horizon
80.7%
68.9%
58.0%
38.5%
—
38.7%
34.7%
53.2%
Apex
75.4%
66.5%
63.1%
60.8%
61.3%
—
42.0%
61.5%
Paragon
74.9%
68.9%
67.0%
65.2%
65.3%
58.0%
—
66.6%
Row bot loses moreRow bot wins more

The self-climb loop

Each bot scores positions with about 29 parameters. Turning one up changes how the bot plays.

  • Fox-keepHolds the Ace of Diamonds longer.
  • Trump-conserveStops spending trump early.
  • KarlchenFights harder for the last Jack of Clubs.

The climb loop changes those parameters, tests the new profile, and keeps only versions that beat the previous winner.

The self-climb loop
Mutate parameters
Play against previous winner
Keep winner, discard loser

How difficulty works

In Ranked vs Computer, the bots play around your rating. In Practice vs Computer, you pick Easy, Medium, Hard, or Terminator yourself. Both work the same way, and only Paragon uses these settings. Older generations always play at that generation's full strength.

  1. Easy

    Usually solid, with more frequent suboptimal plays. Still capable of winning hands (and lucky matches).

  2. Medium

    Stronger play with occasional human-like missteps. Default practice level.

  3. Hard

    Near full strength — mistakes are rare.

  4. Terminator

    Unrestricted top strength — always plays its best line.

Card choice

The bot looks at every card it is allowed to play and knows which one it likes best. At Terminator it always plays that card. Easier settings sometimes pick a weaker card instead. The easier the setting, the more often that happens, and the worse that other card is allowed to be.

Solos and announcements

Optional solos follow the same pattern, and so do Re and Kontra. A weaker bot skips those more often, even when the strong one would go for it. A wedding is the exception. If the bot holds both Club Queens, it still announces.

Never at any setting

A few mistakes are forbidden at every setting. The bot will not lead an unprotected Fox, and it will still take a partner's Fox with the Heart 10 when that catch is sitting right there.

What's next

We will keep training stronger bot generations with more self-play, benchmarks against different playstyles, and better adaptation across several games.

We also plan to study player-vs-bot and player-vs-player replays. That will help us identify winning decisions and feed them back to the bots. The long-term goal is a bot that can challenge the strongest players.