{"schemaVersion":1,"record":{"key":"path/balance","type":"path","id":"balance","lang":"en","title":"Balance and progression","summary":"Choice costs, random streaks and upgrades that change player actions.","updatedAt":"2026-10-20","status":"active","url":"https://gamemechanics.pro/en/learn/balance/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/path/balance.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/path/balance.md","aliases":[],"tags":[],"sourceIds":[],"sources":[],"sections":[{"id":"prerequisites","title":"Before you start","body":"- [Scope and a testable prototype](https://gamemechanics.pro/en/lessons/scope-and-prototype/)"},{"id":"sequence","title":"Lesson sequence","body":"1. [Choice costs and situational value](https://gamemechanics.pro/en/lessons/choice-cost/)\n2. [Randomness and unlucky streaks](https://gamemechanics.pro/en/lessons/controlled-randomness/)\n3. [Progression: capabilities and pacing](https://gamemechanics.pro/en/lessons/progression-pacing/)"},{"id":"practice","title":"Put it into practice","body":"Use the exercises to check decisions from the lessons. Preserve conditions and comparison results.\n\n- [The last ferry](https://gamemechanics.pro/en/practice/#last-ferry)\n- [The weather window](https://gamemechanics.pro/en/practice/#weather-window)\n- [Remove the market](https://gamemechanics.pro/en/practice/#remove-the-market)\n- [Three workshop shifts](https://gamemechanics.pro/en/practice/#three-workshop-shifts)"},{"id":"outcome","title":"Outcome","body":"A choice-cost and three-stage progression table with comparison logs."},{"id":"checks","title":"Completion checks","body":"- Option usefulness depends on the situation.\n- Purchase thresholds and random streaks are checked separately."}],"relations":[{"type":"contains","direction":"outgoing","label":"Path materials","key":"lesson/choice-cost","title":"Choice costs and situational value","url":"https://gamemechanics.pro/en/lessons/choice-cost/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lesson/choice-cost.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lesson/choice-cost.md"},{"type":"contains","direction":"outgoing","label":"Path materials","key":"lesson/controlled-randomness","title":"Randomness and unlucky streaks","url":"https://gamemechanics.pro/en/lessons/controlled-randomness/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lesson/controlled-randomness.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lesson/controlled-randomness.md"},{"type":"contains","direction":"outgoing","label":"Path materials","key":"lesson/progression-pacing","title":"Progression: capabilities and pacing","url":"https://gamemechanics.pro/en/lessons/progression-pacing/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lesson/progression-pacing.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lesson/progression-pacing.md"},{"type":"requires","direction":"outgoing","label":"Before you start","key":"lesson/scope-and-prototype","title":"Scope and a testable prototype","url":"https://gamemechanics.pro/en/lessons/scope-and-prototype/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lesson/scope-and-prototype.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lesson/scope-and-prototype.md"},{"type":"practices","direction":"outgoing","label":"Put it into practice","key":"practice/last-ferry","title":"The last ferry","url":"https://gamemechanics.pro/en/knowledge/practice/last-ferry/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/practice/last-ferry.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/practice/last-ferry.md"},{"type":"practices","direction":"outgoing","label":"Put it into practice","key":"practice/weather-window","title":"The weather window","url":"https://gamemechanics.pro/en/knowledge/practice/weather-window/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/practice/weather-window.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/practice/weather-window.md"},{"type":"practices","direction":"outgoing","label":"Put it into practice","key":"practice/remove-the-market","title":"Remove the market","url":"https://gamemechanics.pro/en/knowledge/practice/remove-the-market/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/practice/remove-the-market.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/practice/remove-the-market.md"},{"type":"practices","direction":"outgoing","label":"Put it into practice","key":"practice/three-workshop-shifts","title":"Three workshop shifts","url":"https://gamemechanics.pro/en/knowledge/practice/three-workshop-shifts/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/practice/three-workshop-shifts.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/practice/three-workshop-shifts.md"},{"type":"reviews","direction":"outgoing","label":"Review through a lens","key":"lens/schell-039","title":"Meaningful Choices","url":"https://gamemechanics.pro/en/knowledge/lens/schell-039/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lens/schell-039.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lens/schell-039.md"},{"type":"reviews","direction":"outgoing","label":"Review through a lens","key":"lens/schell-036","title":"Chance","url":"https://gamemechanics.pro/en/knowledge/lens/schell-036/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lens/schell-036.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lens/schell-036.md"},{"type":"reviews","direction":"outgoing","label":"Review through a lens","key":"lens/schell-055","title":"Visible Progress","url":"https://gamemechanics.pro/en/knowledge/lens/schell-055/","jsonUrl":"https://gamemechanics.pro/api/v1/knowledge/en/lens/schell-055.json","markdownUrl":"https://gamemechanics.pro/content/knowledge/en/lens/schell-055.md"}],"placements":[],"supersededBy":[],"attributes":{"lessons":[{"id":"choice-cost","url":"https://gamemechanics.pro/en/lessons/choice-cost/","markdownUrl":"https://gamemechanics.pro/content/en/choice-cost.md"},{"id":"controlled-randomness","url":"https://gamemechanics.pro/en/lessons/controlled-randomness/","markdownUrl":"https://gamemechanics.pro/content/en/controlled-randomness.md"},{"id":"progression-pacing","url":"https://gamemechanics.pro/en/lessons/progression-pacing/","markdownUrl":"https://gamemechanics.pro/content/en/progression-pacing.md"}],"prerequisites":[{"id":"scope-and-prototype","url":"https://gamemechanics.pro/en/lessons/scope-and-prototype/","markdownUrl":"https://gamemechanics.pro/content/en/scope-and-prototype.md"}],"practice":[{"id":"last-ferry","url":"https://gamemechanics.pro/en/practice/#last-ferry"},{"id":"weather-window","url":"https://gamemechanics.pro/en/practice/#weather-window"},{"id":"remove-the-market","url":"https://gamemechanics.pro/en/practice/#remove-the-market"},{"id":"three-workshop-shifts","url":"https://gamemechanics.pro/en/practice/#three-workshop-shifts"}],"lenses":[{"id":"schell-039","url":"https://gamemechanics.pro/en/lenses/#schell-039"},{"id":"schell-036","url":"https://gamemechanics.pro/en/lenses/#schell-036"},{"id":"schell-055","url":"https://gamemechanics.pro/en/lenses/#schell-055"}]},"endsAt":null,"provenance":"Original gamemechanics.pro material. Check illustrative examples in your own project.","license":"CC-BY-4.0","codeLicense":"MIT","attribution":"gamemechanics.pro contributors"}}