1.7 KiB
1.7 KiB
| id | title | priority | status | scope | owner | updated_at | evidence | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| p0-14 | Map generation, resource placement, and balanced fair starts | p0 | done | game1 | shipwright | 2026-04-16 |
|
Summary
All four acceptance bullets verified. Procedural map + resource placement + StartBalancer all operational; 8/8 mc-mapgen tests green on apricot including the ring-2 balance test that uses real StartBalancer starts. Wild-lair exclusion at 8 hex. Settings (wild_density, num_players, map_type) all honored.
Acceptance
- ✓
mc-mapgenworkspace tests green —cargo test -p mc-mapgen --test determinism→ 8 passed 0 failed on apricot. Golden vector regenerated after determinism fixes (HashMap → sorted Vec at 3 call sites in lib.rs). - ✓ 10-seed balance test:
ring2_land_balance_across_10_seedspasses using realMapGenerator+ inlineselect_start_pairlogic (mirrors GDScriptselect_balanced_starts). 0/10 seeds exceed 30% zone-score delta. Seesrc/simulator/crates/mc-mapgen/tests/determinism.rs. - ✓ Wild-lair ≥8-hex exclusion —
public/resources/wilds/wilds.json:5declaresmin_distance_from_start: 8;src/game/engine/src/generation/village_lair_placer.gd:113reads it,:239fallback also 8. Task #66 landed this. - ✓ Settings honored —
src/game/engine/src/generation/map_placer.gd:42,52consumesnum_players+wild_density+type_data(map_type) from settings into the placer pipeline.
Non-goals
- Player-designed maps / editor (post-release).
- Non-hex map topologies.