This repository contains specialized Copilot agent definitions for building Love2D games based on a Game Design Document (GDD). Each agent is an expert in a specific domain of game development.
See games folder for example games created with a little iteration.
New to this system? Clone the repo and start here:
@game-designer create a new game called my-platformer
The Game Designer will:
- Ask for a folder name (if not provided): use kebab-case like
super-platformer - Create the complete game structure in
games/[game-name]/ - Copy the GDD template as
GAME_DESIGN.md - Generate basic Love2D files (
main.lua,conf.lua) - Set up all necessary folders
- Fill out
games/[game-name]/GAME_DESIGN.mdwith your game's vision - Talk to @game-designer - the orchestrator that coordinates all specialized agents
- Let it guide you through development phases
Example:
@game-designer In the "my-platformer" game, implement player movement and jumping
The Game Designer will analyze your GDD, break down the work, and coordinate the 8 specialized agents.
Option A: Mention the folder name explicitly
@game-designer In the "my-platformer" game, add enemies
Option B: Use agent syntax with game name
@game-designer:my-platformer add enemies
Option C: Work in context (recommended)
- Open a file from your game (e.g.,
games/my-platformer/main.lua) - Simply ask:
@game-designer add enemies - The agent infers context from your open file!
๐ Read the Quick Start Guide for a complete walkthrough with examples!
This workspace supports multiple independent Love2D games, each in its own folder under games/. Every game is a complete, runnable Love2D project with its own Game Design Document.
Workspace Structure:
games/
โโโ my-platformer/ # Your first game
โ โโโ GAME_DESIGN.md # Game-specific GDD
โ โโโ main.lua # Love2D entry point
โ โโโ conf.lua # Configuration
โ โโโ /src # Game source code
โ โโโ /assets # Game assets
โโโ space-shooter/ # Another game
โ โโโ GAME_DESIGN.md
โ โโโ ...
Benefits:
- Work on multiple game projects in one workspace
- Each game is completely independent
- No shared code between games (clean separation)
- Easy to run any game:
cd games/[game-name] && love .
๐ See games/README.md for detailed multi-game workflows
Each game has its own GDD:
- Game-Specific GDD:
games/[game-name]/GAME_DESIGN.md(created automatically) - Template: docs/GAME_DESIGN_TEMPLATE.md
- Purpose: Central reference for all design decisions and specifications
- Usage: All agents reference the game-specific GDD to ensure consistency
When you create a new game with @game-designer create a new game, the template is automatically copied to your game's folder.
- File: .github/copilot-agents/game-designer-agent.md
- Focus: Task delegation, workflow orchestration, cross-system coordination
- Key Features:
- Analyzes user requests and delegates to specialized agents
- Ensures GDD compliance across all implementations
- Coordinates multi-agent workflows for complex features
- Manages development phases and milestones
- Resolves integration conflicts between systems
Use this agent when: You want high-level guidance, need to coordinate complex features, or want help planning your development workflow.
- File: .github/copilot-agents/ui-agent.md
- Focus: Menus, HUD, buttons, interactive UI components
- Key Features:
- Reusable UI component library
- Menu systems (main menu, pause menu, settings)
- HUD elements (health bars, score, minimaps)
- Layout management and responsiveness
- File: .github/copilot-agents/gameplay-agent.md
- Focus: Player mechanics, combat, enemy AI, game rules
- Key Features:
- Player control systems
- Combat and action mechanics
- Enemy AI behavior
- Progression systems
- File: .github/copilot-agents/gameflow-agent.md
- Focus: Scene management, state transitions, game flow
- Key Features:
- Scene manager with transitions
- State machine for game states
- Save/load system
- Scene lifecycle management
- File: .github/copilot-agents/audio-agent.md
- Focus: Music, sound effects, audio mixing
- Key Features:
- Audio manager with pooling
- Music crossfading and looping
- Event-based sound system
- Volume controls and mixing
- File: .github/copilot-agents/graphics-agent.md
- Focus: Visual effects, particles, shaders, post-processing
- Key Features:
- Particle systems
- GLSL shader programming
- Screen effects (shake, flash)
- Post-processing pipeline
- File: .github/copilot-agents/physics-agent.md
- Focus: Collision detection, physics simulation
- Key Features:
- Simple collision system (AABB, circle)
- Box2D integration
- Platformer physics helpers
- Spatial partitioning for optimization
- File: .github/copilot-agents/assets-agent.md
- Focus: Loading, caching, organizing game assets
- Key Features:
- Centralized asset manager
- Preloading system with progress tracking
- Error handling and fallbacks
- Hot-reloading during development
- File: .github/copilot-agents/animation-agent.md
- Focus: Sprite animations, tweening, state machines
- Key Features:
- Sprite sheet animation system
- Animation state machines
- Tweening with easing functions
- Timeline-based animations
Start by customizing docs/GAME_DESIGN_TEMPLATE.md with your game's specifications:
- Game overview and concept
- Gameplay mechanics and controls
- Art and audio requirements
- Technical specifications
You have two approaches:
Talk to the Game Designer agent for high-level requests:
@game-designer I want to create a 2D platformer with dash mechanics
@game-designer The player damage system needs to be implemented
@game-designer Help me set up the project from scratch
The Game Designer will analyze your request, reference the GDD, and delegate to the appropriate specialized agents.
For focused, specific tasks, call agents directly:
@ui can you create a main menu with Start, Settings, and Quit buttons?
@gameplay implement the player jump mechanic according to the GDD
@gameflow set up the scene manager and create transitions between main menu and game
Agents work together seamlessly:
- @gameplay triggers sounds via @audio
- @ui uses @assets for button textures
- @gameflow coordinates @audio for scene music
- @graphics provides effects for @gameplay actions
/Love2DAI # Workspace root
โโโ .github/
โ โโโ copilot-instructions.md # Main Copilot instructions
โ โโโ copilot-agents/ # All 9 agent definitions
โโโ docs/
โ โโโ GAME_DESIGN_TEMPLATE.md # GDD template
โโโ games/ # All your games live here
โ โโโ README.md # Multi-game guide
โ โโโ my-platformer/ # A game project
โ โโโ space-shooter/ # Another game project
โ โโโ puzzle-game/ # Yet another game
โโโ README.md # This file
โโโ QUICK_START.md # Beginner's guide
Each game in games/[game-name]/ follows this structure:
/games/my-platformer # Complete runnable Love2D project
โโโ GAME_DESIGN.md # Game-specific GDD (required)
โโโ main.lua # Love2D entry point
โโโ conf.lua # Love2D configuration
โโโ /src
โ โโโ /scenes # Scene manager and scenes
โ โโโ /entities # Game objects (player, enemies)
โ โโโ /systems # Game systems (physics, collision)
โ โโโ /ui # UI components and menus
โ โโโ /animation # Animation systems
โ โโโ /audio # Audio manager
โ โโโ /graphics # Visual effects, particles
โ โโโ /utils # Utility functions
โโโ /assets
โ โโโ /images # Sprites, textures
โ โโโ /sounds # Sound effects
โ โโโ /music # Music tracks
โ โโโ /fonts # Font files
โ โโโ /shaders # GLSL shaders
โโโ /lib # External libraries (if any)
cd games/my-platformer
love .For new projects or complex features, start with @game-designer. It will:
- Analyze your request against the GDD
- Break down complex tasks into manageable pieces
- Delegate to appropriate specialists
- Ensure system integration
When you know exactly what you need:
- @ui for specific UI components
- @gameplay for isolated mechanics
- @graphics for particular effects
All agents use the GDD as their source of truth. Keep it updated!
- Need a health bar? โ @ui
- Enemy AI behavior? โ @gameplay
- Scene transitions? โ @gameflow
- Explosion effects? โ @graphics
Agents know how to work together. For example:
@gameplay I need the player to take damage with a hurt sound and screen flash
This will involve @audio for sound and @graphics for the flash effect.
- Start with core mechanics (@gameplay, @physics)
- Add game flow (@gameflow)
- Build UI (@ui)
- Integrate audio (@audio)
- Add visual polish (@graphics, @animation)
-
Design Phase
- Fill out the GDD template
- Define all mechanics, art, and audio requirements
-
Foundation (Week 1)
@game-designer I want to set up a new platformer game from scratchThe Game Designer will orchestrate:
- @assets to set up the asset manager
- @gameflow to create the scene structure
- @physics for collision foundation
-
Core Gameplay (Week 2-3)
@game-designer Implement the core player mechanics with movement, jumping, and dashingThe Game Designer will coordinate:
- @gameplay for player controller
- @physics for collision and platformer physics
- @animation for player animation states
- @audio for movement sound effects
-
Game Flow & UI (Week 4)
@game-designer Create the full game flow from menu to gameplayCoordinates:
- @gameflow for scene management
- @ui for all menu interfaces
- @audio for menu music
-
Content & Polish (Week 5-6)
@game-designer Add enemies, power-ups, and visual polishThen:
@game-designer Polish the game with juice and effectsFinal touches across all systems
When adding new agents or modifying existing ones:
- Follow the established agent template structure
- Include practical code examples
- Reference GDD sections
- Document coordination with other agents
- Add testing checklists
@game-designer (Orchestrator)
โโโ @ui (User Interface)
โโโ @gameplay (Game Logic)
โโโ @gameflow (Scene Management)
โโโ @audio (Sound & Music)
โโโ @graphics (Visual Effects)
โโโ @physics (Collision & Physics)
โโโ @assets (Resource Management)
โโโ @animation (Sprite Animation)
Recommended Workflow:
- Start with @game-designer for planning and complex features
- Use specialized agents directly for focused, specific tasks
- Let the Game Designer coordinate multi-system implementations
Ready to build your Love2D game? Start by filling out the GDD, then let @game-designer orchestrate the specialized agents to bring your vision to life! ๐ฎโจ