@jarrodmedrano/claude-skills 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.claude/skills/bevy/SKILL.md +406 -0
  2. package/.claude/skills/bevy/references/bevy_specific_tips.md +385 -0
  3. package/.claude/skills/bevy/references/common_pitfalls.md +217 -0
  4. package/.claude/skills/bevy/references/ecs_patterns.md +277 -0
  5. package/.claude/skills/bevy/references/project_structure.md +116 -0
  6. package/.claude/skills/bevy/references/ui_development.md +147 -0
  7. package/.claude/skills/domain-driven-design/SKILL.md +459 -0
  8. package/.claude/skills/domain-driven-design/references/ddd_foundations_and_patterns.md +664 -0
  9. package/.claude/skills/domain-driven-design/references/rich_hickey_principles.md +406 -0
  10. package/.claude/skills/domain-driven-design/references/visualization_examples.md +790 -0
  11. package/.claude/skills/domain-driven-design/references/wlaschin_patterns.md +639 -0
  12. package/.claude/skills/game-design-theory/SKILL.md +102 -0
  13. package/.claude/skills/game-design-theory/design-principles.md +308 -0
  14. package/.claude/skills/game-design-theory/gameplay-elements.md +213 -0
  15. package/.claude/skills/game-design-theory/player-psychology.md +175 -0
  16. package/.claude/skills/game-design-theory/playtesting.md +321 -0
  17. package/.claude/skills/game-design-theory/storytelling.md +219 -0
  18. package/.claude/skills/game-feel/SKILL.md +305 -0
  19. package/.claude/skills/game-feel/references/adsr-tuning.md +271 -0
  20. package/.claude/skills/game-feel/references/classic-profiles.md +279 -0
  21. package/.claude/skills/game-feel/references/perception-thresholds.md +160 -0
  22. package/.claude/skills/game-feel/references/polish-effects.md +246 -0
  23. package/.claude/skills/game-feel/references/simulation-recipes.md +306 -0
  24. package/.claude/skills/game-feel/references/six-metrics.md +239 -0
  25. package/.claude/skills/godot/SKILL.md +728 -0
  26. package/.claude/skills/godot/assets/templates/attribute_template.gd +109 -0
  27. package/.claude/skills/godot/assets/templates/component_template.gd +76 -0
  28. package/.claude/skills/godot/assets/templates/interaction_template.gd +108 -0
  29. package/.claude/skills/godot/assets/templates/item_resource.tres +11 -0
  30. package/.claude/skills/godot/assets/templates/spell_resource.tres +20 -0
  31. package/.claude/skills/godot/references/architecture-patterns.md +608 -0
  32. package/.claude/skills/godot/references/common-pitfalls.md +518 -0
  33. package/.claude/skills/godot/references/file-formats.md +491 -0
  34. package/.claude/skills/godot/references/godot4-physics-api.md +302 -0
  35. package/.claude/skills/godot/scripts/validate_tres.py +145 -0
  36. package/.claude/skills/godot/scripts/validate_tscn.py +170 -0
  37. package/.claude/skills/level-design/SKILL.md +249 -0
  38. package/.claude/skills/level-design/anticipatory-play.md +223 -0
  39. package/.claude/skills/level-design/hiding-linearity.md +181 -0
  40. package/.claude/skills/level-design/indie-practices.md +286 -0
  41. package/.claude/skills/level-design/open-world-planning.md +294 -0
  42. package/.claude/skills/level-design/play-personas.md +240 -0
  43. package/.claude/skills/level-design/procedural-handmade.md +271 -0
  44. package/.claude/skills/level-design/themed-environments.md +264 -0
  45. package/.claude/skills/react-three-fiber/SKILL.md +2055 -0
  46. package/.claude/skills/react-three-fiber/scripts/build-scene.ts +171 -0
  47. package/package.json +3 -1
  48. package/scripts/install.js +16 -1
  49. package/templates/github-actions/README.md +36 -0
  50. /package/.claude/{commands/design-review → agents}/design-review-agent.md +0 -0
  51. /package/.claude/{commands/code-review → agents}/pragmatic-code-review-subagent.md +0 -0
  52. /package/{.claude/commands/code-review → templates/github-actions}/claude-code-review-custom.yml +0 -0
  53. /package/{.claude/commands/code-review → templates/github-actions}/claude-code-review.yml +0 -0
  54. /package/{.claude/commands/security-review → templates/github-actions}/security.yml +0 -0
@@ -0,0 +1,249 @@
1
+ ---
2
+ name: level-design
3
+ description: >
4
+ Level design consulting based on "Level Design: Processes and Experiences"
5
+ (CRC Press). Use when helping with spatial game design, environment layout,
6
+ player guidance, pacing, open-world planning, hiding linearity, themed
7
+ environments, procedural vs handmade content, play-personas, or evaluating
8
+ level quality. Covers horror level design, indie game practices, and
9
+ AAA open-world techniques. NOT for coding - focused on design philosophy
10
+ and player spatial experience.
11
+ ---
12
+
13
+ # Level Design Skill
14
+
15
+ A design consulting framework based on "Level Design: Processes and Experiences" edited by Christopher W. Totten (CRC Press, 2017).
16
+
17
+ ## Core Philosophy
18
+
19
+ Level design is the **thoughtful execution of gameplay into gamespace for players to dwell in**. It sits at the intersection of programming, design, and art—implementing the game design vision while leading players through experiences without revealing the designer's presence.
20
+
21
+ > "Level designers don't merely create things for players to do. They create situations that invite players to interpret who they are." — Brian Upton
22
+
23
+ ---
24
+
25
+ ## The Designer's Core Tasks
26
+
27
+ 1. **Guide without forcing** — Lead players through intended experiences while maintaining illusion of freedom
28
+ 2. **Teach through space** — Use environment to communicate mechanics, not tutorials
29
+ 3. **Control pacing** — Modulate intensity through spatial rhythm and stillness
30
+ 4. **Support narrative** — Align levels within overall game progression
31
+ 5. **Create consistency** — Establish and honor environmental rules players can rely on
32
+
33
+ ---
34
+
35
+ ## Quick Reference: Level Types
36
+
37
+ | Type | Key Considerations |
38
+ |------|-------------------|
39
+ | **Linear** | Hide linearity through visual choice, narrative lures, environmental storytelling |
40
+ | **Open-World** | POI density, anchor locations, subregions, orientation landmarks |
41
+ | **Horror** | Anticipatory play, corners, one-way doors, visible-but-blocked escape |
42
+ | **Procedural** | Horizontal vs vertical integration of handmade content |
43
+ | **Indie/Focused** | Expand single core mechanic through level variation |
44
+
45
+ ---
46
+
47
+ ## Hiding Linearity
48
+
49
+ Players must feel in control even when following a predetermined path.
50
+
51
+ ### Techniques
52
+
53
+ | Technique | Description |
54
+ |-----------|-------------|
55
+ | **Coerced Progression** | Time pressure, pursuing enemies—no time to question the path |
56
+ | **Environmental Signage** | In-world signs, color coding (Mirror's Edge red) |
57
+ | **NPC Guides** | Companions who lead, escort targets who follow, enemies to chase |
58
+ | **Narrative Lures** | Visible objectives, story hooks that pull forward |
59
+ | **Forced Choice Illusion** | Block one path as player approaches, making "choice" feel organic |
60
+
61
+ ### What Breaks the Illusion
62
+
63
+ - Arbitrary locked doors
64
+ - Invisible walls
65
+ - Flimsy barriers (yellow police tape blocking a superhero)
66
+ - Clear artificial constraints without narrative justification
67
+
68
+ **See**: `references/hiding-linearity.md`
69
+
70
+ ---
71
+
72
+ ## Anticipatory Play & Horror Design
73
+
74
+ Horror isn't about jump scares—it's about **dread before the corner**.
75
+
76
+ ### The P.T. Framework
77
+
78
+ - **Corners** — Hide what's ahead; players imagine horrors worse than you could show
79
+ - **Ratchet Doors** — One-way progress; can't retreat, must face what's ahead
80
+ - **Valve Doors** — Block progress temporarily; visible state reduces uncertainty about *if* blocked
81
+ - **Visible Escape** — Show impossible exits to amplify feeling of being trapped
82
+
83
+ ### Key Principle
84
+
85
+ > "Anticipatory play requires variety—the situation must evolve so players continually reassess. Static horrors become played out."
86
+
87
+ **See**: `references/anticipatory-play.md`
88
+
89
+ ---
90
+
91
+ ## Open-World Planning (Burgess Method)
92
+
93
+ Three living documents for large-scale world design:
94
+
95
+ ### 1. The World Map
96
+ - Establish setting, scale, subregions
97
+ - Plot anchor locations (story-critical, landmarks)
98
+ - Include orienting features (visible from anywhere)
99
+ - Plan natural boundaries (water, cliffs) over artificial walls
100
+
101
+ ### 2. The Master List (Excel)
102
+ - Every location with X/Y coordinates
103
+ - Columns for: designer, quest associations, footprint size, difficulty, encounter type
104
+ - Scatter graph overlay on map image
105
+ - Filter to visualize distribution patterns
106
+
107
+ ### 3. The Directory (Wiki)
108
+ - Per-location pages with: status, goals, walkthrough, known issues, to-do
109
+ - Category tags for filtering (by designer, by pass, by type)
110
+ - Living documentation updated throughout development
111
+
112
+ ### POI Density
113
+
114
+ The frequency of points of interest defines exploration feel:
115
+ - **High density** = Theme park feel (GTA cities)
116
+ - **Low density** = Vast, sparse exploration (Just Cause countryside)
117
+ - **Non-uniform** = Urban cores dense, rural areas sparse (Fallout 4)
118
+
119
+ **See**: `references/open-world-planning.md`
120
+
121
+ ---
122
+
123
+ ## Play-Personas
124
+
125
+ Model player behavior before and after implementation.
126
+
127
+ ### The Process
128
+
129
+ 1. **Analyze mechanics** → Derive high-level behaviors from low-level actions
130
+ 2. **Create matrix** → Plot all behavioral combinations (2^n personas)
131
+ 3. **Select cast** → Choose 2-3 personas aligned with design vision
132
+ 4. **Associate affordances** → Link behaviors to spatial/ludic elements
133
+ 5. **Orchestrate** — Modulate which personas are viable throughout level
134
+ 6. **Validate** — Use telemetry to confirm players match expected personas
135
+
136
+ ### Example: Pac-Man
137
+
138
+ High-level behaviors: Center vs periphery dwelling, early vs late pill eating, linear vs broken paths
139
+
140
+ → 8 persona combinations including "Fraidy Cat" (periphery, early pills, linear) and "Risk Taker" (center, late pills, broken)
141
+
142
+ **See**: `references/play-personas.md`
143
+
144
+ ---
145
+
146
+ ## Themed Level Tropes
147
+
148
+ Classic environmental themes with established mechanics and expectations:
149
+
150
+ | Trope | Core Elements | Design Advantages |
151
+ |-------|---------------|-------------------|
152
+ | **Fire/Ice** | Environmental hazards, timing puzzles | Color variety, physics tweaks |
153
+ | **Dungeon/Cavern** | Tileable textures, traps, treasure | Easily repeatable, expected danger |
154
+ | **Factory** | Moving platforms, conveyers, gears | Repurposable mechanics, scalable difficulty |
155
+ | **Jungle** | Vines, branches, water, wildlife | Fluid movement, colorful outdoor |
156
+ | **Spooky** | Atmosphere, surprise, undead | Combines with any theme |
157
+ | **Pirate** | Ships, treasure, melee, water | Action-ready, clear rewards |
158
+ | **Urban** | Verticality, cover, vehicles | Real-world familiarity |
159
+ | **Space Station** | Tech hazards, airlocks, zero-G | Sci-fi dungeon equivalent |
160
+ | **Sewer** | Pipes, rats, rising water | Modern dungeon stand-in |
161
+
162
+ **Mexican Pizza Technique**: Combine two tropes for fresh results (fire + graveyard, jungle + urban ruins)
163
+
164
+ **See**: `references/themed-environments.md`
165
+
166
+ ---
167
+
168
+ ## Indie Level Design Practices
169
+
170
+ When working with limited resources:
171
+
172
+ | Practice | Description |
173
+ |----------|-------------|
174
+ | **Expand Core Mechanic** | One strong mechanic explored through level variation (VVVVVV) |
175
+ | **Iterative Level Design** | Rapid prototyping, playtest early and often |
176
+ | **Design Modes Not Levels** | Create systems that generate challenge (endless runners) |
177
+ | **Embrace Emergence** | Simple rules, complex interactions |
178
+ | **Object-Oriented Design** | Modular elements that combine predictably |
179
+
180
+ ### Qualities of Good Level Design
181
+
182
+ - Maintain flow: challenge without anxiety or boredom
183
+ - Balance freedom with constraints (illusion of control)
184
+ - Enable mastery and emergent solutions
185
+ - Balance risk and reward proportionally
186
+ - Guide without being obvious
187
+
188
+ **See**: `references/indie-practices.md`
189
+
190
+ ---
191
+
192
+ ## Procedural vs Handmade Integration
193
+
194
+ Two integration models:
195
+
196
+ ### Vertical Integration
197
+ Handmade thread runs through procedural content (FTL quest chains, Spelunky secrets)
198
+
199
+ **Best for**: Narrative, puzzle sequences, coherent story beats
200
+
201
+ ### Horizontal Integration
202
+ Procedural and handmade content interchangeable in same slot (Dungeon Crawl vaults, URR buildings)
203
+
204
+ **Best for**: Ensuring specific gameplay moments, quality floors
205
+
206
+ ### Key Decision
207
+ **Should players see which is which?**
208
+ - **Yes** (DCSS): Visual variety, risk/reward clarity
209
+ - **No** (URR): Quality perception, seamless experience
210
+
211
+ **See**: `references/procedural-handmade.md`
212
+
213
+ ---
214
+
215
+ ## Level Evaluation Framework
216
+
217
+ When evaluating a level design:
218
+
219
+ 1. **Player Guidance**: Can players find their way without obvious signposting?
220
+ 2. **Pacing**: Does intensity modulate appropriately? Are there moments of stillness?
221
+ 3. **Teaching**: Does the space teach mechanics before testing them?
222
+ 4. **Consistency**: Do environmental rules remain predictable?
223
+ 5. **Persona Fit**: Does the level support intended play styles?
224
+ 6. **Density**: Is POI distribution appropriate for the experience?
225
+ 7. **Linearity Illusion**: Do players feel in control of their path?
226
+
227
+ ---
228
+
229
+ ## Common Pitfalls
230
+
231
+ | Pitfall | Symptom | Solution |
232
+ |---------|---------|----------|
233
+ | Obvious Rails | Player comments on being "on rails" | Add visual choice, narrative justification |
234
+ | Empty Space | Players comment on emptiness | Increase POI density or justify sparseness |
235
+ | Lost Players | Players wander aimlessly | Add orientation landmarks, environmental cues |
236
+ | Played-Out Scares | Horror stops being scary | Keep threats evolving, limit exposure time |
237
+ | Arbitrary Barriers | Players frustrated by blocked paths | Use narrative-justified or natural boundaries |
238
+ | Tutorial Overload | Players skip to "real game" | Teach through safe early gameplay |
239
+
240
+ ---
241
+
242
+ ## Key Mantras
243
+
244
+ - **"Hide the designer's hand."** Players should feel they're discovering, not being led.
245
+ - **"Corners are always significant."** Transitions between visible and hidden create anticipation.
246
+ - **"POI density defines feel."** Sparse = vast exploration; dense = action-packed.
247
+ - **"Static threats become furniture."** Evolve dangers or limit exposure.
248
+ - **"The illusion of choice is enough."** Players interpret forced choices as agency.
249
+ - **"Mexican pizza your themes."** Combine familiar tropes for fresh experiences.
@@ -0,0 +1,223 @@
1
+ # Anticipatory Play & Horror Level Design
2
+
3
+ Based on Chapter 9: "P.T. and the Play of Stillness" by Brian Upton.
4
+
5
+ ## Core Insight
6
+
7
+ Horror games are scary not because of what happens, but because of what players **imagine** will happen. The best horror level design creates **anticipatory play**—moments of stillness where players' minds race with possibilities.
8
+
9
+ > "We don't win a scary game by overcoming its challenges. We win by allowing it to thwart us."
10
+
11
+ ---
12
+
13
+ ## The Five Principles of Anticipatory Play
14
+
15
+ ### 1. Invitation
16
+ Create situations where players feel invited to engage with ambiguity. Visible choices with unclear outcomes.
17
+
18
+ ### 2. Elaboration
19
+ Choices should have clear, elaborated consequences. If you take path A, you can imagine what might happen.
20
+
21
+ ### 3. Predictability
22
+ Some outcomes should be predictable—players need anchors to build expectations from.
23
+
24
+ ### 4. Uncertainty
25
+ But not everything predictable. The tension between knowing and not-knowing creates anticipation.
26
+
27
+ ### 5. Satisfaction
28
+ Even in horror, players need to feel resolution is possible. "Maybe this is it!" beats "I have no idea."
29
+
30
+ ---
31
+
32
+ ## The P.T. Level Analysis
33
+
34
+ ### The Layout
35
+ A simple L-shaped corridor, looped infinitely:
36
+ - Entrance door (one-way ratchet)
37
+ - First half: visible, safe-feeling
38
+ - Corner: hides second half
39
+ - Second half: where bad things happen
40
+ - Bathroom door: sometimes open, sometimes locked
41
+ - Exit door (valve): blocks or allows progress
42
+ - Front door: permanently locked—visible escape that's impossible
43
+
44
+ ### The Corner
45
+
46
+ The most important element in the entire game.
47
+
48
+ **Why corners work:**
49
+ - Binary: Can't see around them, then can
50
+ - Analog: You can peek, retreat, approach slowly
51
+ - Ambiguous: Anything could be waiting
52
+ - Controllable: Player chooses when to turn
53
+
54
+ > "Just walking toward the corner and making the turn is enough to fill us with dread. It doesn't matter that most of the time nothing at all is waiting."
55
+
56
+ **Corner vs. Door:**
57
+ - Doors are abrupt reveals (open/closed)
58
+ - Corners are gradual reveals (continuous unfolding)
59
+ - Corners allow hesitation; doors demand commitment
60
+
61
+ ---
62
+
63
+ ## The Four Doors of P.T.
64
+
65
+ ### 1. The Ratchet Door (Entrance/Exit)
66
+ One-way passage. You can only go forward.
67
+
68
+ **Purpose:**
69
+ - Eliminates backtracking as possibility
70
+ - Forces players to face what's ahead
71
+ - Removes problem-solving distraction ("maybe there's another way")
72
+ - Focuses attention entirely on dread
73
+
74
+ > "The implacable barrier of the one-way door behind us removes the temptation to treat our situation as a puzzle to be solved."
75
+
76
+ ### 2. The Valve Door
77
+ Blocks progress sometimes. Visually obvious when locked.
78
+
79
+ **Why separate from ratchet:**
80
+ - Clear visual state (locked or open) from anywhere
81
+ - Player knows immediately if blocked
82
+ - No wasted time checking
83
+ - Keeps attention on *what to do*, not *whether blocked*
84
+
85
+ ### 3. The Bathroom Door
86
+ Source of specific horrors. Sometimes open, sometimes locked.
87
+
88
+ **The Bathroom as Intensified Corner:**
89
+ - Everything bad comes from here
90
+ - Opening it requires crossing threshold into darkness
91
+ - Game trains players to fear it through early jump scares
92
+ - When forced inside, door closes—player feels they're *hiding*, not *trapped*
93
+
94
+ ### 4. The Front Door (Impossible Escape)
95
+ Never opens. Permanently locked. But always visible.
96
+
97
+ **Purpose:**
98
+ - Reminder that escape *exists* as a concept
99
+ - Tantalizingly close, never achievable
100
+ - Amplifies horror by showing what you can't have
101
+ - Without it, players might forget escape is even possible
102
+
103
+ > "If you want players to feel trapped, you need to tantalize them with escape routes."
104
+
105
+ ---
106
+
107
+ ## Repetition and Training
108
+
109
+ ### The Loop Mechanism
110
+ P.T. sends players through the same corridor repeatedly. At first, this is boring. Then:
111
+
112
+ 1. Something changes (jump scare)
113
+ 2. Players learn: changes happen in second half
114
+ 3. Future loops: anticipation builds before corner
115
+ 4. The corridor itself becomes the scare
116
+
117
+ ### Training Dread
118
+ Early loops establish expectations:
119
+ - First half = safe
120
+ - Corner = transition
121
+ - Second half = danger
122
+ - Bathroom = source of danger
123
+
124
+ Once trained, the game can scare without doing anything. The player's imagination does the work.
125
+
126
+ ---
127
+
128
+ ## The "Played Out" Problem
129
+
130
+ ### Static Threats Lose Power
131
+
132
+ The fetus in the sink:
133
+ - First glimpse: genuinely horrifying
134
+ - After 30 seconds: unsettling
135
+ - After 2 minutes: just furniture
136
+
137
+ > "The longer we're trapped in the bathroom with it, the less scary the fetus becomes—it's played out as a locus of interpretive play."
138
+
139
+ ### Preventing Play-Out
140
+
141
+ 1. **Evolve the threat** — Movement, change, escalation
142
+ 2. **Limit exposure** — Brief glimpses, then gone
143
+ 3. **Keep it ambiguous** — Never fully explained
144
+ 4. **Multiple encounters** — Same threat in different contexts
145
+
146
+ ### The Lisa Ghost (Done Right)
147
+ - Appears in multiple places
148
+ - Always brief encounters
149
+ - Retreats into darkness before becoming familiar
150
+ - On balcony: visible only if you look up at right moment
151
+
152
+ ---
153
+
154
+ ## Architectural Horror Techniques
155
+
156
+ ### Visible/Invisible Balance
157
+ - Balcony: Not in normal sightline, but visible if you look
158
+ - Creates paranoia about unseen spaces
159
+ - When something appears there, retroactive fear ("it was there all along")
160
+
161
+ ### Darkness as Canvas
162
+ - Black windows in corridor
163
+ - Dark back of balcony
164
+ - These are blank spaces for imagination to fill
165
+
166
+ ### Misdirection Objects
167
+ - Coat rack positioned to look human from corner of eye
168
+ - Cluttered surfaces invite close inspection (reducing peripheral awareness)
169
+ - Environmental details that distract from actual threats
170
+
171
+ ---
172
+
173
+ ## The Metaphysical Claustrophobia
174
+
175
+ Horror games thwart agency deliberately:
176
+ - Movement is slow
177
+ - Aiming is inaccurate
178
+ - Weapons are ineffective
179
+ - Escape is impossible
180
+
181
+ **This creates "possibility space claustrophobia":**
182
+ - Not just trapped in space
183
+ - Trapped in *options*
184
+ - All choices feel bad
185
+ - No good move exists
186
+
187
+ > "You feel trapped in a too-small possibility space. Your options for action all feel dangerous and uncertain."
188
+
189
+ ---
190
+
191
+ ## Design Framework for Horror Levels
192
+
193
+ ### 1. Create Stillness
194
+ Reduce interactive demands. Let players think, imagine, dread.
195
+
196
+ ### 2. Hide What's Ahead
197
+ Corners, darkness, closed doors. The unknown is scarier than the known.
198
+
199
+ ### 3. Establish Then Subvert
200
+ Train expectations, then break them. But not too often.
201
+
202
+ ### 4. Limit Exposure
203
+ Brief glimpses of horror, not extended encounters.
204
+
205
+ ### 5. Show Impossible Escape
206
+ Tantalize with exits that can't be used.
207
+
208
+ ### 6. Use One-Way Progress
209
+ Eliminate backtracking as an option.
210
+
211
+ ### 7. Make Blocking Visible
212
+ If players can't progress, make that clear—don't waste dread on uncertainty about state.
213
+
214
+ ### 8. Interpret Actions for Players
215
+ When players can't act, design so their inaction *feels* like a choice.
216
+
217
+ ---
218
+
219
+ ## Key Principle
220
+
221
+ > "Level design is not merely a matter of arranging things for players to do. It's also a matter of constructing situations that encourage players to hold still while they plan or interpret."
222
+
223
+ The scariest moments in horror games aren't jump scares. They're the seconds before the jump scare that never comes.
@@ -0,0 +1,181 @@
1
+ # Hiding Linearity in Level Design
2
+
3
+ Based on Chapter 10: "The Illusion of Choice" by João Raza and Benjamin Carter.
4
+
5
+ ## Core Principle
6
+
7
+ A successful narrative-driven game must sustain the illusion of free will. The designer's job is to hide the contrivances of level design—go down *this* corridor, open *this* door—without making players feel their hand is forced.
8
+
9
+ > "The illusion of motion in film is a trick of the brain that works every time. Hiding the artifice in a game depends on distraction and psychological suggestion."
10
+
11
+ ---
12
+
13
+ ## Coerced Progression
14
+
15
+ The simplest approach: give players no time to question their path.
16
+
17
+ ### Time Pressure
18
+ - Scrolling screens that push players forward (Super Mario Bros. 3 airship levels)
19
+ - Collapsing environments
20
+ - Pursuing enemies (Half-Life 2 opening)
21
+
22
+ ### The Call of Duty Stalingrad Technique
23
+ Players queue for ammunition but are pushed onto the battlefield unarmed. Retreat means death from commanding officers. Players are too busy surviving to question direction.
24
+
25
+ **Key insight**: When players are struggling to stay alive, they don't debate whether to backtrack.
26
+
27
+ ---
28
+
29
+ ## Environmental Guidance
30
+
31
+ ### Signage Systems
32
+ - Painted arrows, floor markings
33
+ - Color-coded paths (Mirror's Edge red highlights)
34
+ - In-world signs that make sense contextually
35
+
36
+ ### Half-Life Approach
37
+ Opening sequence has players navigate benign corridors. Security guards provide narrative excuses for blocked paths ("You don't have clearance"). Players follow painted lines to destinations—feeling like navigation, not railroading.
38
+
39
+ ### Highway 17 (Half-Life 2)
40
+ The level is literally a road. Players know the destination is at the end of Highway 17. The road always leads forward. Simple, elegant, invisible guidance.
41
+
42
+ ---
43
+
44
+ ## NPC-Based Guidance
45
+
46
+ ### Escort Missions
47
+ Vulnerable NPCs guide players while needing protection:
48
+ - NPCs unlock doors players cannot (Half-Life retinal scanners)
49
+ - NPCs know the route and lead the way
50
+ - Players feel protective, not led
51
+
52
+ ### Companion Characters
53
+ - Alyx Vance (Half-Life 2) guides without feeling like a guide
54
+ - Ellie (The Last of Us) comments when players idle too long or explore pointlessly
55
+ - Companions create social pressure to move forward
56
+
57
+ ### The Chase
58
+ Instead of following a guide, chase an enemy:
59
+ - Mirror's Edge: Faith chases an equally-capable enemy
60
+ - Creates urgency without pursuit threat
61
+ - Tarrying means losing the target
62
+
63
+ ---
64
+
65
+ ## Narrative Lures
66
+
67
+ ### Visual Objectives
68
+ - Distant landmarks that players want to reach
69
+ - Lit areas drawing attention through darkness
70
+ - Unique architecture standing out from environment
71
+
72
+ ### Architectural Hierarchy
73
+ Important paths should be:
74
+ - More visually interesting
75
+ - Better lit
76
+ - More open
77
+ - Feature unique elements
78
+
79
+ Dead ends should be:
80
+ - Visually less interesting
81
+ - Darker
82
+ - Narrower
83
+ - More generic
84
+
85
+ ### The Door Metaphor
86
+ - Open doors invite
87
+ - Locked doors close off
88
+ - But make sure locked doors have narrative justification
89
+
90
+ ---
91
+
92
+ ## What Breaks the Illusion
93
+
94
+ ### Arbitrary Barriers
95
+ | Bad Example | Why It Fails |
96
+ |-------------|--------------|
97
+ | Yellow police tape | A superhero can't cross tape? |
98
+ | Waist-high walls | Player can jump buildings but not fences |
99
+ | Locked doors without context | Why is this door special? |
100
+ | Invisible walls | No explanation at all |
101
+
102
+ ### Better Alternatives
103
+ - Natural barriers (cliffs, water, fire)
104
+ - Narrative barriers (guards, lockdowns, collapsed structures)
105
+ - Overwhelming force (too many enemies in wrong direction)
106
+ - Environmental hazards (radiation, toxic air)
107
+
108
+ ---
109
+
110
+ ## The Forced Choice
111
+
112
+ When there's only one real option, design the moment so players interpret constraint as choice.
113
+
114
+ ### P.T. Bathroom Example
115
+ The player is trapped in the bathroom. The door is mechanically locked—player can't open it. But because the handle rattles as if something's trying to get in, players feel like they're *hiding*, not *trapped*.
116
+
117
+ > "The game creates a situation where there's a particular action we want to take. It then responds as though we had done what we wanted to do, even though there's no way for us to do it."
118
+
119
+ ### RPG Main Quests
120
+ Players feel they *choose* to storm the castle and rescue the princess. In reality, there's no other option. The illusion of agency is enough.
121
+
122
+ ---
123
+
124
+ ## Branching Illusions
125
+
126
+ ### The Fork Technique
127
+ 1. Present players with two paths
128
+ 2. As player approaches one, block it (enemies appear, door locks, explosion)
129
+ 3. Player "chooses" the remaining path
130
+ 4. Both paths lead to the same destination anyway
131
+
132
+ ### The Hub-and-Spoke
133
+ Players can explore "freely" but:
134
+ - All paths return to a central hub
135
+ - True progress gates require specific items/actions
136
+ - Exploration feels optional but forward path is singular
137
+
138
+ ---
139
+
140
+ ## Audio and Attention Cues
141
+
142
+ ### Sound Design
143
+ - Distant sounds draw attention toward objectives
144
+ - Ambient audio creates "safe" vs "dangerous" zones
145
+ - Music intensifies toward correct paths
146
+
147
+ ### Lighting
148
+ - Brighter areas feel more inviting
149
+ - Players naturally move toward light
150
+ - Use darkness to discourage wrong paths
151
+
152
+ ---
153
+
154
+ ## Testing Linearity Hiding
155
+
156
+ ### Player Observation
157
+ Watch for:
158
+ - Players commenting on feeling "on rails"
159
+ - Players attempting to go backward or off-path
160
+ - Frustration at barriers
161
+ - Questions about why paths are blocked
162
+
163
+ ### Successful Hiding
164
+ Players should:
165
+ - Feel like they're exploring
166
+ - Not notice most blocked paths
167
+ - Accept narrative barriers without question
168
+ - Report feeling "in control"
169
+
170
+ ---
171
+
172
+ ## Summary Framework
173
+
174
+ 1. **Time pressure** eliminates questioning
175
+ 2. **Environmental cues** guide without forcing
176
+ 3. **NPCs** provide social and narrative direction
177
+ 4. **Narrative lures** pull players forward
178
+ 5. **Forced choices** feel like agency
179
+ 6. **Barriers need justification**—narrative or natural
180
+
181
+ The goal isn't to give players freedom—it's to make them *feel* free while experiencing your intended sequence.