home / skills / vudovn / antigravity-kit / 2d-games

This skill helps you design and implement clear 2D game systems, including sprites, tilemaps, physics, and camera, for polished gameplay.

npx playbooks add skill vudovn/antigravity-kit --skill 2d-games

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.1 KB
---
name: 2d-games
description: 2D game development principles. Sprites, tilemaps, physics, camera.
allowed-tools: Read, Write, Edit, Glob, Grep
---

# 2D Game Development

> Principles for 2D game systems.

---

## 1. Sprite Systems

### Sprite Organization

| Component | Purpose |
|-----------|---------|
| **Atlas** | Combine textures, reduce draw calls |
| **Animation** | Frame sequences |
| **Pivot** | Rotation/scale origin |
| **Layering** | Z-order control |

### Animation Principles

- Frame rate: 8-24 FPS typical
- Squash and stretch for impact
- Anticipation before action
- Follow-through after action

---

## 2. Tilemap Design

### Tile Considerations

| Factor | Recommendation |
|--------|----------------|
| **Size** | 16x16, 32x32, 64x64 |
| **Auto-tiling** | Use for terrain |
| **Collision** | Simplified shapes |

### Layers

| Layer | Content |
|-------|---------|
| Background | Non-interactive scenery |
| Terrain | Walkable ground |
| Props | Interactive objects |
| Foreground | Parallax overlay |

---

## 3. 2D Physics

### Collision Shapes

| Shape | Use Case |
|-------|----------|
| Box | Rectangular objects |
| Circle | Balls, rounded |
| Capsule | Characters |
| Polygon | Complex shapes |

### Physics Considerations

- Pixel-perfect vs physics-based
- Fixed timestep for consistency
- Layers for filtering

---

## 4. Camera Systems

### Camera Types

| Type | Use |
|------|-----|
| **Follow** | Track player |
| **Look-ahead** | Anticipate movement |
| **Multi-target** | Two-player |
| **Room-based** | Metroidvania |

### Screen Shake

- Short duration (50-200ms)
- Diminishing intensity
- Use sparingly

---

## 5. Genre Patterns

### Platformer

- Coyote time (leniency after edge)
- Jump buffering
- Variable jump height

### Top-down

- 8-directional or free movement
- Aim-based or auto-aim
- Consider rotation or not

---

## 6. Anti-Patterns

| ❌ Don't | ✅ Do |
|----------|-------|
| Separate textures | Use atlases |
| Complex collision shapes | Simplified collision |
| Jittery camera | Smooth following |
| Pixel-perfect on physics | Choose one approach |

---

> **Remember:** 2D is about clarity. Every pixel should communicate.

Overview

This skill distills practical principles for 2D game development, covering sprites, tilemaps, physics, and camera systems. It highlights common patterns and anti-patterns to help you build clear, performant 2D games. Use it to guide architecture choices and iterate faster on gameplay feel.

How this skill works

The skill inspects core subsystems: sprite organization and animation, tilemap layout and collision, 2D physics shapes and timesteps, and camera behaviors like follow and room-based systems. It recommends concrete configurations (tile sizes, FPS ranges, collision shape choices) and runtime practices (fixed timestep, layer filtering). It also flags common anti-patterns and offers genre-specific tweaks for platformers and top-down games.

When to use it

  • Starting a new 2D project and choosing art and physics workflows
  • Refactoring draw calls and texture use to improve performance
  • Designing tilemaps, collision, and layering for levels
  • Tuning player feel: jump behavior, coyote time, and camera follow
  • Implementing multiplayer or split-screen multi-target cameras

Best practices

  • Pack textures into atlases to reduce draw calls and simplify batching
  • Choose tile sizes (16/32/64) early and stick to a consistent grid
  • Prefer simplified collision shapes (box/circle/capsule) over complex polygons
  • Use a fixed timestep for physics and interpolate visuals for smoothness
  • Keep camera movement smooth and limit screen shake to short, diminishing bursts

Example use cases

  • Optimize sprite rendering by moving from separate textures to a unified atlas
  • Build auto-tiling terrain with layered tilemaps for background, terrain, and foreground
  • Implement platformer controls with coyote time, jump buffering, and variable jump height
  • Create a camera that follows the player with look-ahead and soft damping to reduce jitter
  • Design collision for a top-down shooter using circle shapes for projectiles and capsule for characters

FAQ

What tile size should I pick?

Pick 16, 32, or 64 based on art detail and camera zoom; smaller tiles give finer detail but increase map complexity.

When should I use pixel-perfect collisions?

Use pixel-perfect only when gameplay requires exact hit detection; otherwise prefer physics-based or simplified shapes for performance and stability.