Chapter 13 Exercises: Challenge, Mastery, and the Joy of Getting Good
These exercises build the design vocabulary and craft of difficulty engineering. Some are analytical --- dissecting the difficulty design of existing games to see how mastery is constructed. Some are constructive --- adding teaching sequences and tutorial systems to your project. Some are reflective --- examining your own experience of mastery to inform how you design for it.
Do at least six of the twelve. Attempt at least one from each category (analysis, design, implementation, reflection). The exercises that feel uncomfortable are usually the ones with the most to teach.
Exercise 1: Teach-Test-Master Archaeology (Analysis)
Pick a game with a reputation for elegant teaching --- Super Mario Bros. (any 2D entry), Portal, Celeste, Hollow Knight, or Half-Life 2 are good candidates. Play through at least the first hour, paying close attention to how each new mechanic is introduced.
For each new mechanic the game teaches you in that hour:
- Identify the teach moment. What environment did you encounter the mechanic in? Was failure possible? Was there text instruction or environmental teaching?
- Identify the test moment. Where did the game first ask you to use the mechanic in a context that mattered? What was the cost of failure?
- Identify the master moment. Where did the game combine the mechanic with other mechanics or push you to apply it under pressure?
- Note any cases where the structure was incomplete or out of order. Were any mechanics tested before they were taught? Were any introduced and then never returned to?
Write a 600-900 word analysis. The point of this exercise is to develop your eye for teaching structure. Once you can see the structure in others' games, you can engineer it in your own.
Exercise 2: The Hard-but-Fair Audit (Analysis)
Choose a game you found memorably difficult --- one where you struggled but eventually succeeded, or one where you struggled and gave up. Apply the six fairness properties from Section 13.2 to it:
- Telegraphs: Did major threats have visible windups?
- Readability: Was the visual language clear about what was dangerous?
- Consistent rules: Did mechanics behave the same way every time?
- Recoverable failure: Was the cost of a single mistake bounded?
- Information access: Could you find out what you needed to know?
- No invisible mechanics: Were the rules surfaced or hidden?
Score each property from 1 (failed badly) to 5 (excellent). Then write a brief reflection (300-500 words) on whether your overall experience of the game's difficulty correlated with its fairness scores. Did you give up because the game was unfair, or because it was fair but more demanding than you wanted to engage with? These are different problems requiring different design responses.
Exercise 3: Design an Environmental Tutorial (Design)
Pick one mechanic in your project --- ideally one you already implemented, or one you plan to implement. Now design an environmental tutorial for it: a level layout (sketched or described in detail) that teaches the player the mechanic without using any text.
Your design must include:
- The teach room, with at least one diagram showing how the level geometry forces the player to discover the mechanic.
- The test room, with at least one diagram showing how the player uses the mechanic to overcome a small challenge.
- The master room, with at least one diagram showing how the player applies the mechanic under demanding conditions, possibly combined with other mechanics.
Annotate each diagram with what the player should be feeling or thinking at each point. The annotations are as important as the diagrams; they record your design intent.
Extension: Show your diagrams to a friend and have them describe what they think the level is teaching. If their description matches your intent, your environmental teaching is working on paper. If their description does not match, identify which spatial cue is failing and revise.
Exercise 4: Implement the TutorialZone (Implementation)
Implement the TutorialZone script from Section 13.10 in your project.
- Create the script as
TutorialZone.gdand attach it to a newArea2Dscene. - Place at least three TutorialZones in your project --- one for each phase of a teach-test-master sequence.
- Connect the
zone_enteredsignal to a feedback mechanism. Try at least two different feedback approaches: - A traditional brief on-screen text prompt - A non-text approach: a visual highlight, a camera zoom, a door opening, an audio cue, or a particle effect - Playtest both approaches with the same person and ask which felt more natural.
The point of this exercise is to develop your intuition for non-textual teaching. Most designers default to text because it is fast to write. Practice the alternatives until they become equally easy to deploy.
Exercise 5: Map the Three Difficulty Types (Analysis)
Choose three different games --- ideally with very different design philosophies. For each game, decompose its difficulty into the three types from Section 13.4:
- Mechanical difficulty: What execution skills does the game demand? (Aim, timing, reflexes, input precision)
- Cognitive difficulty: What understanding does the game demand? (Strategy, puzzle-solving, system mastery)
- Emotional difficulty: What persistence does the game demand? (Endurance, frustration tolerance, tension management)
Estimate the proportion of each type for each game. (For example: Dark Souls might be 30% mechanical / 30% cognitive / 40% emotional; Portal might be 10% / 80% / 10%; Beat Saber might be 90% / 5% / 5%.)
Then write a 400-600 word reflection on what your proportions tell you about the games' design priorities and intended audiences. Which type of difficulty are you personally best at engaging with? Worst at? How does that match the games you tend to enjoy?
Exercise 6: The Death Audit (Analysis)
The next time you die in a video game, pause for thirty seconds before respawning. In those thirty seconds, answer:
- Do I know what just killed me?
- Do I know what I would do differently next time?
- If I died to the same thing again, would I have learned anything from the second death that I did not learn from the first?
Repeat this practice for at least ten deaths across at least three play sessions. Keep notes.
After the practice period, write a short reflection (300-500 words) on what you learned. How often did your deaths produce information? How often did they not? When deaths did not produce information, what was the underlying cause --- random factors, hidden mechanics, lack of telegraphs, or your own inattention? What does this tell you about the difference between your ideal player and the actual player you are?
Exercise 7: The Cuphead Tip Card (Design)
Cuphead's death screen showed players how far through the boss fight they got. This small detail reframed each death from "I died again" to "I got further this time."
Apply this thinking to your own project. After the player fails (dies, fails an objective, gets a game over), what could you show them that would convert the failure into productive information or encouragement?
Design at least three different post-failure screens or feedback mechanisms for your project:
- A progress-tracking display: Show the player how far they got, what they accomplished, or how their performance compares to previous attempts.
- A diagnostic display: Show the player what specifically caused the failure and what they might try differently.
- An encouragement display: Show the player something positive about the attempt without sugar-coating the failure.
Write a brief description of each design and rationale for why it would or would not work for your specific game.
Exercise 8: Implement a Difficulty Selection System (Implementation)
Add a difficulty selection screen to your project. At minimum, implement three difficulty levels (e.g., Easy, Normal, Hard) that affect at least two parameters of your game's challenge.
Required:
- A settings menu where the player can choose difficulty before starting (or change it mid-game if your design supports that).
- The selected difficulty must affect at least two parameters --- for example, enemy damage, enemy speed, player damage taken, resource scarcity, or available retry attempts.
- The difficulty levels must produce noticeably different play experiences without making any of them unplayable.
Extension: Implement granular difficulty controls --- separate sliders for each affected parameter. Compare the experience of designing for discrete levels vs. granular controls. Which approach gave you more design control? Which approach gave the player more autonomy?
Exercise 9: The Self-Imposed Challenge (Reflection)
Pick a game you have already completed and play through a portion of it again with a self-imposed restriction. Examples:
- A combat game without using your strongest weapon
- A platformer without using a key ability (no double-jump, no dash)
- An RPG with a single-class restriction or no leveling
- A stealth game with a no-kill or no-detection restriction
- A roguelike with a one-life restriction (no respawns)
Play for at least one hour with the restriction. Then write a 400-600 word reflection on the experience.
Specifically address:
- How did the restriction change your relationship to the game's mechanics?
- Did you find new appreciation for systems you previously took for granted?
- Did the restriction produce a different kind of mastery experience than the original playthrough?
- What does this tell you about what your players might be doing with your game once they have completed your intended challenge?
Exercise 10: Audit Your Own Tutorial (Implementation/Reflection)
Look at the opening five minutes of your project's current state. Honestly assess:
- How much text does the player encounter in the first five minutes?
- How many mechanics are introduced in the first five minutes?
- For each mechanic, does the introduction follow teach-test-master, or is it mostly explanatory?
- If the player skipped all the text and dialogue, would they still understand how to play?
Identify one mechanic in your project's opening that is currently taught primarily through text. Redesign the introduction to teach it through level geometry and player action instead. Implement the redesign in your project.
Test the redesigned tutorial with someone new to your project. Did they understand the mechanic? How long did it take them to figure it out compared to the text-based introduction?
Exercise 11: Mastery Loop Layering (Design)
For your project, identify what mastery satisfaction the player gets at each of the four scales described in Section 13.6:
- Second-by-second: What feels good to do moment-to-moment?
- Minute-by-minute: What small bounded challenges produce satisfaction?
- Session-by-session: What does the player accomplish in a typical play session?
- Game-by-game: What are the major milestones over the entire play arc?
For any scale where you cannot identify a satisfying mastery moment, design one. Implement at least one new mastery moment at the scale you found weakest.
Extension: Have a playtester complete a play session of about thirty minutes. After the session, ask them what felt satisfying. Map their responses to the four scales. Which scales did your design successfully reach? Which did not register?
Exercise 12: The Difficulty Plateau Plan (Design / Reflection)
Imagine a player who has completed your project's intended content and now wants more challenge. What does your game offer them?
If the answer is "nothing" --- which is usually the case for student projects --- design at least three plateau-extending features. For each feature, describe:
- What it is: A new game mode, optional challenge, modifier, or restriction-based challenge.
- Who it serves: Players at what skill level and seeking what kind of additional challenge.
- What mastery it produces: What new skill or fluency the feature would develop.
The features can be ambitious. The point of the exercise is to confront the question of what happens when the player finishes your game --- and to recognize that "nothing" is a design choice, not an inevitability.
A Note on Doing These Well
The temptation with these exercises is to do them quickly --- read the prompt, write a short answer, move on. Resist it. Difficulty design is one of the deepest crafts in game design, and the only way to develop it is through serious engagement with games (your own and others') as design objects.
Pick six exercises and spend real time on each. The exercises that take you several hours each are the ones that will change how you design. The ones you knock out in fifteen minutes will change nothing.