Game development skill
Game development orchestrator.
by davila7·MIT license·★ 32,299 Stars on the repo·GitHub ↗
npx degit davila7/claude-code-templates/cli-tool/components/skills/creative-design/game-development#main ~/.claude/skills/game-developmentChecked ·commit main
Files of Game development
Show the full text168 lines
Game Development
Orchestrator skill that provides core principles and routes to specialized sub-skills.
When to Use This Skill
You are working on a game development project. This skill teaches the PRINCIPLES of game development and directs you to the right sub-skill based on context.
Sub-Skill Routing
Platform Selection
| If the game targets... | Use Sub-Skill |
|---|---|
| Web browsers (HTML5, WebGL) | game-development/web-games |
| Mobile (iOS, Android) | game-development/mobile-games |
| PC (Steam, Desktop) | game-development/pc-games |
| VR/AR headsets | game-development/vr-ar |
Dimension Selection
| If the game is... | Use Sub-Skill |
|---|---|
| 2D (sprites, tilemaps) | game-development/2d-games |
| 3D (meshes, shaders) | game-development/3d-games |
Specialty Areas
| If you need... | Use Sub-Skill |
|---|---|
| GDD, balancing, player psychology | game-development/game-design |
| Multiplayer, networking | game-development/multiplayer |
| Visual style, asset pipeline, animation | game-development/game-art |
| Sound design, music, adaptive audio | game-development/game-audio |
Core Principles (All Platforms)
1. The Game Loop
Every game, regardless of platform, follows this pattern:
INPUT → Read player actions
UPDATE → Process game logic (fixed timestep)
RENDER → Draw the frame (interpolated)
Fixed Timestep Rule:
- Physics/logic: Fixed rate (e.g., 50Hz)
- Rendering: As fast as possible
- Interpolate between states for smooth visuals
2. Pattern Selection Matrix
| Pattern | Use When | Example |
|---|---|---|
| State Machine | 3-5 discrete states | Player: Idle→Walk→Jump |
| Object Pooling | Frequent spawn/destroy | Bullets, particles |
| Observer/Events | Cross-system communication | Health→UI updates |
| ECS | Thousands of similar entities | RTS units, particles |
| Command | Undo, replay, networking | Input recording |
| Behavior Tree | Complex AI decisions | Enemy AI |
Decision Rule: Start with State Machine. Add ECS only when performance demands.
3. Input Abstraction
Abstract input into ACTIONS, not raw keys:
"jump" → Space, Gamepad A, Touch tap
"move" → WASD, Left stick, Virtual joystick
Why: Enables multi-platform, rebindable controls.
4. Performance Budget (60 FPS = 16.67ms)
| System | Budget |
|---|---|
| Input | 1ms |
| Physics | 3ms |
| AI | 2ms |
| Game Logic | 4ms |
| Rendering | 5ms |
| Buffer | 1.67ms |
Optimization Priority:
- Algorithm (O(n²) → O(n log n))
- Batching (reduce draw calls)
- Pooling (avoid GC spikes)
- LOD (detail by distance)
- Culling (skip invisible)
5. AI Selection by Complexity
| AI Type | Complexity | Use When |
|---|---|---|
| FSM | Simple | 3-5 states, predictable behavior |
| Behavior Tree | Medium | Modular, designer-friendly |
| GOAP | High | Emergent, planning-based |
| Utility AI | High | Scoring-based decisions |
6. Collision Strategy
| Type | Best For |
|---|---|
| AABB | Rectangles, fast checks |
| Circle | Round objects, cheap |
| Spatial Hash | Many similar-sized objects |
| Quadtree | Large worlds, varying sizes |
Anti-Patterns (Universal)
| Don't | Do |
|---|---|
| Update everything every frame | Use events, dirty flags |
| Create objects in hot loops | Object pooling |
| Cache nothing | Cache references |
| Optimize without profiling | Profile first |
| Mix input with logic | Abstract input layer |
Routing Examples
Example 1: "I want to make a browser-based 2D platformer"
→ Start with game-development/web-games for framework selection
→ Then game-development/2d-games for sprite/tilemap patterns
→ Reference game-development/game-design for level design
Example 2: "Mobile puzzle game for iOS and Android"
→ Start with game-development/mobile-games for touch input and stores
→ Use game-development/game-design for puzzle balancing
Example 3: "Multiplayer VR shooter"
→ game-development/vr-ar for comfort and immersion
→ game-development/3d-games for rendering
→ game-development/multiplayer for networking
Remember: Great games come from iteration, not perfection. Prototype fast, then polish.
| 1 | |
| 2 | name game-development |
| 3 | description Game development orchestrator. Routes to platform-specific skills based on project needs. |
| 4 | allowed-tools Read, Write, Edit, Glob, Grep, Bash |
| 5 | |
| 6 | |
| 7 | # Game Development |
| 8 | |
| 9 | > **Orchestrator skill** that provides core principles and routes to specialized sub-skills. |
| 10 | |
| 11 | |
| 12 | |
| 13 | ## When to Use This Skill |
| 14 | |
| 15 | You are working on a game development project. This skill teaches the PRINCIPLES of game development and directs you to the right sub-skill based on context. |
| 16 | |
| 17 | |
| 18 | |
| 19 | ## Sub-Skill Routing |
| 20 | |
| 21 | ### Platform Selection |
| 22 | |
| 23 | | If the game targets... | Use Sub-Skill | |
| 24 | |------------------------|---------------| |
| 25 | | Web browsers (HTML5, WebGL) | `game-development/web-games` | |
| 26 | | Mobile (iOS, Android) | `game-development/mobile-games` | |
| 27 | | PC (Steam, Desktop) | `game-development/pc-games` | |
| 28 | | VR/AR headsets | `game-development/vr-ar` | |
| 29 | |
| 30 | ### Dimension Selection |
| 31 | |
| 32 | | If the game is... | Use Sub-Skill | |
| 33 | |-------------------|---------------| |
| 34 | | 2D (sprites, tilemaps) | `game-development/2d-games` | |
| 35 | | 3D (meshes, shaders) | `game-development/3d-games` | |
| 36 | |
| 37 | ### Specialty Areas |
| 38 | |
| 39 | | If you need... | Use Sub-Skill | |
| 40 | |----------------|---------------| |
| 41 | | GDD, balancing, player psychology | `game-development/game-design` | |
| 42 | | Multiplayer, networking | `game-development/multiplayer` | |
| 43 | | Visual style, asset pipeline, animation | `game-development/game-art` | |
| 44 | | Sound design, music, adaptive audio | `game-development/game-audio` | |
| 45 | |
| 46 | |
| 47 | |
| 48 | ## Core Principles (All Platforms) |
| 49 | |
| 50 | ### 1. The Game Loop |
| 51 | |
| 52 | Every game, regardless of platform, follows this pattern: |
| 53 | |
| 54 | |
| 55 | INPUT → Read player actions |
| 56 | UPDATE → Process game logic (fixed timestep) |
| 57 | RENDER → Draw the frame (interpolated) |
| 58 | |
| 59 | |
| 60 | **Fixed Timestep Rule:** |
| 61 | Physics/logic: Fixed rate (e.g., 50Hz) |
| 62 | Rendering: As fast as possible |
| 63 | Interpolate between states for smooth visuals |
| 64 | |
| 65 | |
| 66 | |
| 67 | ### 2. Pattern Selection Matrix |
| 68 | |
| 69 | | Pattern | Use When | Example | |
| 70 | |---------|----------|---------| |
| 71 | | **State Machine** | 3-5 discrete states | Player: Idle→Walk→Jump | |
| 72 | | **Object Pooling** | Frequent spawn/destroy | Bullets, particles | |
| 73 | | **Observer/Events** | Cross-system communication | Health→UI updates | |
| 74 | | **ECS** | Thousands of similar entities | RTS units, particles | |
| 75 | | **Command** | Undo, replay, networking | Input recording | |
| 76 | | **Behavior Tree** | Complex AI decisions | Enemy AI | |
| 77 | |
| 78 | **Decision Rule:** Start with State Machine. Add ECS only when performance demands. |
| 79 | |
| 80 | |
| 81 | |
| 82 | ### 3. Input Abstraction |
| 83 | |
| 84 | Abstract input into ACTIONS, not raw keys: |
| 85 | |
| 86 | |
| 87 | "jump" → Space, Gamepad A, Touch tap |
| 88 | "move" → WASD, Left stick, Virtual joystick |
| 89 | |
| 90 | |
| 91 | **Why:** Enables multi-platform, rebindable controls. |
| 92 | |
| 93 | |
| 94 | |
| 95 | ### 4. Performance Budget (60 FPS = 16.67ms) |
| 96 | |
| 97 | | System | Budget | |
| 98 | |--------|--------| |
| 99 | | Input | 1ms | |
| 100 | | Physics | 3ms | |
| 101 | | AI | 2ms | |
| 102 | | Game Logic | 4ms | |
| 103 | | Rendering | 5ms | |
| 104 | | Buffer | 1.67ms | |
| 105 | |
| 106 | **Optimization Priority:** |
| 107 | Algorithm (O(n²) → O(n log n)) |
| 108 | Batching (reduce draw calls) |
| 109 | Pooling (avoid GC spikes) |
| 110 | LOD (detail by distance) |
| 111 | Culling (skip invisible) |
| 112 | |
| 113 | |
| 114 | |
| 115 | ### 5. AI Selection by Complexity |
| 116 | |
| 117 | | AI Type | Complexity | Use When | |
| 118 | |---------|------------|----------| |
| 119 | | **FSM** | Simple | 3-5 states, predictable behavior | |
| 120 | | **Behavior Tree** | Medium | Modular, designer-friendly | |
| 121 | | **GOAP** | High | Emergent, planning-based | |
| 122 | | **Utility AI** | High | Scoring-based decisions | |
| 123 | |
| 124 | |
| 125 | |
| 126 | ### 6. Collision Strategy |
| 127 | |
| 128 | | Type | Best For | |
| 129 | |------|----------| |
| 130 | | **AABB** | Rectangles, fast checks | |
| 131 | | **Circle** | Round objects, cheap | |
| 132 | | **Spatial Hash** | Many similar-sized objects | |
| 133 | | **Quadtree** | Large worlds, varying sizes | |
| 134 | |
| 135 | |
| 136 | |
| 137 | ## Anti-Patterns (Universal) |
| 138 | |
| 139 | | Don't | Do | |
| 140 | |-------|-----| |
| 141 | | Update everything every frame | Use events, dirty flags | |
| 142 | | Create objects in hot loops | Object pooling | |
| 143 | | Cache nothing | Cache references | |
| 144 | | Optimize without profiling | Profile first | |
| 145 | | Mix input with logic | Abstract input layer | |
| 146 | |
| 147 | |
| 148 | |
| 149 | ## Routing Examples |
| 150 | |
| 151 | ### Example 1: "I want to make a browser-based 2D platformer" |
| 152 | → Start with `game-development/web-games` for framework selection |
| 153 | → Then `game-development/2d-games` for sprite/tilemap patterns |
| 154 | → Reference `game-development/game-design` for level design |
| 155 | |
| 156 | ### Example 2: "Mobile puzzle game for iOS and Android" |
| 157 | → Start with `game-development/mobile-games` for touch input and stores |
| 158 | → Use `game-development/game-design` for puzzle balancing |
| 159 | |
| 160 | ### Example 3: "Multiplayer VR shooter" |
| 161 | → `game-development/vr-ar` for comfort and immersion |
| 162 | → `game-development/3d-games` for rendering |
| 163 | → `game-development/multiplayer` for networking |
| 164 | |
| 165 | |
| 166 | |
| 167 | > **Remember:** Great games come from iteration, not perfection. Prototype fast, then polish. |
| 168 |
Discussion
Browse more free Claude skills.