3.2 KiB
3.2 KiB
| id | title | priority | status | scope | owner | updated_at | evidence | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| p0-08 | Domination victory path in mc-turn::victory | p0 | done | game1 | warcouncil | 2026-04-18 |
|
Summary
Domination victory fires when one player captures all opponent original capitals. victory.rs checks domination before score; VictoryConfig.domination_requires_all_capitals=true. AI heuristics tuned to commit to capital assault: DOMINANCE_FACTOR=1.25 (own_mil ≥ 1.25× enemy_mil), CAPITAL_APPROACH_HEX=16 bypass prevents stray-chase near capital, FINAL_PUSH_ENEMY_CITY_COUNT=1 all-in gate when enemy is at last city. GUT tests cover both tuning paths.
10-seed T300 batch (dom_tune2_20260417_101435, 2026-04-17): 2/10 domination (seeds 1 at T142, seed 4 at T75). Remaining 8 seeds crashed via pre-existing screenshot bug (task #72) before T300 — not caused by these changes. Of completable seeds, 2/2 = domination.
Acceptance
- ✓
victory::check_domination_victoryimplemented inmc-turn/src/victory.rs; checksplayer.city_positions.contains(cap_pos)for each opponent original capital. - ✓
processor::end_turn_phasecalls domination check before score check (domination takes precedence).check_victory()order: Domination → Science → Economic → Culture → CityCount → Score. - ✓
victory_screen.tscnshows domination message whenvictory_type=domination— wired viaVictoryTypeenum surface. - ✓ Headless batch dom_tune2_20260417_101435 reports
victory_type=dominationinturn_stats.jsonl— 2/10 seeds (≥2/10 target met). AI heuristic tuning:DOMINANCE_FACTOR=1.25,CAPITAL_APPROACH_HEX=16,FINAL_PUSH_ENEMY_CITY_COUNT=1— ported intomc-ai::tactical::{movement,production}during p0-26. Test coverage migrated tocargo test -p mc-ai tactical(constant-value assertions atmovement.rs:1049-1054+production.rs:446). - ✓ Domination tempo calibration — RESOLVED 2026-04-18 via two changes:
p0-37(axis-derived thresholds):DOMINANCE_FACTORlifted from hardcoded 1.25 intothresholds::dominance_factor(axes)→ neutral axis=5 returns 1.50 (raised from 1.25 for better tempo), cautious clans (axis=1) return 1.80, aggressive clans (axis=10) return 1.15. Per-clan dispersion now emerges from personality.- Tempo-bump smoke batch (
apricot-20260418_202049, 10 seeds T300, Normal-Normal): median_turn=192 (up from T39-T150 pre-tune), 9/10 victories (1 max_turns). max_tier_peak median=4.0. Fast-win outlier seed8 (T39, runesmith early-founder) is personality-driven, not a tempo bug. Evidence:.local/iter/apricot-20260418_202049/. Median_turn=192 does not yet hit p1-05's T250 target; that is gated by iron_ore density (p0-40) blocking tier-3+ army building which extends late-game.