---
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: []
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
---
# Balance and progression

id: balance
type: path
key: path/balance
lang: en
status: active
url: https://gamemechanics.pro/en/learn/balance/

Choice costs, random streaks and upgrades that change player actions.

## Before you start

- [Scope and a testable prototype](https://gamemechanics.pro/en/lessons/scope-and-prototype/)

## Lesson sequence

1. [Choice costs and situational value](https://gamemechanics.pro/en/lessons/choice-cost/)
2. [Randomness and unlucky streaks](https://gamemechanics.pro/en/lessons/controlled-randomness/)
3. [Progression: capabilities and pacing](https://gamemechanics.pro/en/lessons/progression-pacing/)

## Put it into practice

Use the exercises to check decisions from the lessons. Preserve conditions and comparison results.

- [The last ferry](https://gamemechanics.pro/en/practice/#last-ferry)
- [The weather window](https://gamemechanics.pro/en/practice/#weather-window)
- [Remove the market](https://gamemechanics.pro/en/practice/#remove-the-market)
- [Three workshop shifts](https://gamemechanics.pro/en/practice/#three-workshop-shifts)

## Outcome

A choice-cost and three-stage progression table with comparison logs.

## Completion checks

- Option usefulness depends on the situation.
- Purchase thresholds and random streaks are checked separately.

## Connected materials

- Path materials: [Choice costs and situational value](https://gamemechanics.pro/en/lessons/choice-cost/) (key: lesson/choice-cost)
- Path materials: [Randomness and unlucky streaks](https://gamemechanics.pro/en/lessons/controlled-randomness/) (key: lesson/controlled-randomness)
- Path materials: [Progression: capabilities and pacing](https://gamemechanics.pro/en/lessons/progression-pacing/) (key: lesson/progression-pacing)
- Before you start: [Scope and a testable prototype](https://gamemechanics.pro/en/lessons/scope-and-prototype/) (key: lesson/scope-and-prototype)
- Put it into practice: [The last ferry](https://gamemechanics.pro/en/knowledge/practice/last-ferry/) (key: practice/last-ferry)
- Put it into practice: [The weather window](https://gamemechanics.pro/en/knowledge/practice/weather-window/) (key: practice/weather-window)
- Put it into practice: [Remove the market](https://gamemechanics.pro/en/knowledge/practice/remove-the-market/) (key: practice/remove-the-market)
- Put it into practice: [Three workshop shifts](https://gamemechanics.pro/en/knowledge/practice/three-workshop-shifts/) (key: practice/three-workshop-shifts)
- Review through a lens: [Meaningful Choices](https://gamemechanics.pro/en/knowledge/lens/schell-039/) (key: lens/schell-039)
- Review through a lens: [Chance](https://gamemechanics.pro/en/knowledge/lens/schell-036/) (key: lens/schell-036)
- Review through a lens: [Visible Progress](https://gamemechanics.pro/en/knowledge/lens/schell-055/) (key: lens/schell-055)

## Sources and provenance

Original gamemechanics.pro material. Check illustrative examples in your own project.


CC-BY-4.0 · gamemechanics.pro contributors
