maniator / maniator/verticopolis
[Feature]: [P3] Demand-pools calibration pass (Modern perCapita/floor, unmet-demand erosion, coverage reachability)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Bundles the recurring "fold into the demand-pools calibration pass" deferrals from the commercial-demand-pools (#393), leave-tower-unmet-demand (#395), and attendance-venue-demand (#424) reviews, folded here from the deferral inbox by #545. All are PROVISIONAL magnitudes deliberately left conservative for v1; no calibration row existed.
- Modern perCapita retune. Phase C shipped only the
floordivergence; both modes still returnperCapita: 30. The larger-tower Modern viability retune (GDD §7/§10) is deferred to a reference-tower tuning pass. - Unmet-demand eviction region. Modern erosion nets negative only below coverage ~0.023, so "tenants leave for unmet demand" effectively fires only for a fully-stranded (coverage-0) tenant; a genuinely under-provisioned (partial-coverage) tower merely caps. Raise
unmetDemandErosion/ lowerUNMET_DEMAND_EVICT_FLOOR, or rename the constant to reflect it is a cap threshold. - Coverage reachability (pairwise). Coverage and the income loop both use lobby-anchored reachability, so a cross-bank tenant can read met demand it cannot actually reach. The pairwise-floor-reachability refinement reshapes income too and needs its own golden re-pin.
- Demand bonus census-purity. Coverage
shareis weakly crowd-dependent throughtowerDemandBonus's recycling multiplier (totalPopulation()includes livecustomersIn); bounded to [1.0, 1.1], only when a recycling center exists. Reconsider the bonus form (multiplier vs flat floor, population source) here. - Attendance coverage decision.
reachableVenuesByOrigincounts retail only, so an attendance-only tower reads 0 coverage; decide whether attending a cinema counts as somewhere residents spend time.
Gameplay/economy tuning with a golden-master re-pin (/gds-code-review). P3: deliberately deferred until a playtest wants the Modern demand model retuned against a reference tower.
Tracked as backlog row demand-pools-calibration; folded from the deferral inbox by #545.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the deferred reviews #393, #395, and #424, then review the demand-pools calibration notes and the GDD sections 7 and 10. The work is done when the Modern demand model is retuned against a reference tower, the coverage and attendance decisions are resolved, and the golden master is re-pinned through /gds-code-review.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100