@jarrodmedrano/claude-skills 1.0.2 → 1.0.3

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 (29) hide show
  1. package/.claude/skills/game-design-theory/SKILL.md +102 -0
  2. package/.claude/skills/game-design-theory/design-principles.md +308 -0
  3. package/.claude/skills/game-design-theory/gameplay-elements.md +213 -0
  4. package/.claude/skills/game-design-theory/player-psychology.md +175 -0
  5. package/.claude/skills/game-design-theory/playtesting.md +321 -0
  6. package/.claude/skills/game-design-theory/storytelling.md +219 -0
  7. package/.claude/skills/game-feel/SKILL.md +305 -0
  8. package/.claude/skills/game-feel/references/adsr-tuning.md +271 -0
  9. package/.claude/skills/game-feel/references/classic-profiles.md +279 -0
  10. package/.claude/skills/game-feel/references/perception-thresholds.md +160 -0
  11. package/.claude/skills/game-feel/references/polish-effects.md +246 -0
  12. package/.claude/skills/game-feel/references/simulation-recipes.md +306 -0
  13. package/.claude/skills/game-feel/references/six-metrics.md +239 -0
  14. package/.claude/skills/level-design/SKILL.md +249 -0
  15. package/.claude/skills/level-design/anticipatory-play.md +223 -0
  16. package/.claude/skills/level-design/hiding-linearity.md +181 -0
  17. package/.claude/skills/level-design/indie-practices.md +286 -0
  18. package/.claude/skills/level-design/open-world-planning.md +294 -0
  19. package/.claude/skills/level-design/play-personas.md +240 -0
  20. package/.claude/skills/level-design/procedural-handmade.md +271 -0
  21. package/.claude/skills/level-design/themed-environments.md +264 -0
  22. package/package.json +3 -1
  23. package/scripts/install.js +16 -1
  24. package/templates/github-actions/README.md +36 -0
  25. /package/.claude/{commands/design-review → agents}/design-review-agent.md +0 -0
  26. /package/.claude/{commands/code-review → agents}/pragmatic-code-review-subagent.md +0 -0
  27. /package/{.claude/commands/code-review → templates/github-actions}/claude-code-review-custom.yml +0 -0
  28. /package/{.claude/commands/code-review → templates/github-actions}/claude-code-review.yml +0 -0
  29. /package/{.claude/commands/security-review → templates/github-actions}/security.yml +0 -0
@@ -0,0 +1,294 @@
1
+ # Open-World Level Design Planning
2
+
3
+ Based on Chapter 12: "Level Design Planning for Open-World Games" by Joel Burgess (Bethesda Game Studios).
4
+
5
+ ## The Three Elements
6
+
7
+ Open-world planning requires three living documents that evolve throughout development:
8
+
9
+ 1. **The World Map** — Spatial visualization
10
+ 2. **The Master List** — High-level data tracking (Excel)
11
+ 3. **The Directory** — Per-location details (Wiki)
12
+
13
+ ---
14
+
15
+ ## Element 1: The World Map
16
+
17
+ ### Purpose
18
+ The map is the most vital piece of design documentation. It instantly communicates setting, scale, regions, and anchor locations.
19
+
20
+ ### Key Questions
21
+ - Where does the game take place? (real vs fictional)
22
+ - What subregions exist within the map?
23
+ - What is the scale and density?
24
+ - What major geographical features exist?
25
+ - What natural boundaries can you leverage?
26
+
27
+ ### Working with Real-World Locations
28
+
29
+ **Advantages:**
30
+ - Pre-existing history and culture
31
+ - Geography already makes sense
32
+ - Reference material abundant
33
+
34
+ **Challenges:**
35
+ - 100% accuracy rarely equals good gameplay
36
+ - Must balance authenticity with playability
37
+ - Need to understand *essence*, not just details
38
+
39
+ **Fallout Approach:**
40
+ Get relative positions and surroundings correct for landmarks. Highlight evocative elements. Omit less useful details.
41
+
42
+ ### Subregions
43
+
44
+ Create variety within the larger world:
45
+ - Different biomes
46
+ - Different cultures
47
+ - Different moods
48
+
49
+ **Skyrim's Seasonal Subregions:**
50
+ - The Rift: perpetual autumn
51
+ - Haafinagar: bleak winter
52
+ - Falkreath: eternal spring
53
+
54
+ No actual seasons simulated—each region *is* a season.
55
+
56
+ ### Transitions Between Subregions
57
+ - Leave ample room to blend
58
+ - Use geographical features (cliffs, rivers) for sharper transitions
59
+ - Water boundaries make rapid shifts more believable
60
+
61
+ ### Orienting Features
62
+
63
+ Include landmarks visible from anywhere:
64
+ - **Skyrim**: High Hrothgar at center
65
+ - **Fallout 4**: Boston skyline (Mass Fusion building's distinctive crown)
66
+
67
+ Two-point orientation systems work well (financial district + Trinity Tower).
68
+
69
+ ### Boundaries
70
+
71
+ **Natural boundaries (preferred):**
72
+ - Water (oceans, lakes, rivers)
73
+ - Cliffs
74
+ - Dense forests/marshes
75
+ - Mountains
76
+
77
+ **Artificial boundaries (avoid when possible):**
78
+ - Invisible walls with "You cannot go that way"
79
+ - Fences that should be climbable
80
+ - Any barrier that draws attention
81
+
82
+ **Making Boundaries Work:**
83
+ - GTAV: Swim out far enough and sharks eat you
84
+ - Ark: Exhaustion + marine enemies before invisible wall
85
+ - Buffer of "boring space" before hard boundary
86
+
87
+ ---
88
+
89
+ ## Element 2: The Master List
90
+
91
+ ### Purpose
92
+ A spreadsheet tracking every location with filterable, sortable data. Best tool for high-level analysis.
93
+
94
+ ### Basic Columns
95
+ | Name | X | Y | Designer | Quest | Footprint |
96
+ |------|---|---|----------|-------|-----------|
97
+ | Diamond City | 5 | -6 | Jane | MQ101 | Lg |
98
+ | Sanctuary | -2 | 4 | Bob | MQ001 | Md |
99
+
100
+ ### Coordinate System
101
+ Use units that match your game engine. Bethesda uses "cells" consistently across games.
102
+
103
+ ### Plotting the Map
104
+
105
+ Create a scatter graph in Excel:
106
+ 1. X/Y data from location columns
107
+ 2. Set axis bounds to match map proportions
108
+ 3. Use map image as plot background
109
+ 4. Plot points overlay on map
110
+
111
+ Now you can visualize location distribution automatically.
112
+
113
+ ### Footprint Radii
114
+
115
+ Track location sizes (Sm/Md/Lg) and visualize with different marker sizes on the scatter plot.
116
+
117
+ **Note:** Footprint ≠ complexity. A tiny exterior might hide a massive underground area.
118
+
119
+ ### Filter Visualizations
120
+
121
+ Add columns for:
122
+ - Encounter type
123
+ - Difficulty
124
+ - Architectural style
125
+ - Quest associations
126
+ - Development status
127
+
128
+ Filter columns to see distribution patterns instantly.
129
+
130
+ ### Quest Route Visualization
131
+
132
+ Plot quest sequences as line series:
133
+ 1. Create list of locations in quest order
134
+ 2. Add as new data series
135
+ 3. Display as connected line
136
+
137
+ Instantly see the physical journey players will take.
138
+
139
+ ---
140
+
141
+ ## Element 3: The Directory
142
+
143
+ ### Purpose
144
+ Long-form documentation for individual locations. Where designers track detailed, evolving information.
145
+
146
+ ### Platform
147
+ Wiki works best (MediaWiki recommended). Collaborative, searchable, categorizable.
148
+
149
+ ### Per-Location Pages Should Include:
150
+
151
+ **Header Data:**
152
+ - Designer assigned
153
+ - Quadrant/coordinates
154
+ - Encounter type
155
+ - Difficulty rating
156
+ - Quest associations
157
+
158
+ **Body Sections:**
159
+ - Overview: What is this place?
160
+ - Goals: What experience should it deliver?
161
+ - Walkthrough: How to test/reach it
162
+ - Pass notes: Feedback from each iteration
163
+ - Known issues: Current bugs and workarounds
164
+ - To-do: Designer's personal task list
165
+
166
+ ### Category Tags
167
+ Enable filtering by:
168
+ - Designer name
169
+ - Development pass status
170
+ - Location type
171
+ - Quest line
172
+
173
+ ### Naming Convention
174
+ Simple codes: DN004 = Dungeon #4
175
+ Use consistently across master list and directory.
176
+
177
+ ---
178
+
179
+ ## POI Density
180
+
181
+ ### Definition
182
+ The frequency of points of interest in a given area.
183
+
184
+ ### The Spectrum
185
+
186
+ **Sparse (Just Cause):**
187
+ - Long drives between locations
188
+ - Vehicles essential
189
+ - World feels vast and empty (intentionally)
190
+
191
+ **Dense (GTA cities):**
192
+ - Compressed real-world distances
193
+ - Something around every corner
194
+ - Theme park feel
195
+
196
+ **Non-uniform (Fallout 4, Skyrim):**
197
+ - Urban cores dense
198
+ - Rural areas sparse
199
+ - Small pockets of density for towns
200
+
201
+ ### Consider Travel Method
202
+ - On foot: higher density needed
203
+ - Vehicle: can afford sparser distribution
204
+ - Fast travel: density matters less for return visits
205
+
206
+ ---
207
+
208
+ ## Anchor Locations
209
+
210
+ Locations you know must exist early:
211
+ - Story-critical places
212
+ - Real-world landmarks (if applicable)
213
+ - Major navigation features
214
+ - Key narrative beats
215
+
216
+ Plot these first. Other locations fill around them.
217
+
218
+ ### Wish List Locations
219
+ Ideas you'd like to include but aren't critical:
220
+ - Minor landmarks
221
+ - Novel encounter concepts
222
+ - Infrastructure (power stations, farms)
223
+ - World-building details
224
+
225
+ Build wish list to roughly equal target location count.
226
+
227
+ ---
228
+
229
+ ## Iterative Development Passes
230
+
231
+ ### Pass Zero: Pitch
232
+ - Complete master list exists
233
+ - Directory template established
234
+ - No technical requirements
235
+ - Each location assigned to a designer
236
+
237
+ ### Pass One: Layout
238
+ - Basic environment art in place
239
+ - "Graybox" equivalent with modular kits
240
+ - Spatial relationships established
241
+
242
+ ### Pass Two: Gameplay
243
+ - Core gameplay systems available
244
+ - Enemy placement and encounters
245
+ - First draft of pacing and challenge
246
+
247
+ ### Pass Three: Content Complete
248
+ - All content present (if rough)
249
+ - "Ship with shame" milestone
250
+ - Everything playable end-to-end
251
+
252
+ ### Art Pass
253
+ - Lighting, atmospherics, clutter
254
+ - Visual polish
255
+ - Collaboration between designers and artists
256
+
257
+ ### Pass Four+: Polish
258
+ - Bug fixes
259
+ - Balance tuning
260
+ - Additional passes for problem areas or promising locations
261
+
262
+ ---
263
+
264
+ ## Practical Wisdom
265
+
266
+ ### Documentation Lifecycle
267
+ > "We ship games, not documents."
268
+
269
+ Keep documentation useful but don't over-maintain. Let documents go fallow once they've served their purpose.
270
+
271
+ ### Metrics and Scheduling
272
+ - Base estimates on average/below-average designers
273
+ - Plan for worst case
274
+ - Leave emergency time
275
+
276
+ > "No plan survives first contact with the enemy."
277
+
278
+ ### Pride of Ownership
279
+ Try to keep designers with their locations throughout development. Ownership motivates.
280
+
281
+ ### Map as Communication
282
+ The map unifies team perception. Print large versions. Reference constantly. It's your shared mental model.
283
+
284
+ ---
285
+
286
+ ## Summary
287
+
288
+ 1. **Map first** — Establishes shared vision
289
+ 2. **Master list** — Tracks and visualizes high-level data
290
+ 3. **Directory** — Captures per-location detail
291
+ 4. **Iterate** — Plan for multiple passes
292
+ 5. **Density matters** — Defines exploration feel
293
+ 6. **Natural boundaries** — Beat artificial walls
294
+ 7. **Anchor then fill** — Critical locations first, then expand
@@ -0,0 +1,240 @@
1
+ # Play-Personas for Player-Centered Level Design
2
+
3
+ Based on Chapter 13: "Play-Personas" by Alessandro Canossa (Northeastern University).
4
+
5
+ ## Core Concept
6
+
7
+ Play-personas are **patterns of preferential interaction and navigation attitudes** that help designers:
8
+ 1. Pre-figure player behavior before implementation (metaphor)
9
+ 2. Evaluate actual player behavior after release (lens)
10
+
11
+ > "Level designers are designing spaces for players to act. Games must be played to fully exist."
12
+
13
+ ---
14
+
15
+ ## Why Play-Personas?
16
+
17
+ ### The Problem of Scale
18
+ In a simple Pac-Man maze, there are 24 decision points with 2 choices each = 16,777,216 possible low-level behaviors.
19
+
20
+ **Solution:** Group low-level actions into high-level behaviors.
21
+
22
+ ### High-Level Behaviors Example (Pac-Man)
23
+
24
+ | Low-Level | High-Level Behavior |
25
+ |-----------|---------------------|
26
+ | Move up/down/left/right | Center vs Periphery dwelling |
27
+ | Eat pills timing | Early vs Late pill eating |
28
+ | Direction changes | Linear vs Broken path |
29
+
30
+ Three binary high-level behaviors = 8 personas (2³)
31
+
32
+ ---
33
+
34
+ ## The Two Modes
35
+
36
+ ### Play-Persona as Metaphor (A Priori)
37
+ **Before** the game exists or is playable:
38
+ - Hypothesize how players will behave
39
+ - Design levels to accommodate target behaviors
40
+ - Select which personas to design for
41
+
42
+ ### Play-Persona as Lens (A Posteriori)
43
+ **After** players can be observed:
44
+ - Validate hypotheses with telemetry
45
+ - Discover unexpected behavioral clusters
46
+ - Evaluate if design supports intended personas
47
+
48
+ ---
49
+
50
+ ## The Six-Step Process
51
+
52
+ ### Step 1: Gameplay Analysis
53
+ List all low-level mechanics, then abstract into high-level behaviors.
54
+
55
+ **Example: Left 4 Dead**
56
+
57
+ Low-level mechanics:
58
+ - Primary attack (ranged)
59
+ - Secondary attack (melee)
60
+ - Crouch-shooting
61
+ - Jump, reload, run
62
+ - Use items (flashlight, medkit, pills, Molotov, pipe bomb)
63
+ - Change weapons
64
+
65
+ Abstracted to high-level behaviors:
66
+ - Aggressive vs Defensive playstyle
67
+ - Team-oriented vs Solo
68
+ - Resource-conserving vs Resource-spending
69
+ - Leading vs Following
70
+
71
+ ### Step 2: Create Permutation Matrix
72
+
73
+ Plot all combinations of high-level behaviors:
74
+
75
+ | Profile | Aggressive? | Team? | Resource? |
76
+ |---------|-------------|-------|-----------|
77
+ | 1 | Yes | Yes | Conserving |
78
+ | 2 | Yes | Yes | Spending |
79
+ | 3 | Yes | No | Conserving |
80
+ | 4 | Yes | No | Spending |
81
+ | 5 | No | Yes | Conserving |
82
+ | 6 | No | Yes | Spending |
83
+ | 7 | No | No | Conserving |
84
+ | 8 | No | No | Spending |
85
+
86
+ ### Step 3: Select the Cast
87
+ Choose 2-3 personas that:
88
+ - Align with design vision
89
+ - Represent meaningfully different experiences
90
+ - Are achievable given level constraints
91
+
92
+ **Don't design for all personas.** A fraidy-cat persona doesn't belong in late-game difficulty.
93
+
94
+ ### Step 4: Associate Affordances with Behaviors
95
+
96
+ Build a thesaurus linking:
97
+
98
+ **Ludic affordances** (what players can do):
99
+ - Combat opportunities
100
+ - Resource locations
101
+ - Risk/reward placements
102
+
103
+ **Aesthetic affordances** (what players perceive):
104
+ - Color coding
105
+ - Architectural cues
106
+ - Sound design
107
+ - Lighting
108
+
109
+ **Example associations:**
110
+ - Bonus items near danger = rewards aggressive personas
111
+ - Safe routes with fewer rewards = supports cautious personas
112
+ - Team-required obstacles = enforces cooperative play
113
+
114
+ ### Step 5: Orchestrate Throughout Level
115
+
116
+ Modulate which personas are viable at different points:
117
+ - Early game: Multiple personas viable
118
+ - Challenge sections: Specific personas rewarded
119
+ - Recovery sections: Safe personas viable again
120
+
121
+ **The designer controls** which behavioral profiles are available at any given time.
122
+
123
+ ### Step 6: Validate with Telemetry
124
+
125
+ After playtesting, analyze:
126
+ - Do players cluster into expected personas?
127
+ - Did unexpected personas emerge?
128
+ - Are intended persona pathways actually used?
129
+
130
+ ---
131
+
132
+ ## Example: Pac-Man Personas
133
+
134
+ ### The Matrix
135
+ | # | Center/Periphery | Pill Timing | Path Style |
136
+ |---|------------------|-------------|------------|
137
+ | 1 | Center | Early | Linear |
138
+ | 2 | Center | Early | Broken |
139
+ | 3 | Center | Late | Linear |
140
+ | 4 | Center | Late | Broken |
141
+ | 5 | Periphery | Early | Linear |
142
+ | 6 | Periphery | Early | Broken |
143
+ | 7 | Periphery | Late | Linear |
144
+ | 8 | Periphery | Late | Broken |
145
+
146
+ ### Named Personas
147
+
148
+ **Fraidy Cat** (Profile 5):
149
+ - Periphery dweller
150
+ - Eats pills early (security)
151
+ - Linear path (predictable)
152
+ - Avoids ghosts at all costs
153
+
154
+ **Risk Taker** (Profile 4):
155
+ - Center dweller
156
+ - Delays pills (maximizes points)
157
+ - Broken path (responsive)
158
+ - Embraces ghost proximity
159
+
160
+ ### Designing for Both
161
+
162
+ **For Fraidy Cat:**
163
+ - Safe peripheral routes
164
+ - Pills accessible from edges
165
+ - Escape paths from center
166
+
167
+ **For Risk Taker:**
168
+ - Bonus items in center
169
+ - Delayed rewards for pill timing
170
+ - Complex navigation challenges
171
+
172
+ ---
173
+
174
+ ## From Cooper's Personas
175
+
176
+ Traditional HCI personas (Alan Cooper) describe:
177
+ - Demographics
178
+ - Goals and motivations
179
+ - Behaviors and attitudes
180
+ - Fictional narrative details
181
+
182
+ ### Play-Personas Differ
183
+
184
+ | Traditional | Play-Persona |
185
+ |-------------|--------------|
186
+ | Narrative description | Parametric model |
187
+ | Static profile | Dynamic behavior pattern |
188
+ | Pre-design only | Pre and post-design |
189
+ | Qualitative | Quantifiable |
190
+
191
+ ---
192
+
193
+ ## Practical Applications
194
+
195
+ ### During Design
196
+ 1. Identify core mechanics
197
+ 2. Abstract to high-level behaviors
198
+ 3. Generate persona matrix
199
+ 4. Select target personas
200
+ 5. Design affordances supporting those personas
201
+ 6. Orchestrate persona viability through level
202
+
203
+ ### During Testing
204
+ 1. Instrument telemetry for high-level behaviors
205
+ 2. Cluster player data
206
+ 3. Compare to expected personas
207
+ 4. Identify gaps between design intent and actual play
208
+
209
+ ### Communication Tool
210
+ Personas provide shared language:
211
+ - "This section is designed for Risk Takers"
212
+ - "We need a Fraidy Cat path through here"
213
+ - "The telemetry shows most players are Profile 3"
214
+
215
+ ---
216
+
217
+ ## Benefits
218
+
219
+ 1. **Avoid self-referential design** — Designers aren't the target players
220
+ 2. **Enable diversity** — Design for multiple valid playstyles
221
+ 3. **Focus effort** — Can't please everyone; pick meaningful personas
222
+ 4. **Validate intent** — Telemetry confirms or refutes hypotheses
223
+ 5. **Communicate clearly** — Shared vocabulary for team discussions
224
+
225
+ ---
226
+
227
+ ## Limitations
228
+
229
+ 1. **Subjectivity** — Different designers derive different high-level behaviors
230
+ 2. **Combinatorial explosion** — Many behaviors = many personas
231
+ 3. **Selection bias** — Choosing which personas to design for shapes experience
232
+ 4. **Telemetry requirements** — Validation requires instrumentation
233
+
234
+ ---
235
+
236
+ ## Key Insight
237
+
238
+ > "Play-personas represent means to imply metaphorically players during the design phase and also serve as lenses to evaluate finished levels."
239
+
240
+ The same framework works for planning AND evaluation—connect design intent to measurable player behavior.