---
key: lesson/scope-and-prototype
type: lesson
id: scope-and-prototype
lang: en
title: Scope and a testable prototype
summary: >-
  Choose one question, limit the work, and decide what to do after evaluating a
  prototype.
updatedAt: '2026-10-20'
status: active
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'
aliases: []
tags:
  - scope
  - prototyping
  - playtesting
sourceIds:
  - source-22bf9a2b4f0b9218
sources:
  - id: source-22bf9a2b4f0b9218
    title: 'Unity Learn: Prototyping'
    url: 'https://learn.unity.com/pathway/creative-core/unit/prototyping'
    verifiedAt: null
relations:
  - type: requires
    direction: incoming
    label: Continue learning
    key: lesson/game-loop
    title: The game loop and time
    url: 'https://gamemechanics.pro/en/lessons/game-loop/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/lesson/game-loop.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/lesson/game-loop.md'
  - type: requires
    direction: incoming
    label: Continue learning
    key: lesson/agent-workflow
    title: Developing a game with an AI agent
    url: 'https://gamemechanics.pro/en/lessons/agent-workflow/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/lesson/agent-workflow.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/lesson/agent-workflow.md'
  - type: requires
    direction: incoming
    label: Continue learning
    key: lesson/level-blockout
    title: 'Blockout: test space before art'
    url: 'https://gamemechanics.pro/en/lessons/level-blockout/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/lesson/level-blockout.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/lesson/level-blockout.md'
  - type: requires
    direction: incoming
    label: Continue learning
    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: requires
    direction: incoming
    label: Continue learning
    key: lesson/running-a-playtest
    title: Running a playtest with a concrete question
    url: 'https://gamemechanics.pro/en/lessons/running-a-playtest/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/lesson/running-a-playtest.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/en/lesson/running-a-playtest.md
  - type: explains
    direction: outgoing
    label: Apply the principle
    key: mechanic/boss-fight-atlas--boss-telegraph
    title: Telegraph
    url: >-
      https://gamemechanics.pro/en/knowledge/mechanic/boss-fight-atlas--boss-telegraph/
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/mechanic/boss-fight-atlas--boss-telegraph.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/en/mechanic/boss-fight-atlas--boss-telegraph.md
  - type: practices
    direction: outgoing
    label: Put it into practice
    key: practice/paper-current
    title: A current on paper
    url: 'https://gamemechanics.pro/en/knowledge/practice/paper-current/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/practice/paper-current.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/practice/paper-current.md'
  - type: related
    direction: incoming
    label: Related materials
    key: lesson/world-to-gameplay
    title: From world rules to player actions
    url: 'https://gamemechanics.pro/en/lessons/world-to-gameplay/'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/lesson/world-to-gameplay.json
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/lesson/world-to-gameplay.md'
  - type: contains
    direction: incoming
    label: Learning paths
    key: path/first-prototype
    title: Your first verifiable prototype
    url: 'https://gamemechanics.pro/en/learn/first-prototype/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/path/first-prototype.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/path/first-prototype.md'
  - type: requires
    direction: incoming
    label: Continue learning
    key: path/level-design
    title: Level design
    url: 'https://gamemechanics.pro/en/learn/level-design/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/path/level-design.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/path/level-design.md'
  - type: requires
    direction: incoming
    label: Continue learning
    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'
  - type: requires
    direction: incoming
    label: Continue learning
    key: path/game-verification
    title: Game verification
    url: 'https://gamemechanics.pro/en/learn/game-verification/'
    jsonUrl: 'https://gamemechanics.pro/api/v1/knowledge/en/path/game-verification.json'
    markdownUrl: 'https://gamemechanics.pro/content/knowledge/en/path/game-verification.md'
  - type: uses
    direction: outgoing
    label: Sources in the selection
    key: resource/unity-prototyping
    title: 'Unity Learn: prototyping'
    url: 'https://gamemechanics.pro/en/resources/#resource-unity-prototyping'
    jsonUrl: >-
      https://gamemechanics.pro/api/v1/knowledge/en/resource/unity-prototyping.json
    markdownUrl: >-
      https://gamemechanics.pro/content/knowledge/en/resource/unity-prototyping.md
placements: []
supersededBy: []
attributes:
  category: design
  level: beginner
  minutes: 6
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
---
# Scope and a testable prototype

id: scope-and-prototype
type: lesson
key: lesson/scope-and-prototype
lang: en
status: active
url: https://gamemechanics.pro/en/lessons/scope-and-prototype/

Choose one question, limit the work, and decide what to do after evaluating a prototype.

## Prerequisites

You do not need an engine or an existing project. You need an idea for a player action and an uncertainty that blocks the next decision. The outcome is a small investigation with a clear stopping point, rather than a list of everything the game might eventually include.

## The principle

A prototype earns its place by reducing a specific uncertainty. “Make a roguelike” does not identify what to test. “Can a player distinguish two attacks from their warning cues?” describes an observable question. [Unity Learn: Prototyping](https://learn.unity.com/pathway/creative-core/unit/prototyping) introduces choosing a prototyping approach to fit a project's question.

Limit the action, environment, and outcome. One enemy, one room, and two warning cues may provide the observations you need. Inventory, progression, and story do not yet help answer this question. Put them on a separate list so that returning to them is a deliberate choice.

Distinguish an idea prototype from a vertical slice. Investigation may only need placeholder graphics and a manually triggered scenario. A slice demonstrates an integrated piece of intended production quality, so it has different costs. Choose the form that supports the upcoming decision.

<span id="example-can-players-read-an-attack"></span>

## Practical example

### Can players read an attack?

Write an experiment card before development:

```text
Question: can players distinguish two attack warnings?
Material: one arena, one enemy, two attacks, quick restart.
Budget: one evening to build, then a short observation session.
Observation: which attack does the player predict before it starts?
Continue if: 8 of 10 predictions are correct after introduction.
Otherwise: change one cue and repeat the exercise.
Stop: after two variants, reconsider the attack designs themselves.
```

These numbers illustrate a preselected decision criterion, not an industry standard. Ten attempts by one person do not prove that a broad audience understands the mechanic. The result can guide the next change without replacing sessions with additional players.

Show each attack separately first. Then vary their order and ask the player to predict the attack before it executes. Record mistakes, when the decision was made, and comments about visibility. If the author reveals an answer through a hint or explanation, mark that attempt as influenced by assistance.

## Common mistakes

Do not change color, duration, audio, and trajectory simultaneously. You will not know which change helped. Do not add rewards to improve impressions of a warning-cue experiment. A positive comment is not evidence of readability; observe the relevant player action.

Avoid rebuilding the prototype into an ideal architecture before deciding whether to keep the idea. Still preserve a reliable way to launch the scene and repeat the exercise. A short launch guide and known-limitations list cost less than recovering forgotten settings.

When the time budget ends, record the result even if it is inconvenient. Continue with a concrete next question, change the approach, or stop pursuing the mechanic. A negative result can also reduce uncertainty.

## Verify it

- The question fits into one sentence.
- Every implemented feature helps answer that question.
- Deadline and effort limit were written before work started.
- The criterion measures behavior instead of compliments.
- Test conditions and limitations are recorded.
- The evaluation ends with a concrete next decision.

## Prompt for an AI agent

> Turn this mechanic idea into one testable question. Propose the cheapest prototype, explicit exclusions, a time budget, and an observable criterion. First consider a test without code. Do not present invented outcomes as a completed playtest. After implementation, provide launch instructions and a blank observation template.

## Connected materials

- Continue learning: [The game loop and time](https://gamemechanics.pro/en/lessons/game-loop/) (key: lesson/game-loop)
- Continue learning: [Developing a game with an AI agent](https://gamemechanics.pro/en/lessons/agent-workflow/) (key: lesson/agent-workflow)
- Continue learning: [Blockout: test space before art](https://gamemechanics.pro/en/lessons/level-blockout/) (key: lesson/level-blockout)
- Continue learning: [Choice costs and situational value](https://gamemechanics.pro/en/lessons/choice-cost/) (key: lesson/choice-cost)
- Continue learning: [Running a playtest with a concrete question](https://gamemechanics.pro/en/lessons/running-a-playtest/) (key: lesson/running-a-playtest)
- Apply the principle: [Telegraph](https://gamemechanics.pro/en/knowledge/mechanic/boss-fight-atlas--boss-telegraph/) (key: mechanic/boss-fight-atlas--boss-telegraph)
- Put it into practice: [A current on paper](https://gamemechanics.pro/en/knowledge/practice/paper-current/) (key: practice/paper-current)
- Related materials: [From world rules to player actions](https://gamemechanics.pro/en/lessons/world-to-gameplay/) (key: lesson/world-to-gameplay)
- Learning paths: [Your first verifiable prototype](https://gamemechanics.pro/en/learn/first-prototype/) (key: path/first-prototype)
- Continue learning: [Level design](https://gamemechanics.pro/en/learn/level-design/) (key: path/level-design)
- Continue learning: [Balance and progression](https://gamemechanics.pro/en/learn/balance/) (key: path/balance)
- Continue learning: [Game verification](https://gamemechanics.pro/en/learn/game-verification/) (key: path/game-verification)
- Sources in the selection: [Unity Learn: prototyping](https://gamemechanics.pro/en/resources/#resource-unity-prototyping) (key: resource/unity-prototyping)

## Sources and provenance

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

- [Unity Learn: Prototyping](https://learn.unity.com/pathway/creative-core/unit/prototyping) (id: source-22bf9a2b4f0b9218)

CC-BY-4.0 · gamemechanics.pro contributors
