Game Engine
The simulation is built around a DartsCricketGame class that enforces all
standard Cricket rules:
- 7 targets: 15, 16, 17, 18, 19, 20, Bullseye
- 3 marks to close each target (single = 1 mark, double = 2, triple = 3)
- 3 darts per turn
- Alternating turns, with first-player advantage mitigated by alternating who goes first each game
- Points scored at face value (15–20, Bull = 25) after closing, only while the opponent hasn’t closed the same target
- Win condition: all 7 targets closed and score ≥ opponent’s score
- Maximum 200 turns per game to prevent infinite loops
Skill Model
Frongello’s original study tested strategies at equal skill (all players hit targets with identical accuracy) and at a 95% relative skill difference. We extend this with probabilistic skill profiles that model how darts actually land. When a strategy aims for a specific hit type (e.g., triple 20), a random draw against the player’s profile determines the actual outcome — triple, double, single, or complete miss.
What Is MPR?
MPR (Marks Per Round) is the standard metric for darts player skill, measuring marks earned per 3-dart round. In real-world darts leagues, MPR counts all marks thrown — including excess marks on already-closed targets. Our simulation measures empirical MPR the same way. Typical real-world ranges:
- Novice: MPR ~0.8 — misses most throws; rarely closes a target in one turn.
- Amateur / casual: MPR ~1.0 — the recreational bar-player level.
- Regular league: MPR ~2.0 — weekly practice; lands a triple occasionally.
- Skilled / very skilled: MPR ~3.0 — tournament-level consistency.
- Pro: MPR ~5.0+ — elite precision; triples are the expectation.
How We Build Skill Profiles
We don’t have access to raw professional throw data. Instead, we hand-calibrated three base profiles — Low-skill base, Mid-skill base, and Pro-skill base — informed by published research on darts accuracy (Tibshirani et al., 2011; Haugh & Wang, 2022). Each base defines a probability distribution over outcomes when aiming for triples: what fraction hit the triple, downgrade to a double, downgrade to a single, or miss entirely.
The key difference between base profiles isn’t just accuracy — it’s the shape of the outcome distribution. An amateur who misses a triple is more likely to hit a single (the dart lands in the wider single segment); a pro who misses is relatively more likely to hit a double (they’re close to the target but just off).
Three Base Profiles
| Profile | MPR | Triple | Double | Single | Miss | Real-World Equivalent |
|---|---|---|---|---|---|---|
| Pro-skill base | 5.64 | 41% | 20% | 25% | 14% | PDC Tour level |
| Mid-skill base | 4.92 | 30% | 22% | 30% | 18% | Strong tournament player |
| Low-skill base | 3.60 | 15% | 20% | 35% | 30% | Skilled tournament player |
Outcomes shown are for aiming at triples. Each base profile also defines distributions
for aiming at doubles and singles (used when strategies target those hit types).
MPR values are theoretical: 3 × (T×3 + D×2 + S×1).
Scaling to 11 Skill Levels
To cover the full range of real-world ability, we generate 11 skill levels from these three bases. For each target MPR, the system:
- Picks the closest base profile by MPR distance
- Computes a scale factor:
scale = target_MPR / base_MPR - Multiplies all non-miss probabilities (triple, double, single) by that factor uniformly
- Assigns the freed probability mass to “miss”
This preserves each base profile’s characteristic outcome shape (the ratio of triple:double:single downgrades) while adjusting overall accuracy. Three levels (MPR 3.6, 4.9, 5.6) use base profiles directly; the other eight are scaled versions.
All 11 Skill Levels
The complete set of outcome distributions when aiming for triples at each skill level. Note the shape change between MPR 4.0 and 4.9 where the base profile switches from Low-skill to Mid-skill:
| MPR | Base | Triple | Double | Single | Miss |
|---|---|---|---|---|---|
| 0.80 | Low-skill base ×0.22 | 3.3% | 4.4% | 7.8% | 84.4% |
| 1.00 | Low-skill base ×0.28 | 4.2% | 5.6% | 9.7% | 80.6% |
| 1.20 | Low-skill base ×0.33 | 5.0% | 6.7% | 11.7% | 76.7% |
| 1.50 | Low-skill base ×0.42 | 6.3% | 8.3% | 14.6% | 70.8% |
| 2.00 | Low-skill base ×0.56 | 8.3% | 11.1% | 19.4% | 61.1% |
| 2.50 | Low-skill base ×0.69 | 10.4% | 13.9% | 24.3% | 51.4% |
| 3.00 | Low-skill base ×0.83 | 12.5% | 16.7% | 29.2% | 41.7% |
| 3.60 | Low-skill base (direct) | 15.0% | 20.0% | 35.0% | 30.0% |
| 4.00 | Low-skill base ×1.11 | 16.7% | 22.2% | 38.9% | 22.2% |
| 4.92 | Mid-skill base (direct) | 30.0% | 22.0% | 30.0% | 18.0% |
| 5.64 | Pro-skill base (direct) | 41.0% | 20.0% | 25.0% | 14.0% |
Highlighted rows use base profiles directly. The MPR values shown on the Results page are empirical (measured from tournament games), which are slightly lower than the theoretical values here.
Outcome Distribution by Skill Level
This chart visualizes the outcome breakdown when aiming for triples at each of the 11 skill levels. At the lowest levels, misses dominate (>80%); at pro level, triples are the most common outcome. Notice the shape shift between MPR 4.0 and 4.9 where the base switches from Low-skill to Mid-skill — the triple percentage jumps while singles drop.
The Shape Discontinuity
The chart reveals an important artifact of this approach. From MPR 0.8 through 4.0, all profiles are scaled from the Low-skill base — so they share the same outcome shape where singles are always more common than triples (a missed triple is more likely to land in the wider single ring). At MPR 4.9 the base switches to Mid-skill, and at 5.6 to Pro-skill. These profiles have a fundamentally different shape: triples are as common as or more common than singles, reflecting that skilled players miss by smaller margins.
This means the jump from MPR 4.0 to 4.9 isn’t just an accuracy increase — it’s a qualitative change in how darts miss. In reality, this transition is gradual. Our three-base system approximates it as a step function. This is a known limitation, but the alternative (fitting continuous models to professional data we don’t have access to) would introduce its own assumptions.
Empirical vs. Theoretical MPR
The MPR values in the table above are theoretical — the expected marks per round if every dart aimed at triples:
Theoretical MPR = 3 × (T×3 + D×2 + S×1)
The empirical MPR values shown on the Results page are measured from actual tournament games, where strategies don’t always aim for triples. Strategies sometimes aim for singles or doubles depending on game state, which slightly lowers the observed MPR. The empirical values are typically 1–5% lower than theoretical.
Bull Difficulty Model
One limitation of both Frongello’s study and our initial simulations was treating the bullseye identically to numbered targets. In reality, the bullseye is geometrically much smaller than numbered segments on a dartboard — the single bull ring is roughly half the width of a single segment, and the double bull (inner ring) is tiny. This means real-world bull accuracy is significantly lower than accuracy on numbers.
To model this, we introduced a bull difficulty multiplier that reduces all non-miss probabilities (triple, double, single) when aiming at bull, with the freed probability mass added to misses. For example, at 0.75×:
- A pro player who normally hits bull-single 25% of the time now hits 18.75%
- A pro player who normally hits bull-double 20% now hits 15%
- Miss rate on bull increases proportionally
- Accuracy on numbered targets (15–20) is unchanged
We ran full 30-strategy round-robin tournaments at all 11 MPR levels with the bull multiplier set to 0.75× (20,000 games per matchup). The impact is modest but real: E1 loses about 1.5pp on average and slips from the top five to #8–#9, while chase strategies (S11–S17) gain 1.2–1.4pp. Phase Switch is essentially bull-invariant. See the Bull Analysis page for the full comparison.
Pending: Full Sensitivity Sweep
Additional tournaments at bull multipliers of 0.5× and 0.25× are planned. These will reveal the full dose-response curve for bull difficulty, including whether E1’s collapse has a critical threshold and how the mild equalizing effect scales to more extreme bull penalties.
Tournament Design
- Format: Full round-robin — every strategy plays every other strategy
- 31 strategies: S1–S17 (Frongello), E1–E12 (experimental), PS (Phase Switch), X188 (Shape Reader)
- Matchups per symmetric job: 465 (upper triangle of 31×31)
- Matchups per asymmetric job: 961 (full 31×31, since symmetry breaks when the two sides differ)
- Games per matchup: 20,000 (with alternating first player)
- Grid dimensions: 11 skill levels × 11 skill levels × 4 bull difficulties × 4 bull difficulties = 1,936 tournaments
- Total games in the tournament grid: ~36.8 billion (44 symmetric × 465 matchups + 1,892 asymmetric × 961 matchups, all at 20,000 games each)
- Symmetry: A vs B and B vs A from the same 20,000 games under symmetric conditions. If A wins 55%, B wins 45%. Symmetry breaks under asymmetric skill or bull.
- Diagonal: Always 50% (a strategy playing itself under symmetric conditions)
The full grid runs in about two hours on a 12-core Mac using a C simulator called via ctypes. Training runs for the AI agent add another ~20 million games on top across 19 versions; empirical characterization of the Shape Reader’s decision tree adds 635,000 traced decisions from another 20,000 games.
Scoring-Lane Logic
All strategy bots share a common closing behavior: when in SCORE phase and no target is currently scoreable (the opponent has closed everything the player has open), the bot falls back to closing. In this fallback, it prefers targets the opponent has not yet closed — creating a “scoring lane” that can be exploited on subsequent turns — over targets the opponent has already closed. This ensures strategies never waste darts chasing already-closed numbers when a more productive option exists.
Statistical Considerations
Sample size: 20,000 games per matchup gives a standard error of ~0.35% for a 50% win rate (√(0.5×0.5/20000) ≈ 0.0035). A 2% difference is statistically significant at p < 0.001.
First-player advantage: Mitigated by alternating who throws first. In even-numbered games, player B goes first. This ensures neither strategy has a systematic advantage from turn order.
Maximum turns: Games are capped at 200 turns to prevent infinite loops with degenerate strategy pairs. In practice, pro-level games average ~18 turns and amateur-level games ~22 turns. Even at the lowest skill level, games average ~68–82 turns — well below the limit.
Deterministic strategies: All strategy bots are deterministic given the game state. The only randomness comes from the skill profile’s throw resolution. This means results are fully reproducible given the same random seed.
Comparison with Frongello
| Aspect | Frongello (2018) | This Study |
|---|---|---|
| Strategies | 17 (S1–S17) | 30 (S1–S17, E1–E12, PS) |
| Skill model | Uniform accuracy + 95% relative | Probabilistic (11 MPR levels) |
| Games per matchup | 20,000 | 20,000 |
| Skill levels | 2 (equal + 95% relative) | 11 (MPR ~0.8–5.3) |
| Key finding | S2 optimal (equal); S6 optimal (advantage) | E12 leads the 30-strategy field; the Shape Reader, built on top of that taxonomy, beats every strategy in the pro-skill bench |
| Chase conclusion | Never chase | Confirmed |
| Extra darts | Skill-dependent (S2 > S6 equal; S6 > S2 advantage) | Negative at equal skill (disrupts tempo) |
| Bull difficulty | Same as numbers | 0.75× multiplier (smaller geometric target) |
Limitations
- Strategy space: We tested 30 strategies in the round-robin, but the space of possible strategies is infinite. The Shape Reader, built after the round-robin closed, is one example of a strategy that sits outside the original taxonomy and beats every opponent it was benchmarked against at matched pro skill. Others likely exist.
- Fixed rules in the round-robin: The 30 tournament strategies are fixed priority lists with no inter-game adaptation. We separately trained a reinforcement learning agent that discovered a turn-order-dependent opening no hand-crafted catalog strategy uses.
- Simplified skill model: Real darts have target adjacency effects (missing 20 might hit 1 or 5). Our model treats misses as complete misses.
- No psychological factors: Real games involve pressure, fatigue, and opponent observation. Our simulation is purely mathematical.
References
- Frongello, A. (2018). “Optimal Strategy in Darts Cricket.” UNLV Theses, Dissertations, Professional Papers, and Capstones. 3464.
- Tibshirani, R. J., Price, A., & Taylor, J. (2011). “A statistician plays darts.” Journal of the Royal Statistical Society: Series A, 174(1), 213–226.
- Haugh, M. B., & Wang, C. (2022). “Play Like the Pros? Solving the Game of Darts as a Dynamic Zero-Sum Game.” INFORMS Journal on Computing.