game-development

SKILL.md

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.

Weekly Installs
8
Installed on
claude-code5
cursor3
antigravity3
trae2
opencode2
codex2