How to Playtest a Game and Learn From Five Players
Use a five-session game playtest protocol with observation codes, severity rules, neutral questions, and a clear threshold for when to stop changing a section.

To playtest a game, give a player a specific build and task, observe without teaching, record behavior separately from interpretation, ask neutral questions afterward, and change the smallest design element that explains repeated failures. Five focused sessions can reveal patterns worth investigating, but they do not turn a tiny sample into universal truth.
This guide uses five sessions because that batch is small enough for a solo developer to run and large enough to compare repeated behavior. It is an editorial protocol, not a statistical guarantee. The goal is to discover where the game and the player's mental model disagree.
Start with one question from the game design document, such as: “Can a new player understand that light is both health and ammunition before the first room ends?”
Define the Decision Before Recruiting
Write a test card with six fields:
Build ID:
Question:
Player task:
Start point:
Stop point:
Decision this evidence may change:
Example, using a fictional game:
Build ID: 0.3.7-test
Question: Does the first room teach that light powers attacks?
Player task: Reach the exit.
Start point: Fresh save, title screen.
Stop point: Exit reached, player quits, or 12 minutes pass.
Decision this evidence may change: Placement and feedback of the first light pickup.
The example is invented to show the format. A test without a decision becomes a feedback harvest. Players suggest more weapons, easier enemies, deeper lore, and a different camera, but the developer has no rule for what to act on.
Freeze the build during the five-session batch unless a crash, data-loss risk, or total progression blocker makes later sessions impossible to compare. If you change the tutorial after Player 2, label the next run as a new build and stop pretending all five experienced the same test.
Recruit for the Question
The ideal participant depends on the decision.
- First-time comprehension: recruit people who have not watched development streams or received private explanations.
- Genre readability: recruit some people familiar with the genre and some who match the intended audience without deep expertise.
- Controller onboarding: recruit players who actually use the target device and input method.
- High-level balance: recruit people who can reach and understand the relevant system.
Friends can still reveal usability problems, but familiarity with you can make them polite, patient, or eager to infer what you meant. Tell every participant that the game is being tested, not them, and that getting stuck is useful evidence.
If you use Steam, Steam Playtest provides a free way to grant access through a Playtest app associated with the base game's store page. Steam says developers cannot charge for Playtest access. Its setup still involves a simplified page and build review, so it is a distribution option rather than an instant substitute for preparing the test.
For a first five-person batch, a direct build may be simpler if it is safe and appropriate for the participants. Use the distribution method that protects private data, communicates platform requirements, and makes removal or updates manageable.
Prepare the Session
Use the same setup where possible:
- exact build ID;
- fresh or specified save state;
- target input device;
- screen and game audio recording with consent;
- a timer visible to the observer, not necessarily the player;
- one observation sheet;
- the same opening instruction;
- the same stop rule.
Do not collect more personal information than the test needs. Explain what is recorded, where it is stored, who can see it, and when it will be deleted. Ask permission before recording voice or video. If someone declines recording, notes may be enough.
Test the build and recording path before the participant arrives. A broken capture should not consume the only fresh first-run reaction.
Use Observation Codes
Separate what happened from what you think it means. These compact codes keep notes scannable:
| Code | Meaning | Example note |
|---|---|---|
| B | blocker | B 03:14 cannot leave inventory |
| E | error | E 01:22 spends health item accidentally |
| H | hesitation | H 00:47 scans screen for exit |
| R | repeated action | R x4 attacks locked door |
| S | self-correction | S 02:08 finds dodge after failed jump |
| V | verbal reaction | V “I thought blue meant safe” |
| O | observer intervention | O 05:00 explains objective |
Write timestamps and concrete behavior. “Player confused” is an interpretation. “H 18 seconds, opens map twice, walks back to spawn” is observable.
An intervention is not a shameful failure. Record it. The moment you explain the rule, the remainder of the session no longer measures whether the game taught that rule unaided.
Read One Neutral Script
Use a short opening:
Please play from this screen until you reach the end, decide to stop, or I end the session. I will mostly stay quiet because I am testing what the game communicates. You cannot fail this test. If you get stuck, do what you would normally do. I may ask questions afterward.
Avoid teaching through the prompt. “Use the light meter to open the door” destroys a test of whether the light meter and door relationship is understandable.
During play, useful responses include:
- “What are you thinking?” if the player has agreed to think aloud;
- “What would you do if I were not here?”
- “I am going to note that.”
Avoid “Did you see the flashing icon?” or “Why didn't you use the obvious path?” Those questions reveal the intended answer and can make the player defend a perfectly reasonable reading of the interface.
Ask Questions After Behavior Is Captured
Start broad:
- What did you think your goal was?
- What did you believe the light meter represented?
- When did you feel least sure what to do?
- What did you expect to happen when you chose the door?
- Was anything easier or harder than you expected?
- If you played again, what would you do differently?
Then revisit specific moments without arguing:
At 03:14 you opened the inventory three times. What were you looking for?
Do not ask whether the participant “liked” every feature. Preference matters, but it is different from comprehension. A player can dislike a punishing rule while understanding it perfectly. Another can enjoy the art while missing the objective.
Assign Severity After the Session
Use impact on the tested task:
| Severity | Definition | Typical response |
|---|---|---|
| 0 | preference or unrelated idea | save separately, no test change |
| 1 | friction with successful recovery | monitor or make a small polish change |
| 2 | repeated error or major delay | investigate before next milestone |
| 3 | blocks progress or invalidates the test | fix before another comparable batch |
A loud complaint is not automatically Severity 3. A silent misunderstanding that prevents progress may be.
Add confidence separately:
- Observed: directly visible in the session.
- Reported: participant described it afterward.
- Inferred: your current explanation for the behavior.
“Three players walked past the lever” is observed. “The lever is too dark” is inferred until a contrast change or follow-up test supports it.
Compare the Five Sessions
Create a matrix by moment, not by participant personality:
| Moment | P1 | P2 | P3 | P4 | P5 | Pattern |
|---|---|---|---|---|---|---|
| Finds exit | H | B | H | S | H | exit cue weak |
| Reads light cost | E | E | S | E | E | cost communicated late |
| Uses dodge | S | S | S | S | S | no urgent change |
This fictional matrix demonstrates the method. Do not blindly “fix anything three people did.” Look at severity, the tested audience, whether participants influenced one another, and whether the same design cause plausibly explains the behavior.
Prioritize in this order:
- crashes, data loss, safety, or inaccessible progression;
- blockers that invalidate the tested loop;
- repeated misunderstandings of the core rule;
- friction that compounds over repeated play;
- preferences and feature requests.
Feature requests often contain a problem worth studying. “Add a minimap” may mean the player cannot form a spatial model. Test the problem before committing to the requested solution.
Change One Explanatory Layer at a Time
If four players miss a resource cost, possible causes include placement, timing, color, animation, wording, sound, or the mechanic itself. Changing all six makes it impossible to learn which signal mattered.
Choose the smallest change that could explain the pattern:
- move the cost beside the action;
- delay the confirmation until the number changes visibly;
- add one consistent sound;
- remove a competing alert;
- simplify the first decision.
Write the hypothesis:
If the cost appears beside the door before confirmation, at least four of the next five fresh players will predict that opening it consumes light.
That threshold is a project decision, not a universal usability standard. It turns the next batch into a test rather than a victory lap.
Know When to Stop Changing the Section
Use a stop-changing rule to prevent endless tutorial churn. For the tested section, pause changes when:
- no Severity 3 issue appears in the current build;
- the core task succeeds without observer intervention for the intended audience;
- remaining issues are low severity or unrelated to the current question;
- a new change would address a one-off preference rather than repeated behavior;
- the next uncertainty now lives elsewhere in the game.
“Stop changing” does not mean perfect forever. It means the evidence no longer justifies spending the next development block there.
If a later trailer review or wider test reveals a new failure, reopen the decision with that evidence. The companion guide to making a game trailer is itself a comprehension test: someone should be able to describe the core action from representative footage.
Five-Session Checklist
Before:
- one build ID and one decision question;
- participant criteria match the question;
- consent and data handling explained;
- capture path tested;
- opening script and stop rule written.
During:
- observe before explaining;
- timestamp behavior with consistent codes;
- record every intervention;
- avoid leading questions;
- stop for safety, distress, or a known invalid build.
After:
- ask broad questions before specific moments;
- separate observation, report, and inference;
- assign severity by task impact;
- compare patterns across sessions;
- make the smallest explanatory change;
- define the next test and stop-changing threshold.
Playtesting is not a vote on the design. Players supply behavior, expectations, reactions, and context. The developer's job is to find the smallest honest explanation for repeated friction, change the game, and test again without teaching the answer.
Related Articles

How to Make a Game Trailer That Shows the Game Fast
Learn how to make a game trailer with a shot ledger that maps every clip to a mechanic, escalation beat, and truthful promise on your store page.

Indie Game Marketing: A Build-First Weekly Plan
Use a build-first indie game marketing plan that turns playable progress into screenshots, clips, demos, store updates, outreach, and measurable next actions.

Godot Multiplayer Tutorial: A Two-Player Test
Build a tiny Godot multiplayer test with one server-authoritative action, then verify connection, authority, disconnect, and packet-loss behavior.