Game development skill

Game development orchestrator.

by davila7·MIT license·★ 32,299 Stars on the repo·GitHub ↗

Use now

Files of Game development

davila7/main1 file shown
SKILL.md
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:

  1. Algorithm (O(n²) → O(n log n))
  2. Batching (reduce draw calls)
  3. Pooling (avoid GC spikes)
  4. LOD (detail by distance)
  5. 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-development
3description: Game development orchestrator. Routes to platform-specific skills based on project needs.
4allowed-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 
15You 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 
52Every game, regardless of platform, follows this pattern:
53 
54```
55INPUT → Read player actions
56UPDATE → Process game logic (fixed timestep)
57RENDER → 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 
84Abstract 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:**
1071. Algorithm (O(n²) → O(n log n))
1082. Batching (reduce draw calls)
1093. Pooling (avoid GC spikes)
1104. LOD (detail by distance)
1115. 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