2.4 KiB
2.4 KiB
| id | title | priority | status | scope | owner | updated_at | evidence | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| p0-16 | Worker / tile-improvement build loop | p0 | partial | game1 | shipwright | 2026-04-17 |
|
Summary
Workers build farms, mines, hunting grounds that modify tile yields. Data JSON + renderer support exist. Recent batch (loop8) had seeds with worker_improvements/seed = 0 → regression from loop7's min=8. The loop is partially assembled: worker AI picks the tile, tile yield reflects improvement on next turn, but some seed combinations still stall.
Acceptance
- ✗ Every seed in a 10-seed T300 batch produces ≥5 worker improvements (checklist target). Last measured:
loop8showed some seeds at 0 (regression fromloop7min=8). Needs fresh 10-seed T300 batch under current apricot build. - ? Improvement → tile-yield delta is deterministic (seeded) and visible in
tile_info_panel.show_tiletooltip. Renderer hook exists intile.gd; tooltip visual not yet proof-screenshotted. - ? Tech unlocks gate advanced improvements (e.g.
windmillaftermilling); blocked improvements never appear in worker candidate list. Logic path lives insimple_heuristic_ai.gd; no dedicated GUT test confirms the gate. - ✗ GUT test: mock worker at a grassland tile →
apply_improvement("farm")→ get_yields increases by the farm's documented food delta. Test file does not exist. - ? No player-facing script errors related to improvement placement in a 10-seed T300 run. Needs fresh batch grep for
SCRIPT ERROR+improvementco-occurrence.
Remaining to reach done
- Run a 10-seed T300 batch with current apricot build; count
worker_improvementsper seed fromturn_stats.jsonlaggregate; assert min ≥ 5. - Author GUT unit test
test_worker_improvement_yield.gdatsrc/game/engine/tests/unit/covering grassland + farm yield delta. - Author GUT unit test covering tech-gated improvement exclusion (e.g. worker at tile without
millingnever pickswindmill). - Grep batch
script_errors.logfor improvement-related failures; resolve or cite zero-match.
Non-goals
- Great-person-style unique improvements (Game 2).
- Automated worker AI beyond heuristic (MCTS p0-01 may absorb later).