* Godot Game Dev expansion pack for BMAD * Workflow changes * Workflow changes * Fixing config.yaml, editing README.md to indicate correct workflow * Fixing references to config.yaml, adding missing QA review to game-dev agent * More game story creation fixes * More game story creation fixes * Adding built web agent file * - Adding ability for QA agent to have preloaded context files similar to Dev agent. - Fixing stray Unity references in game-architecture-tmpl.yaml --------- Co-authored-by: Brian <bmadcode@gmail.com>
226 lines
9.4 KiB
Markdown
226 lines
9.4 KiB
Markdown
# Game Design Document Quality Checklist (Godot)
|
|
|
|
## Document Completeness
|
|
|
|
### Executive Summary
|
|
|
|
- [ ] **Core Concept** - Game concept is clearly explained in 2-3 sentences
|
|
- [ ] **Target Audience** - Primary and secondary audiences defined with demographics
|
|
- [ ] **Platform Requirements** - Godot export targets and requirements specified
|
|
- [ ] **Unique Selling Points** - 3-5 key differentiators from competitors identified
|
|
- [ ] **Technical Foundation** - Godot version (4.x/3.x) and language strategy (GDScript/C#) confirmed
|
|
|
|
### Game Design Foundation
|
|
|
|
- [ ] **Game Pillars** - 3-5 core design pillars defined and actionable
|
|
- [ ] **Core Gameplay Loop** - 30-60 second loop documented with specific timings
|
|
- [ ] **Win/Loss Conditions** - Clear victory and failure states defined
|
|
- [ ] **Player Motivation** - Clear understanding of why players will engage
|
|
- [ ] **Scope Realism** - Game scope achievable with Godot's capabilities and resources
|
|
|
|
## Gameplay Mechanics
|
|
|
|
### Core Mechanics Documentation
|
|
|
|
- [ ] **Primary Mechanics** - 3-5 core mechanics detailed with Godot implementation notes
|
|
- [ ] **Node Architecture** - How mechanics map to Godot's node system
|
|
- [ ] **Player Input** - InputMap configuration for each platform specified
|
|
- [ ] **Signal Flow** - Game responses using Godot's signal system documented
|
|
- [ ] **Performance Impact** - Frame time budget for each mechanic (target 60+ FPS)
|
|
|
|
### Controls and Interaction
|
|
|
|
- [ ] **Multi-Platform Controls** - Desktop, mobile, and gamepad InputMap defined
|
|
- [ ] **Input Responsiveness** - Requirements for game feel using \_process vs \_physics_process
|
|
- [ ] **Accessibility Options** - Control remapping and accessibility in Project Settings
|
|
- [ ] **Touch Optimization** - TouchScreenButton and gesture handling designed
|
|
- [ ] **Input Buffer System** - Frame-perfect input handling considerations
|
|
|
|
## Progression and Balance
|
|
|
|
### Player Progression
|
|
|
|
- [ ] **Progression Type** - Linear, branching, or metroidvania approach defined
|
|
- [ ] **Save System Design** - Godot Resource-based save/load architecture
|
|
- [ ] **Unlock System** - What players unlock and how it's stored in Resources
|
|
- [ ] **Difficulty Scaling** - How challenge increases using export variables
|
|
- [ ] **Player Agency** - Meaningful choices affecting scene flow and game state
|
|
|
|
### Game Balance
|
|
|
|
- [ ] **Balance Parameters** - Export variables and Resources for tuning
|
|
- [ ] **Difficulty Curve** - Appropriate challenge progression with scene variations
|
|
- [ ] **Economy Design** - Resource systems using Godot's custom Resources
|
|
- [ ] **Live Tuning** - Hot-reload support for balance iteration
|
|
- [ ] **Data-Driven Design** - ScriptableObject-like Resources for configuration
|
|
|
|
## Level Design Framework
|
|
|
|
### Scene Structure
|
|
|
|
- [ ] **Scene Types** - Different scene categories with Godot scene inheritance
|
|
- [ ] **Scene Transitions** - How players move between scenes (loading strategy)
|
|
- [ ] **Duration Targets** - Expected play time considering scene complexity
|
|
- [ ] **Difficulty Distribution** - Scene variants for different difficulty levels
|
|
- [ ] **Replay Value** - Procedural elements using Godot's randomization
|
|
|
|
### Content Guidelines
|
|
|
|
- [ ] **Scene Creation Rules** - Guidelines for Godot scene composition
|
|
- [ ] **Mechanic Introduction** - Teaching through node activation and signals
|
|
- [ ] **Pacing Variety** - Mix using different process modes and time scales
|
|
- [ ] **Secret Content** - Hidden areas using Area2D/Area3D triggers
|
|
- [ ] **Accessibility Modes** - Scene overrides for assist modes
|
|
|
|
## Technical Implementation Readiness
|
|
|
|
### Performance Requirements
|
|
|
|
- [ ] **Frame Rate Targets** - 60+ FPS with Godot profiler validation
|
|
- [ ] **Draw Call Budgets** - Maximum draw calls per scene type
|
|
- [ ] **Memory Budgets** - Scene memory limits using Godot's monitors
|
|
- [ ] **Mobile Optimization** - Battery usage and thermal considerations
|
|
- [ ] **LOD Strategy** - Level of detail using visibility ranges
|
|
|
|
### Platform Specifications
|
|
|
|
- [ ] **Desktop Requirements** - Minimum specs for Windows/Mac/Linux exports
|
|
- [ ] **Mobile Optimization** - iOS/Android specific Godot settings
|
|
- [ ] **Web Compatibility** - HTML5 export constraints and optimizations
|
|
- [ ] **Console Features** - Platform-specific Godot export templates
|
|
- [ ] **Cross-Platform Save** - Cloud save compatibility considerations
|
|
|
|
### Asset Requirements
|
|
|
|
- [ ] **Art Style Definition** - Visual style with Godot import settings
|
|
- [ ] **Texture Specifications** - Import presets for different asset types
|
|
- [ ] **Audio Requirements** - Bus layout and compression settings
|
|
- [ ] **UI/UX Guidelines** - Control node theming and responsiveness
|
|
- [ ] **Localization Plan** - Translation system using Godot's localization
|
|
|
|
## Godot-Specific Architecture
|
|
|
|
### Node System Design
|
|
|
|
- [ ] **Node Hierarchy** - Planned scene tree structure for major systems
|
|
- [ ] **Scene Composition** - Reusable scene patterns and inheritance
|
|
- [ ] **Autoload Systems** - Singleton managers and their responsibilities
|
|
- [ ] **Signal Architecture** - Event flow between systems
|
|
- [ ] **Group Management** - Node groups for gameplay systems
|
|
|
|
### Language Strategy
|
|
|
|
- [ ] **GDScript Usage** - Systems appropriate for rapid iteration
|
|
- [ ] **C# Integration** - Performance-critical systems requiring C#
|
|
- [ ] **Interop Design** - Boundaries between GDScript and C# code
|
|
- [ ] **Plugin Requirements** - Required GDExtension or C# libraries
|
|
- [ ] **Tool Scripts** - Editor tools for content creation
|
|
|
|
### Resource Management
|
|
|
|
- [ ] **Custom Resources** - Game-specific Resource classes planned
|
|
- [ ] **Preload Strategy** - Resources to preload vs lazy load
|
|
- [ ] **Instance Pooling** - Objects requiring pooling (bullets, effects)
|
|
- [ ] **Memory Management** - Reference counting and cleanup strategy
|
|
- [ ] **Asset Streaming** - Large asset loading approach
|
|
|
|
## Development Planning
|
|
|
|
### Implementation Phases
|
|
|
|
- [ ] **Prototype Phase** - Core loop in minimal Godot project
|
|
- [ ] **Vertical Slice** - Single polished level with all systems
|
|
- [ ] **Production Phase** - Full content creation pipeline
|
|
- [ ] **Polish Phase** - Performance optimization and juice
|
|
- [ ] **Release Phase** - Platform exports and certification
|
|
|
|
### Godot Workflow
|
|
|
|
- [ ] **Version Control** - Git strategy for .tscn/.tres files
|
|
- [ ] **Scene Workflow** - Prefab-like scene development process
|
|
- [ ] **Asset Pipeline** - Import automation and validation
|
|
- [ ] **Build Automation** - Godot headless export scripts
|
|
- [ ] **Testing Pipeline** - GUT/GoDotTest integration
|
|
|
|
## Quality Assurance
|
|
|
|
### Performance Metrics
|
|
|
|
- [ ] **Frame Time Targets** - Maximum ms per frame by system
|
|
- [ ] **Draw Call Limits** - Per-scene rendering budgets
|
|
- [ ] **Physics Budget** - Maximum active physics bodies
|
|
- [ ] **Memory Footprint** - Platform-specific memory limits
|
|
- [ ] **Load Time Goals** - Scene transition time requirements
|
|
|
|
### Testing Strategy
|
|
|
|
- [ ] **Unit Testing** - GUT tests for GDScript, GoDotTest for C#
|
|
- [ ] **Integration Testing** - Scene and signal flow validation
|
|
- [ ] **Performance Testing** - Profiler-based optimization workflow
|
|
- [ ] **Platform Testing** - Export template validation process
|
|
- [ ] **Playtesting Plan** - Godot analytics integration
|
|
|
|
## Documentation Quality
|
|
|
|
### Godot Integration
|
|
|
|
- [ ] **Node Documentation** - Clear descriptions of node purposes
|
|
- [ ] **Signal Documentation** - Event flow and parameters defined
|
|
- [ ] **Export Variables** - All exposed parameters documented
|
|
- [ ] **Resource Formats** - Custom Resource specifications
|
|
- [ ] **API Documentation** - Public methods and properties described
|
|
|
|
### Implementation Guidance
|
|
|
|
- [ ] **Code Examples** - GDScript/C# snippets for complex systems
|
|
- [ ] **Scene Templates** - Example scenes demonstrating patterns
|
|
- [ ] **Performance Notes** - Optimization guidelines per feature
|
|
- [ ] **Common Pitfalls** - Known Godot gotchas documented
|
|
- [ ] **Best Practices** - Godot-specific patterns recommended
|
|
|
|
## Multiplayer Considerations (if applicable)
|
|
|
|
### Network Architecture
|
|
|
|
- [ ] **Multiplayer Type** - P2P vs dedicated server using Godot's high-level API
|
|
- [ ] **RPC Design** - Remote procedure calls and synchronization
|
|
- [ ] **State Replication** - What state needs network synchronization
|
|
- [ ] **Lag Compensation** - Client prediction and reconciliation
|
|
- [ ] **Bandwidth Budget** - Network traffic limits per player
|
|
|
|
## Final Readiness Assessment
|
|
|
|
### Godot Implementation Ready
|
|
|
|
- [ ] **Scene Planning Complete** - Node hierarchy and composition defined
|
|
- [ ] **Performance Validated** - 60+ FPS achievable with design
|
|
- [ ] **Language Strategy Clear** - GDScript vs C# decisions made
|
|
- [ ] **Asset Pipeline Ready** - Import settings and workflow defined
|
|
- [ ] **Testing Framework** - GUT/GoDotTest strategy established
|
|
|
|
### Document Approval
|
|
|
|
- [ ] **Design Review Complete** - Game design validated by team
|
|
- [ ] **Technical Review Complete** - Godot feasibility confirmed
|
|
- [ ] **Performance Review Complete** - Frame rate targets achievable
|
|
- [ ] **Resource Review Complete** - Team capabilities match requirements
|
|
- [ ] **Final Approval** - Document baselined for development
|
|
|
|
## Overall Assessment
|
|
|
|
**Document Quality Rating:** ⭐⭐⭐⭐⭐
|
|
|
|
**Ready for Godot Development:** [ ] Yes [ ] No
|
|
|
|
**Performance Risk Assessment:**
|
|
_Identify any design elements that may challenge 60 FPS target._
|
|
|
|
**Language Recommendations:**
|
|
_Suggest which systems should use GDScript vs C# for optimal performance._
|
|
|
|
**Key Recommendations:**
|
|
_List critical items needing attention before Godot implementation._
|
|
|
|
**Next Steps:**
|
|
_Outline immediate actions for starting Godot development._
|