@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,239 @@
1
+ # The Six Metrics of Game Feel
2
+
3
+ A framework for measuring and comparing how games feel, enabling meaningful analysis across different games.
4
+
5
+ ## Overview
6
+
7
+ | Metric | Question It Answers |
8
+ |--------|---------------------|
9
+ | **Input** | What signals enter the system? |
10
+ | **Response** | How do signals change the game? |
11
+ | **Context** | What space gives meaning to motion? |
12
+ | **Polish** | What effects sell the interactions? |
13
+ | **Metaphor** | What expectations does representation create? |
14
+ | **Rules** | What game rules affect moment-to-moment feel? |
15
+
16
+ ---
17
+
18
+ ## 1. Input Metrics
19
+
20
+ ### Physical Device Properties
21
+ - **Ergonomics**: How does it feel to hold?
22
+ - **Button quality**: Springy, mushy, clicky?
23
+ - **Build quality**: Solid, cheap, premium?
24
+
25
+ ### Signal Properties
26
+
27
+ | Property | Description | Example |
28
+ |----------|-------------|---------|
29
+ | **States** | How many positions? | 2 (button), 360° (stick) |
30
+ | **Signal type** | Boolean or continuous? | On/off vs 0.0-1.0 |
31
+ | **Sensitivity** | How much variance detected? | Analog stick precision |
32
+ | **Combination** | What can be pressed together? | Chords, simultaneous inputs |
33
+
34
+ ### Signal Interpretations
35
+ Raw signals can be interpreted as:
36
+ - **Instant**: Up, Down
37
+ - **Over time**: Pressed, Held, Released
38
+ - **Duration**: How long held
39
+ - **Sequence**: Button combinations over time
40
+
41
+ ### Input Space
42
+ The total possible inputs at any moment:
43
+ - NES controller: 8 buttons, simple combinations
44
+ - Modern controller: 15+ inputs, analog sticks, triggers
45
+ - More input space = more potential expressivity
46
+
47
+ ---
48
+
49
+ ## 2. Response Metrics
50
+
51
+ ### Mapping Types
52
+
53
+ | Type | Description | Feel |
54
+ |------|-------------|------|
55
+ | **Direct** | Input directly sets value | Responsive but limited |
56
+ | **Indirect** | Input modifies simulation | Expressive but complex |
57
+ | **State change** | Input switches behavior modes | Enables move variety |
58
+
59
+ ### What Gets Modulated
60
+
61
+ Response can change:
62
+ - **Position** (teleport-like, stiff)
63
+ - **Velocity** (speed changes)
64
+ - **Acceleration** (force applied)
65
+ - **Simulation parameters** (gravity, friction)
66
+ - **Character state** (walking→running→jumping)
67
+
68
+ ### ADSR Envelope Measurements
69
+
70
+ For any response, measure:
71
+ - **Attack**: Time to reach full response
72
+ - **Decay**: Time to settle to sustained level
73
+ - **Sustain**: Level maintained while input held
74
+ - **Release**: Time to return to neutral after input stops
75
+
76
+ ### Expressivity
77
+ How many different outcomes are possible from the same basic action?
78
+
79
+ Low expressivity: Jump always same height
80
+ High expressivity: Jump height varies with button hold time
81
+
82
+ ---
83
+
84
+ ## 3. Context Metrics
85
+
86
+ ### Spatial Relationships
87
+
88
+ | Relationship | Measure |
89
+ |--------------|---------|
90
+ | **Density** | Objects per unit area |
91
+ | **Spacing** | Distance between interaction points |
92
+ | **Scale** | Object size relative to avatar |
93
+ | **Variety** | How much spacing varies |
94
+
95
+ ### Context-Mechanic Fit
96
+
97
+ The key question: Does the space match the avatar's capabilities?
98
+
99
+ - Jump height → Platform heights
100
+ - Run speed → Corridor widths
101
+ - Stopping distance → Gap before hazards
102
+ - Turn radius → Corner angles
103
+
104
+ ### Collision Properties
105
+ - **Friction**: How much does contact slow movement?
106
+ - **Bounciness**: Do objects rebound?
107
+ - **Passability**: What can be moved through?
108
+
109
+ ---
110
+
111
+ ## 4. Polish Metrics
112
+
113
+ ### Effect Categories
114
+
115
+ | Category | Examples |
116
+ |----------|----------|
117
+ | **Particles** | Dust, sparks, debris |
118
+ | **Screen effects** | Shake, flash, zoom |
119
+ | **Animation** | Squash/stretch, anticipation, follow-through |
120
+ | **Sound** | Impact sounds, ambient, UI feedback |
121
+ | **Haptics** | Controller rumble patterns |
122
+
123
+ ### Measuring Polish Quality
124
+
125
+ **Coherence**: Do effects tell the same story?
126
+ - Big hit = big sound + big shake + big particles
127
+
128
+ **Synchronization**: Do effects align with action?
129
+ - Footstep sounds sync with animation frames
130
+
131
+ **Proportionality**: Do effect intensities scale appropriately?
132
+ - Light impact → small effect
133
+ - Heavy impact → large effect
134
+
135
+ ### The Three-Tier System
136
+ Many games use light/medium/heavy impact tiers:
137
+ - Each tier has distinct animation, sound, and visual effect
138
+ - Creates clear hierarchy of interaction intensity
139
+
140
+ ---
141
+
142
+ ## 5. Metaphor Metrics
143
+
144
+ ### Representation Scale
145
+
146
+ | Level | Description | Example |
147
+ |-------|-------------|---------|
148
+ | **Abstract** | Shapes, no real-world analog | Geometry Wars |
149
+ | **Iconic** | Recognizable but stylized | Mario |
150
+ | **Representational** | Realistic depiction | Uncharted |
151
+
152
+ ### Expectation Setting
153
+
154
+ Metaphor creates expectations about:
155
+ - **Weight**: Heavy things should feel heavy
156
+ - **Speed**: Cars should feel faster than people
157
+ - **Friction**: Ice should be slippery
158
+ - **Damage**: Fire should hurt
159
+
160
+ ### Treatment Consistency
161
+ Does the visual style match across elements?
162
+ - Mario: All cartoony = unified expectations
163
+ - Mixing realistic and cartoony = confused expectations
164
+
165
+ ### Exceed vs Meet Expectations
166
+ - **Exceed**: Feels better than it looks (good)
167
+ - **Meet**: Feels as expected (neutral)
168
+ - **Fail**: Looks better than it feels (bad)
169
+
170
+ ---
171
+
172
+ ## 6. Rules Metrics
173
+
174
+ ### Rules That Affect Feel
175
+
176
+ | Rule Type | Feel Impact |
177
+ |-----------|-------------|
178
+ | **Health/damage** | Risk perception, caution level |
179
+ | **Lives/continues** | Tension, stakes |
180
+ | **Scoring** | Motivation for precision |
181
+ | **Unlocks** | Expanding capability |
182
+ | **Time limits** | Urgency, rushing |
183
+
184
+ ### State-Affecting Rules
185
+
186
+ Rules that change available actions:
187
+ - Power-ups granting new moves
188
+ - Damage reducing capabilities
189
+ - Context-sensitive actions
190
+
191
+ ### Risk/Reward Rules
192
+
193
+ Rules that create feel through consequence:
194
+ - High-risk maneuvers = high reward
195
+ - Safe play = low reward
196
+ - Creates reason to master difficult techniques
197
+
198
+ ---
199
+
200
+ ## Using the Metrics
201
+
202
+ ### For Analysis
203
+ When analyzing an existing game:
204
+ 1. Document each metric category
205
+ 2. Note how they interact
206
+ 3. Identify what creates the distinctive feel
207
+
208
+ ### For Design
209
+ When designing new feel:
210
+ 1. Start with desired feel description
211
+ 2. Work backward to required metrics
212
+ 3. Tune each category to support the goal
213
+
214
+ ### For Comparison
215
+ Comparing two games:
216
+ 1. Measure same metrics for both
217
+ 2. Note where they differ
218
+ 3. Correlate differences to feel differences
219
+
220
+ ### For Debugging
221
+ When feel is wrong:
222
+ 1. Identify the symptom
223
+ 2. Check metrics in likely categories
224
+ 3. Adjust and test
225
+
226
+ ---
227
+
228
+ ## Metric Interactions
229
+
230
+ The six metrics don't exist in isolation:
231
+
232
+ - **Input + Response**: How signals become actions
233
+ - **Response + Context**: Whether avatar fits the space
234
+ - **Context + Polish**: Environmental feedback
235
+ - **Polish + Metaphor**: Whether effects match representation
236
+ - **Metaphor + Rules**: Whether game logic fits the world
237
+ - **Rules + Input**: What actions are meaningful
238
+
239
+ The best game feel comes from all six working in harmony.