---
key: lesson/choice-cost
type: lesson
id: choice-cost
lang: en
title: Choice costs and situational value
summary: >-
  Compare options through time, resources and context to uncover a dominant
  choice.
updatedAt: '2026-10-20'
status: active
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'
aliases:
  - экономика
  - economy
  - баланс
tags:
  - balance
  - choices
  - economy
sourceIds:
  - source-2d559b13bf74d659
sources:
  - id: source-2d559b13bf74d659
    title: 'Ian Schreiber: Level 3, Transitive Mechanics and Cost Curves'
    url: >-
      https://gamebalanceconcepts.wordpress.com/2010/07/21/level-3-transitive-mechanics-and-cost-curves/
    verifiedAt: null
relations:
  - 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: requires
    direction: incoming
    label: Continue learning
    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: requires
    direction: incoming
    label: Continue learning
    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: explains
    direction: outgoing
    label: Apply the principle
    key: mechanic/rpg-grind--item-evolution
    title: Item evolution
    url: 'https://gamemechanics.pro/en/knowledge/mechanic/rpg-grind--item-evolution/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/mechanic/rpg-grind--item-evolution.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/en/mechanic/rpg-grind--item-evolution.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: 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: contains
    direction: incoming
    label: Learning paths
    key: path/balance
    title: Balance and progression
    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'
placements: []
supersededBy: []
attributes:
  category: design
  level: beginner
  minutes: 5
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
---
# Choice costs and situational value

id: choice-cost
type: lesson
key: lesson/choice-cost
lang: en
status: active
url: https://gamemechanics.pro/en/lessons/choice-cost/

Compare options through time, resources and context to uncover a dominant choice.

## Prerequisites

Two weapons with different numbers may offer the same decision: take the one that is better in every situation. Begin balancing by asking what the player pays and when they receive value.

## The principle

Cost can include resources, time, an occupied slot and a forgone opportunity. Comparison through a common cost model, as in [Ian Schreiber's lecture](https://gamebalanceconcepts.wordpress.com/2010/07/21/level-3-transitive-mechanics-and-cost-curves/), helps identify a suspicious option. A single ratio cannot describe all gameplay value.

An option dominates another in the selected model if it is no worse on every relevant criterion and better on at least one. “Relevant” requires explicit assumptions: range or accuracy cannot silently disappear from a real game's comparison.

<span id="example-rescue-tools"></span>

## Practical example

### Rescue tools

In an illustrative game, players cut through debris. A saw removes 12 durability per action and consumes 3 charges. A cutter removes 8 and consumes 2. Both remove 4 durability per charge. That does not establish equivalence.

For debris with 8 durability, the cutter finishes in one action and 2 charges, while the saw needs one action and 3. For debris with 12 durability, the saw needs one action and 3 charges; the cutter needs two actions and 4. Rounding action counts changes the preferred option. This model has no misses, energy recovery or damage to the rescuer; revisit it when adding those systems.

List situations before changing numbers. To give the saw a role, test different debris durability and time limits. Do not invent cutter immunity merely to justify its neighbor: first ask whether a second tool is needed.

## Common mistakes

- Comparing only damage per second when scarce charges determine the decision.
- Equalizing averages while ignoring rounding and thresholds.
- Making every option equal in every situation and removing the reason to choose.

## Verify it

- Compute action count by rounding durability divided by tool strength upward.
- Record actions, charge consumption and the reason for preference in three situations.
- Find a justified use for every option you intend to keep.
- Check the model in play: waiting for animation may also be a cost.

## Prompt for an AI agent

> Make a table for debris with durability 8, 12 and 20. Count actions and charges separately and state assumptions. Propose one change if a tool is never useful. Do not claim the table proves balance.

Continue with [Last Ferry](/en/practice/#last-ferry) and the [Meaningful Choices lens](/en/lenses/#schell-039).

## Connected materials

- Before you start: [Scope and a testable prototype](https://gamemechanics.pro/en/lessons/scope-and-prototype/) (key: lesson/scope-and-prototype)
- Continue learning: [Randomness and unlucky streaks](https://gamemechanics.pro/en/lessons/controlled-randomness/) (key: lesson/controlled-randomness)
- Continue learning: [Progression: capabilities and pacing](https://gamemechanics.pro/en/lessons/progression-pacing/) (key: lesson/progression-pacing)
- Apply the principle: [Item evolution](https://gamemechanics.pro/en/knowledge/mechanic/rpg-grind--item-evolution/) (key: mechanic/rpg-grind--item-evolution)
- Put it into practice: [The last ferry](https://gamemechanics.pro/en/knowledge/practice/last-ferry/) (key: practice/last-ferry)
- Review through a lens: [Meaningful Choices](https://gamemechanics.pro/en/knowledge/lens/schell-039/) (key: lens/schell-039)
- Learning paths: [Balance and progression](https://gamemechanics.pro/en/learn/balance/) (key: path/balance)

## Sources and provenance

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

- [Ian Schreiber: Level 3, Transitive Mechanics and Cost Curves](https://gamebalanceconcepts.wordpress.com/2010/07/21/level-3-transitive-mechanics-and-cost-curves/) (id: source-2d559b13bf74d659)

CC-BY-4.0 · gamemechanics.pro contributors
