Progression math (D-016)
Progression math (D-016)
Ratified math beneath D-006 §Pillar 3 (Quest↔Tree loop). Single source of truth for tree-point award rules, Walker level concept, and the deliberate inaccessibility gap that produces build identity.
Cross-reference: D-016.
Headline math
| Variable | Value | Source |
|---|---|---|
| Target tree size | ~180 nodes | D-016 (mid-band of D-006’s 150-200) |
| Quest count at full game | ~108 | D-016 |
| Keystone count at full game | ~36 | D-016 (6 leak-handler per D-014 + ~30 others) |
| Per-quest grant | 1 tree point | D-016 |
| Per-keystone bonus | 1 tree point | D-016 |
| Total achievable points | ~144 | 108 × 1 + 36 × 1 = 144 |
| Reach | ~80% (~144 / ~180) | D-016 — by design |
| Quest / keystone split | ~75 / ~25 | 108 / 144 = 75% (D-006 §Pillar 3 amended from ~70/30) |
Walker level concept
D-016 collapses level and allocation into one number.
- The Walker has no
levelinteger field on the schema.walker.levelis a computed view:level = walker.tree_points_spent. - No XP curve. No level-cap independent of the point-cap.
- No XP-from-steps. Steps drive Energy (D-007 §Pillar 1), not progression. Walking is the resource; questing is the progress.
- No level-gated content primitive. Gating happens via keystone unlock, faction rep, or regional
gatingSteps. A future “Poziom N to enter region X” gate would require an additive D-decision (D-016 follow-up #8).
Per-quest grant table
Flat. No scaling.
| Quest shape | Tree points granted on completion |
|---|---|
| 5-min courier (tutorial) | 1 |
| 3-day regional march | 1 |
| Regional arc final | 1 |
| Faction quest | 1 |
| Hidden quest (unlocked via keystone) | 1 |
Per-step beats grant faction reputation and lore unlocks only. Tree points are a quest-level award, paid at final-step complete.
The arc-vs-courier surface differentiation — i.e. “a 30-minute regional arc final and a 5-minute envelope delivery grant equal points, the long arc should feel different” — is D-016 follow-up #4 (B-level, post-13-5). The compensation will be cosmetic (badge, region-bound title, faction callout), not a tree-point delta.
Per-keystone grant
Atomic allocate + 1 bonus to bank.
When the Walker meets a keystone’s unlock conditions (typically a quest reward or a faction-rep tier per D-014) and chooses to allocate it:
- The keystone node itself is allocated atomically. No point is consumed from
treePointsBanked. - +1 tree point is added to
treePointsBanked. The bonus is the Walker’s reward for satisfying the unlock.
Net per keystone: costs 0 to slot, gives 1 to spend elsewhere.
The 6 leak-handler keystones per region (D-014 §2) follow the same rule by default. Whether they should grant a different bonus value is D-016 follow-up #5 (B-level, reviewable post-13-5).
Tree topology constraint — the ~20% inaccessibility gap
The math:
- Tree size: ~180 nodes.
- Achievable points at full game: ~144.
- Gap: ~36 nodes (~20%) are mathematically unreachable in any single playthrough.
This is by design. It is the design lever that produces build identity at WalkRPG’s tree density.
Worked example. A Walker has played the full game. Every quest completed (108 × 1 pt = 108) and every keystone allocated (36 × 1 bonus = 36) yields 144 points. The tree they look at has 180 nodes. They have allocated 144 of them. 36 nodes — exactly one fifth of the tree — they did not allocate. The 36 they skipped is the Walker’s signature.
Build identity = path selection + skip-node decisions. Two Walkers with identical quest completion + keystone-set can still have meaningfully different trees because of which 20% they chose not to take. PoE-style sparse allocation, not Diablo-2-paragon dense reach.
Comparison to PoE / Last Epoch
From ops/research/progression-system.md §Reference benchmarks:
| Game | Total points | Total nodes | Ratio | Level concept |
|---|---|---|---|---|
| PoE 1 | ~123 | ~1325 | ~9% | Char-level (1-100) decoupled from passive points |
| PoE 2 (early) | ~123 | ~1500 | ~8% | Same dual model |
| Last Epoch | ~110 | ~1100 | ~10% | Char-level (1-100), 1pt/level + quest grants |
| Grim Dawn | ~55 devotion + ~190 mastery | sparser | hybrid | Char-level + dual point pools |
| WalkRPG (D-016) | ~144 | ~180 | ~80% | Emergent — level = tree_points_spent |
PoE/LE achieve build diversity at ~8-10% reach across vast trees (~1100-1500 nodes). WalkRPG’s denser tree (~180 nodes) cannot use that lever. The ~20% gap is the equivalent design move at WalkRPG’s density: players choose which 20% to skip, not which 8% to take.
The emergent-level shape (single number, no XP bar) is WalkRPG-specific. PoE / LE both surface two progress indicators (level + passive points or level + XP). D-016 collapses them into one because the Mapa-as-diegetic-register (D-014) and editorial-commit grammar (D-013) reject the arcade-game two-number HUD.
D-006 §Pillar 3 amendment
D-006 §Pillar 3 informally phrased the split as “Quests grant ~70% of passive points.” D-016 sharpens to ~75% (108 / 144 = 75%) to match the ratified math.
The amendment is editorial — D-006’s intent (quests drive the bulk of progression, keystones supplement) is preserved; only the ratio number sharpens. D-006 remains canonical; this page is the ratified math beneath D-006’s amended phrasing.
D-013 endgame milestone
D-013 §Endgame implication (v2.0 four-Spisy arc) states:
“Walker level 50 has writing-rights into Spis Wszechrzeczy.”
Under D-016:
level = tree_points_spent, so Walker level 50 = 50 tree points spent.- 50 / 144 ≈ 35% of total achievable progression.
- ~35% is comfortably mid-game by design.
The D-013 endgame writing-rights threshold remains achievable without straining the curve. The v2.0 cosmic arc (the other three Spisy — Spis Czasów, Spis Słów, Spis Pustek) is gated above mid-game by tree-point depth rather than a separate level concept.
Banner copy on grants
Per D-011 (chrome-ENG + prose-PL) and D-013 (Spis register).
Quest completion grant:
[ENG] “+1 Tree Point banked.”
[PL] „Linijka oddana do składu. Spis przyjął.”
Keystone unlock:
[ENG] “Keystone unlocked. +1 Tree Point banked.”
[PL] „Kamień węgielny postawiony. Spis dopisuje rozdział.”
The ENG line is the system-surface chrome (notification, push, screen-reader, badge — per D-011). The PL line is canonical prose, written in the editorial register of D-013 (the step as linijka oddana do składu, the keystone as a rozdział).
Status
status:draft at authoring (2026-05-20, sub-phase 13-3). Promotes to status:canon after sub-phase 13-4 or 13-5 validates the math against the Android-side surface (banner copy rendering, Poziom N Home display, point-banked banner behaviour).
D-016 itself is canon now; this page is the working math reference that downstream phases (13-4 home, 13-5 quest log + tree allocation) read against. Drift between this page and the deployed surface is reviewable at sub-phase boundaries.