Skip to content

Latest commit

ย 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Love2D AI Game Generator - A Work In Progress

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.

๐ŸŽฏ Quick Start

New to this system? Clone the repo and start here:

Creating a New Game

@game-designer create a new game called my-platformer

The Game Designer will:

  1. Ask for a folder name (if not provided): use kebab-case like super-platformer
  2. Create the complete game structure in games/[game-name]/
  3. Copy the GDD template as GAME_DESIGN.md
  4. Generate basic Love2D files (main.lua, conf.lua)
  5. Set up all necessary folders

Developing Your Game

  1. Fill out games/[game-name]/GAME_DESIGN.md with your game's vision
  2. Talk to @game-designer - the orchestrator that coordinates all specialized agents
  3. 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.

Specifying Which Game You're Working On

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!

๏ฟฝ Multi-Game Workspace

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

๐Ÿ“‹ Game Design Document Template

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.

๐Ÿค– Specialized Agents

Central Coordinator

@game-designer - Game Designer Agent

  • 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.

Core Development Agents

1. @ui - UI Development Agent

  • 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

2. @gameplay - Gameplay Programming Agent

  • 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

3. @gameflow - Game Flow Management Agent

  • 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

4. @audio - Audio Systems Agent

  • 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

5. @graphics - Graphics & Shaders Agent

  • 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

Supporting Agents

6. @physics - Physics & Collision Agent

  • 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

7. @assets - Asset Management Agent

  • 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

8. @animation - Animation Systems Agent

  • 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

๐Ÿš€ Getting Started

1. Fill Out the GDD

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

2. Use Specialized Agents

You have two approaches:

Option A: Let the Game Designer Orchestrate (Recommended)

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.

Option B: Direct Agent Communication

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

3. Agent Coordination

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

๐Ÿ“‚ Project Structure

Workspace-Level Structure

/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

Individual Game Structure

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)

Running a Game

cd games/my-platformer
love .

๐Ÿ’ก Best Practices

Start with the Game Designer

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

Use Direct Agent Access for Focused Work

When you know exactly what you need:

  • @ui for specific UI components
  • @gameplay for isolated mechanics
  • @graphics for particular effects

Always Reference the GDD

All agents use the GDD as their source of truth. Keep it updated!

Use the Right Agent for the Job

  • Need a health bar? โ†’ @ui
  • Enemy AI behavior? โ†’ @gameplay
  • Scene transitions? โ†’ @gameflow
  • Explosion effects? โ†’ @graphics

Let Agents Coordinate

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.

Iterate and Polish

  1. Start with core mechanics (@gameplay, @physics)
  2. Add game flow (@gameflow)
  3. Build UI (@ui)
  4. Integrate audio (@audio)
  5. Add visual polish (@graphics, @animation)

๐ŸŽฎ Example Workflow

Creating a New Game

  1. Design Phase

    • Fill out the GDD template
    • Define all mechanics, art, and audio requirements
  2. Foundation (Week 1)

    @game-designer I want to set up a new platformer game from scratch
    

    The Game Designer will orchestrate:

    • @assets to set up the asset manager
    • @gameflow to create the scene structure
    • @physics for collision foundation
  3. Core Gameplay (Week 2-3)

    @game-designer Implement the core player mechanics with movement, jumping, and dashing
    

    The Game Designer will coordinate:

    • @gameplay for player controller
    • @physics for collision and platformer physics
    • @animation for player animation states
    • @audio for movement sound effects
  4. Game Flow & UI (Week 4)

    @game-designer Create the full game flow from menu to gameplay
    

    Coordinates:

    • @gameflow for scene management
    • @ui for all menu interfaces
    • @audio for menu music
  5. Content & Polish (Week 5-6)

    @game-designer Add enemies, power-ups, and visual polish
    

    Then:

    @game-designer Polish the game with juice and effects
    

    Final touches across all systems

๐Ÿ“š Resources

๐Ÿค Contributing

When adding new agents or modifying existing ones:

  1. Follow the established agent template structure
  2. Include practical code examples
  3. Reference GDD sections
  4. Document coordination with other agents
  5. Add testing checklists

๐ŸŽฎ Agent Hierarchy

@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! ๐ŸŽฎโœจ

About

AI tooling and sample projects for agentic workflows that create Love2D games fully automated. Provide your own Game Design Document and let the AI do it's work, iterating is key!

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Contributors

Languages