Game Development
Orchestrator skill — principles plus routing to specialized sub-skills.
When to Use This Skill
You are working on a game development project. This skill teaches PRINCIPLES 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, WebGPU) |
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 |
Architecture / tooling
| If you need... |
Use Sub-Skill |
| Engine / framework choice, shell vs guest, fit tiers |
game-development/engine-selection |
| 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
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
Hybrid / UI-heavy games: the outer app may be DOM/event-driven; use a classic game loop only in canvas/WebGL viewports (or wherever simulation ticks).
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 |
| Content-as-data |
Designers ship levels/events without code |
JSON/YAML packs |
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
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 → Batching → Pooling → LOD → Culling.
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 |
| Pick an engine by hype |
Match engine to genre + team + delivery target |
Routing Examples
“Browser 2D platformer”
→ game-development/engine-selection → game-development/web-games → game-development/2d-games → game-development/game-design
“UI-heavy web game with small arcade challenges”
→ game-development/engine-selection (shell vs guest) → game-development/web-games → game-development/2d-games for guests only
“Mobile puzzle”
→ game-development/mobile-games → game-development/game-design
“Multiplayer VR shooter”
→ game-development/vr-ar → game-development/3d-games → game-development/multiplayer
“Branching narrative with light stats”
→ game-development/engine-selection (Ink/Twine) → host UI of your choice
Remember: Great games come from iteration, not perfection. Prototype fast, then polish.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
1---2name: game-development3description: Game development orchestrator. Routes by platform, dimension, and engine fit (web 2D/3D, hybrid DOM+canvas, narrative tools). Use when starting or structuring a game project, choosing frameworks, or picking among Phaser, PixiJS, Kaplay, Canvas/WebGL, Three.js, Babylon.js, Godot, Unity, or Ink/Twine.4---5
6# Game Development
7
8> **Orchestrator skill** — principles plus routing to specialized sub-skills.
9
10---
11
12## When to Use This Skill
13
14You are working on a game development project. This skill teaches PRINCIPLES and directs you to the right sub-skill based on context.
15
16---
17
18## Sub-Skill Routing
19
20### Platform Selection
21
22| If the game targets... | Use Sub-Skill |
23|------------------------|---------------|
24| Web browsers (HTML5, WebGL, WebGPU) | `game-development/web-games` |
25| Mobile (iOS, Android) | `game-development/mobile-games` |
26| PC (Steam, Desktop) | `game-development/pc-games` |
27| VR/AR headsets | `game-development/vr-ar` |
28
29### Dimension Selection
30
31| If the game is... | Use Sub-Skill |
32|-------------------|---------------|
33| 2D (sprites, tilemaps) | `game-development/2d-games` |
34| 3D (meshes, shaders) | `game-development/3d-games` |
35
36### Architecture / tooling
37
38| If you need... | Use Sub-Skill |
39|----------------|---------------|
40| Engine / framework choice, shell vs guest, fit tiers | `game-development/engine-selection` |
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```
53INPUT → Read player actions
54UPDATE → Process game logic (fixed timestep)
55RENDER → Draw the frame (interpolated)
56```
57
58**Fixed Timestep Rule:**
59- Physics/logic: Fixed rate (e.g., 50Hz)
60- Rendering: As fast as possible
61- Interpolate between states for smooth visuals
62
63**Hybrid / UI-heavy games:** the outer app may be DOM/event-driven; use a classic game loop only in canvas/WebGL viewports (or wherever simulation ticks).
64
65### 2. Pattern Selection Matrix
66
67| Pattern | Use When | Example |
68|---------|----------|---------|
69| **State Machine** | 3-5 discrete states | Player: Idle→Walk→Jump |
70| **Object Pooling** | Frequent spawn/destroy | Bullets, particles |
71| **Observer/Events** | Cross-system communication | Health→UI updates |
72| **ECS** | Thousands of similar entities | RTS units, particles |
73| **Command** | Undo, replay, networking | Input recording |
74| **Behavior Tree** | Complex AI decisions | Enemy AI |
75| **Content-as-data** | Designers ship levels/events without code | JSON/YAML packs |
76
77**Decision Rule:** Start with State Machine. Add ECS only when performance demands.
78
79### 3. Input Abstraction
80
81Abstract input into ACTIONS, not raw keys:
82
83```
84"jump" → Space, Gamepad A, Touch tap
85"move" → WASD, Left stick, Virtual joystick
86```
87
88### 4. Performance Budget (60 FPS = 16.67ms)
89
90| System | Budget |
91|--------|--------|
92| Input | 1ms |
93| Physics | 3ms |
94| AI | 2ms |
95| Game Logic | 4ms |
96| Rendering | 5ms |
97| Buffer | 1.67ms |
98
99**Optimization Priority:** Algorithm → Batching → Pooling → LOD → Culling.
100
101### 5. AI Selection by Complexity
102
103| AI Type | Complexity | Use When |
104|---------|------------|----------|
105| **FSM** | Simple | 3-5 states, predictable behavior |
106| **Behavior Tree** | Medium | Modular, designer-friendly |
107| **GOAP** | High | Emergent, planning-based |
108| **Utility AI** | High | Scoring-based decisions |
109
110### 6. Collision Strategy
111
112| Type | Best For |
113|------|----------|
114| **AABB** | Rectangles, fast checks |
115| **Circle** | Round objects, cheap |
116| **Spatial Hash** | Many similar-sized objects |
117| **Quadtree** | Large worlds, varying sizes |
118
119---
120
121## Anti-Patterns (Universal)
122
123| Don't | Do |
124|-------|-----|
125| Update everything every frame | Use events, dirty flags |
126| Create objects in hot loops | Object pooling |
127| Cache nothing | Cache references |
128| Optimize without profiling | Profile first |
129| Mix input with logic | Abstract input layer |
130| Pick an engine by hype | Match engine to genre + team + delivery target |
131
132---
133
134## Routing Examples
135
136### “Browser 2D platformer”
137→ `game-development/engine-selection` → `game-development/web-games` → `game-development/2d-games` → `game-development/game-design`
138
139### “UI-heavy web game with small arcade challenges”
140→ `game-development/engine-selection` (shell vs guest) → `game-development/web-games` → `game-development/2d-games` for guests only
141
142### “Mobile puzzle”
143→ `game-development/mobile-games` → `game-development/game-design`
144
145### “Multiplayer VR shooter”
146→ `game-development/vr-ar` → `game-development/3d-games` → `game-development/multiplayer`
147
148### “Branching narrative with light stats”
149→ `game-development/engine-selection` (Ink/Twine) → host UI of your choice
150
151---
152
153> **Remember:** Great games come from iteration, not perfection. Prototype fast, then polish.
154
155## Limitations
156
157- Use this skill only when the task clearly matches the scope described above.
158- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
159- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.