Settlers / Research

73 pages · Search titles and descriptions

↑ ↓ to navigate · Enter to open · Esc to closeLocal search
Play the game

When to buy and play development cards

The three switches

Each switch is one mechanism on the otherwise unchanged depth-2 search, off by default. The first is a leaf change: played knights are worth half the flat weight when three or more from the largest army, the full weight at two away, 1.75 times at one away, and 1.25 times while holding it, and a held playable knight is credited with one roll of the production it would unblock from the robber's hex. The production a play unblocks was already in the baseline leaf: the afterstate of a knight play has the robber moved, so the production term credits it over the remaining rolls; the switch isolates the army-distance schedule and the explicit held-knight credit.

The second is a candidate rule: a development purchase is generated only when no road, settlement, or city is affordable within the next own turn at current production, using the leaf's own acquisition-time estimate. The third is a timing rule: main-phase knight plays exist only when the robber sits on this seat's best-producing hex, while the roll phase keeps the choice, so a held knight is spent on the before-the-roll unblock and not on an opportunistic main-phase robber move.

The measurements

Every cohort is 256 games in the engine arena, deterministic, each board played once per rotation of the four slots, with an ETA and a fast builder beside the two searches. The first five cohorts were registered as single-seating contrasts, candidate in slot 0 against the control in slot 1. The seating diagnosis then showed that two identical searches in adjacent slots differ by +0.05 to +0.18 wins per game from turn order alone: the seat directly before another acts first after three of the four rolls in a round. Every contrast below is that size, so none of them is an effect. The knight_play_value arm was re-registered as a swapped pair on boards 64 to 127, and the pair separates the effect from the term.

ArmBoardsSlot 0Slot 1Wins 0 / 1Contrast, slot 0 minus slot 1 (95% interval)
knight_play_value0-63candidatecontrol128 / 91+0.145 (+0.050 to +0.240)
knight_play_value64-127candidatecontrol110 / 91+0.074 (−0.021 to +0.170)
knight_play_value64-127controlcandidate113 / 96+0.066 (−0.022 to +0.155)
buy_tempo0-63candidatecontrol109 / 98+0.043 (−0.066 to +0.152)
hold_knight0-63candidatecontrol116 / 91+0.098 (+0.003 to +0.193)
hold_knight64-127candidatecontrol112 / 95+0.066 (−0.020 to +0.153)

The pair combines the two 64-127 contrasts: the effect is half their difference, +0.004 (−0.061 to +0.069), and the seating term is half their sum, +0.070 (+0.005 to +0.136), consistent with the +0.051 measured for identical seats on these boards in the seating report. The buy_tempo and hold_knight numbers are single-seating readings, each inside the seating term, so they are consistent with zero rather than measured effects.

Development-card timing arms against the unchanged control

Measured evidence
-0.1-0.00750.0850.17750.27knight value, boards 0-63knight value, boards 64-127knight value, boards 64-127, seats swappedbuy tempo, boards 0-63hold knight, boards 0-63hold knight, boards 64-127knight value, seating-corrected (boards 64-127)turn-order term measured by the pairCohortWins per game, slot 0 minus slot 1

Scroll the chart horizontally to inspect all values.

Single-seating contrast (slot 0 minus slot 1)Swapped-pair combination95% interval

Each point is one cohort’s slot-0-minus-slot-1 wins per game with its 95% interval over boards; single-seating points carry the turn-order term and the swapped-pair combination removes it.

Source: Engine-arena cohorts of 256 games on deterministic boards played once per rotation, the candidate and the unchanged depth-2 control in the named slots with an ETA and a fast builder. Runs ef72f172, 647d321b, 30038304 on boards 0-63 and e79ea358, f83b1214, 1d91dbfa on boards 64-127; the corrected point is half the difference of the two knight-value pair contrasts and the turn-order point half their sum.

View data table
SeriesCohortWins per game, slot 0 minus slot 1LowHigh
Single-seating contrast (slot 0 minus slot 1)knight value, boards 0-630.14450.04950.2395
Single-seating contrast (slot 0 minus slot 1)knight value, boards 64-1270.0742-0.02130.1698
Single-seating contrast (slot 0 minus slot 1)knight value, boards 64-127, seats swapped0.0664-0.02240.1552
Single-seating contrast (slot 0 minus slot 1)buy tempo, boards 0-630.043-0.06590.1519
Single-seating contrast (slot 0 minus slot 1)hold knight, boards 0-630.09770.00280.1926
Single-seating contrast (slot 0 minus slot 1)hold knight, boards 64-1270.0664-0.02040.1532
Swapped-pair combinationknight value, seating-corrected (boards 64-127)0.0039-0.06130.0691
Swapped-pair combinationturn-order term measured by the pair0.07030.00510.1355

The mechanisms bite without winning

The diagnostics show the switches do what they claim, and that doing it does not win. Per-game means for the candidate against the control; the knight_play_value row pools both seatings of the pair, the others are single-seating.

Arm (boards)Cards boughtKnights playedArmy awardsFirst city turn
knight_play_value (64-127 pair)2.63 / 2.571.26 / 1.190.18 / 0.1629.4 / 29.2
buy_tempo (0-63)1.54 / 2.550.73 / 1.250.07 / 0.1928.1 / 29.1
hold_knight (0-63)2.25 / 2.330.82 / 1.150.08 / 0.1728.2 / 28.8
hold_knight (64-127)2.32 / 2.550.96 / 1.230.10 / 0.2030.5 / 27.2

The tempo rule halves card purchases and advances the first city by a turn, and holding knights forgoes a third of the knight plays and half the army awards. The knight leaf barely moves any count, which is why its pair is so clean: the shaped schedule rarely outweighs what the search already prices. None of it separates from zero once the seating term is removed.

Limits

This is engine-arena evidence at depth 2 with the hand-written leaf, two builders at the table, and one lineup; the protocol-arena baseline is now the learned-tables leaf, which prices cards from self-play and may already encode some of this timing. The screens that preceded the cohorts (16 boards each, unregistered) read +0.16 to +0.19 and overstated everything, as screens at this size do. The switches remain in the search, off by default, documented in docs/expectimax.md.

Agent notes

Candidate and control seats are v2:{"depth":2,"samples":4,"scenarios":8,"inner_scenarios":4} plus the named switch. Registrations and runs: 000e59d2 / ef72f172 (knight_play_value, boards 0-63), 0b22df5c / 647d321b (buy_tempo, 0-63), 119cbcf2 / 30038304 (hold_knight, 0-63), 20360d5d / e79ea358 (knight_play_value, 64-127), 8f739fd6 / f83b1214 (hold_knight, 64-127), a6371eaf / 1d91dbfa (knight_play_value, 64-127, swapped seats). The swapped pair's decision rule is in registration a6371eaf; per the seating report the effect is half the difference of the two slot-0-minus-slot-1 contrasts and the seating term half their sum, with the two independent intervals combined in quadrature and halved. All runs used server commit 46578c0 (branch research/development), which predates the rotating recipient order; the seating report found the term unchanged by that fix. Screens ran on boards 0-15 and are kept under runs/screens-knight-timing/; they carry no evidential weight. python3 analysis/knight_timing.py recomputes every number and the plot asset from the retained run folders. The harness summary now aggregates knights played, army awards, and the first city turn from the arena's per-game records.