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---2name: game-development3description: Game development orchestrator. Routes to platform-specific skills based on project needs.4allowed-tools: Read, Write, Edit, Glob, Grep, Bash5---67# Game Development89> **Orchestrator skill** that provides core principles and routes to specialized sub-skills.1011---1213## When to Use This Skill1415You 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.1617---1819## Sub-Skill Routing2021### Platform Selection2223| 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` |2930### Dimension Selection3132| If the game is... | Use Sub-Skill |33| ---------------------- | --------------------------- |34| 2D (sprites, tilemaps) | `game-development/2d-games` |35| 3D (meshes, shaders) | `game-development/3d-games` |3637### Specialty Areas3839| 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` |4546---4748## Core Principles (All Platforms)4950### 1. The Game Loop5152Every game, regardless of platform, follows this pattern:5354```55INPUT → Read player actions56UPDATE → Process game logic (fixed timestep)57RENDER → Draw the frame (interpolated)58```5960**Fixed Timestep Rule:**6162- Physics/logic: Fixed rate (e.g., 50Hz)63- Rendering: As fast as possible64- Interpolate between states for smooth visuals6566---6768### 2. Pattern Selection Matrix6970| Pattern | Use When | Example |71| ------------------- | ----------------------------- | ---------------------- |72| **State Machine** | 3-5 discrete states | Player: Idle→Walk→Jump |73| **Object Pooling** | Frequent spawn/destroy | Bullets, particles |74| **Observer/Events** | Cross-system communication | Health→UI updates |75| **ECS** | Thousands of similar entities | RTS units, particles |76| **Command** | Undo, replay, networking | Input recording |77| **Behavior Tree** | Complex AI decisions | Enemy AI |7879**Decision Rule:** Start with State Machine. Add ECS only when performance demands.8081---8283### 3. Input Abstraction8485Abstract input into ACTIONS, not raw keys:8687```88"jump" → Space, Gamepad A, Touch tap89"move" → WASD, Left stick, Virtual joystick90```9192**Why:** Enables multi-platform, rebindable controls.9394---9596### 4. Performance Budget (60 FPS = 16.67ms)9798| System | Budget |99| ---------- | ------ |100| Input | 1ms |101| Physics | 3ms |102| AI | 2ms |103| Game Logic | 4ms |104| Rendering | 5ms |105| Buffer | 1.67ms |106107**Optimization Priority:**1081091. Algorithm (O(n²) → O(n log n))1102. Batching (reduce draw calls)1113. Pooling (avoid GC spikes)1124. LOD (detail by distance)1135. Culling (skip invisible)114115---116117### 5. AI Selection by Complexity118119| AI Type | Complexity | Use When |120| ----------------- | ---------- | -------------------------------- |121| **FSM** | Simple | 3-5 states, predictable behavior |122| **Behavior Tree** | Medium | Modular, designer-friendly |123| **GOAP** | High | Emergent, planning-based |124| **Utility AI** | High | Scoring-based decisions |125126---127128### 6. Collision Strategy129130| Type | Best For |131| ---------------- | --------------------------- |132| **AABB** | Rectangles, fast checks |133| **Circle** | Round objects, cheap |134| **Spatial Hash** | Many similar-sized objects |135| **Quadtree** | Large worlds, varying sizes |136137---138139## Anti-Patterns (Universal)140141| Don't | Do |142| ----------------------------- | ----------------------- |143| Update everything every frame | Use events, dirty flags |144| Create objects in hot loops | Object pooling |145| Cache nothing | Cache references |146| Optimize without profiling | Profile first |147| Mix input with logic | Abstract input layer |148149---150151## Routing Examples152153### Example 1: "I want to make a browser-based 2D platformer"154155→ Start with `game-development/web-games` for framework selection156→ Then `game-development/2d-games` for sprite/tilemap patterns157→ Reference `game-development/game-design` for level design158159### Example 2: "Mobile puzzle game for iOS and Android"160161→ Start with `game-development/mobile-games` for touch input and stores162→ Use `game-development/game-design` for puzzle balancing163164### Example 3: "Multiplayer VR shooter"165166→ `game-development/vr-ar` for comfort and immersion167→ `game-development/3d-games` for rendering168→ `game-development/multiplayer` for networking169170---171172> **Remember:** Great games come from iteration, not perfection. Prototype fast, then polish.