Playtesting shows what you cannot see yourself
Playtesting means watching real people play your game and writing down what happens. Balance is how fair and how fun the difficulty feels. A playtest is the main way to find out whether a level is balanced.
You know how your own game works, so you cannot see where a new player gets stuck. Someone else can.
By the end of this lesson
Note
I can read playtest results and decide what to change in a game.
Key words
| Word | What it means |
|---|---|
| Playtest | a session where someone plays and you watch |
| Balance | how fair the difficulty feels to a player |
| Metric | a number you record, such as seconds played |
| Accessibility | how easy a game is for different people to use |
| Feedback | what a tester says or does about the game |
The cells students fill in are left blank in this preview.
A playtest records numbers and words
Decide what to record before testers arrive. Numbers are the easy part: how many seconds each person lasted, what score they reached, and whether they quit early.
Words matter too. Write down what a tester says out loud, such as "I do not know what the box does". Do not help them. Watch, stay quiet and write.
Worked example: four made-up playtest sessions
| Player | Seconds played | Score | Quit before 30 seconds? |
|---|---|---|---|
| mia | 40 | 7 | No |
| omar | 20 | 1 | Yes |
| li | 60 | 9 | No |
| sam | 20 | 0 | Yes |
The cells students fill in are left blank in this preview.
Results show if a level is too hard
Work out two numbers from the table. The average is the total seconds divided by the number of players. Here, 40 + 20 + 60 + 20 is 140, and 140 divided by 4 is 35 seconds.
The second is the share who quit early. Two of four quit before 30 seconds, which is half. A common rule is that when half or more quit early, the first level is too hard.
Worked example: from a result to a change
| What you see | What it may mean | A change to try |
|---|---|---|
| Half quit in under 30 seconds | The start is too hard | Lower GRAVITY or raise PLAYER_SPEED |
| Nobody loses a life | The game is too easy | Lower SPAWN_EVERY |
| Testers ask what to press | The controls are unclear | Put the keys on the page |
| Scores differ a lot | Luck matters a lot | Test again with more players |
The cells students fill in are left blank in this preview.
A game should work for different players
Accessibility means more people can play. Some players cannot use a keyboard, some cannot tell two colours apart, and some need more time to react.
A game can offer more than one way to play, show important things in more than one way, and let the speed be changed. Many of these cost only a few lines of code.
Find where the buttons move the box
docker exec jupyter grep -n "pointerdown" game/game.jsShown here, not run. Create a free account to press Run and type it into your own lab’s terminal.
On-screen buttons let people play without keys
The search prints one line, number 130. It adds a pointerdown listener to the Left and Right buttons on the page. A pointer is a mouse, a finger or a pen.
So a player can hold a button to move the box and does not need a keyboard. That is one accessibility choice already made in the lab game.
Count the listeners the game adds
docker exec jupyter grep -c "addEventListener" game/game.jsShown here, not run. Create a free account to press Run and type it into your own lab’s terminal.
Six listeners cover keys, buttons and restart
With -c, grep prints a count and not the lines. The answer is 6. Two listeners are for the arrow keys. Three are for the pointer events of the on-screen buttons. One is for the Restart button.
A tester who cannot use a keyboard can still play and start again.
A common mistake
Warning
Many people explain the game to the tester before they start. Then the test shows only how well the game works when someone has explained it. Say nothing about how to play. If the tester cannot work it out, that is the result you came for.