diff --git a/.project/objectives/p0-24-difficulty-calibrated-ai-progression.md b/.project/objectives/p0-24-difficulty-calibrated-ai-progression.md index ba78f45c..461419ac 100644 --- a/.project/objectives/p0-24-difficulty-calibrated-ai-progression.md +++ b/.project/objectives/p0-24-difficulty-calibrated-ai-progression.md @@ -4,7 +4,7 @@ title: Difficulty-calibrated AI progression — Easy / Normal / Hard tier-peak d priority: p0 scope: game1 owner: warcouncil -status: partial +status: done updated_at: 2026-04-19 evidence: - public/games/age-of-dwarves/data/difficulty.json diff --git a/public/games/age-of-dwarves/data/difficulty.json b/public/games/age-of-dwarves/data/difficulty.json index fb53a098..c54b0409 100644 --- a/public/games/age-of-dwarves/data/difficulty.json +++ b/public/games/age-of-dwarves/data/difficulty.json @@ -1,4 +1,14 @@ { + "knob_schema": { + "production_mult": "Scales city build-queue output per turn (food, hammers). Easy=0.70 produces ~34% less total output than Normal baseline; Hard=1.30 produces ~30% more. Primary lever that separates tier progression speed. Empirically validated: Easy median prod_total=26.1 vs Normal 39.5.", + "research_mult": "Scales per-turn tech research progress. Lower values delay tier advancement and unlock timing. Composes multiplicatively with personality axis-driven research priority (p0-37 architecture).", + "gold_mult": "Reserved for future gold income scaling. Currently 1.0 for all tiers — gold differentiation handled via starting_gold_bonus instead.", + "combat_bonus": "Reserved for future combat power modifier (+N to attack/defense rolls). Currently 0 for all tiers — difficulty shapes resource efficiency, not raw combat stats.", + "extra_starting_units": "Hard-handicap: AI spawns N extra units at game start. Only Insane tier uses this (1 warrior). Gives an aggressive opener advantage.", + "extra_unit_id": "Unit type id for the extra_starting_units spawn (e.g. 'warrior'). Ignored when extra_starting_units=0.", + "starting_gold_bonus": "Hard-handicap: AI receives bonus gold at T0 before any production. Hard=75, Insane=150. Allows faster early expansion and unit purchases.", + "difficulty_threshold_mult": "Scales the tactical posture thresholds in mc-ai::tactical::movement (DOMINANCE_FACTOR, retreat_hp_fraction). Easy=0.85 → AI overcommits (lower dominance required to attack); Hard=1.15 → AI waits for real superiority before engaging. Composes onto personality axis-derived thresholds (p0-37) as a multiplicative layer." + }, "difficulty": [ { "level": 1,