more list cleanup
This commit is contained in:
@@ -110,6 +110,7 @@ The system maintains a clean separation of concerns: template markup is processe
|
|||||||
BMAD includes a personalization layer through the `technical-preferences.md` file in `.bmad-core/data/`. This file serves as a persistent technical profile that influences agent behavior across all projects.
|
BMAD includes a personalization layer through the `technical-preferences.md` file in `.bmad-core/data/`. This file serves as a persistent technical profile that influences agent behavior across all projects.
|
||||||
|
|
||||||
**Purpose and Benefits:**
|
**Purpose and Benefits:**
|
||||||
|
|
||||||
- **Consistency**: Ensures all agents reference the same technical preferences
|
- **Consistency**: Ensures all agents reference the same technical preferences
|
||||||
- **Efficiency**: Eliminates the need to repeatedly specify preferred technologies
|
- **Efficiency**: Eliminates the need to repeatedly specify preferred technologies
|
||||||
- **Personalization**: Agents provide recommendations aligned with user preferences
|
- **Personalization**: Agents provide recommendations aligned with user preferences
|
||||||
@@ -119,6 +120,7 @@ BMAD includes a personalization layer through the `technical-preferences.md` fil
|
|||||||
The file typically includes preferred technology stacks, design patterns, external services, coding standards, and anti-patterns to avoid. Agents automatically reference this file during planning and development to provide contextually appropriate suggestions.
|
The file typically includes preferred technology stacks, design patterns, external services, coding standards, and anti-patterns to avoid. Agents automatically reference this file during planning and development to provide contextually appropriate suggestions.
|
||||||
|
|
||||||
**Integration Points:**
|
**Integration Points:**
|
||||||
|
|
||||||
- Templates can reference technical preferences during document generation
|
- Templates can reference technical preferences during document generation
|
||||||
- Agents suggest preferred technologies when appropriate for project requirements
|
- Agents suggest preferred technologies when appropriate for project requirements
|
||||||
- When preferences don't fit project needs, agents explain alternatives
|
- When preferences don't fit project needs, agents explain alternatives
|
||||||
|
|||||||
@@ -226,7 +226,6 @@ Templates can include `advanced-elicitation.md` for enhanced interaction:
|
|||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
[[LLM: Use advanced-elicitation actions 0-3 to refine requirements]]
|
[[LLM: Use advanced-elicitation actions 0-3 to refine requirements]]
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
This provides 10 structured brainstorming actions:
|
This provides 10 structured brainstorming actions:
|
||||||
@@ -561,7 +560,6 @@ dependencies:
|
|||||||
## Section 2
|
## Section 2
|
||||||
|
|
||||||
{{section_2_content}}
|
{{section_2_content}}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Workflow Customization
|
### Workflow Customization
|
||||||
@@ -621,25 +619,29 @@ Templates are self-contained documents that embed both output structure and proc
|
|||||||
|
|
||||||
[[LLM: Only include if condition is met]]
|
[[LLM: Only include if condition is met]]
|
||||||
^^/CONDITION^^
|
^^/CONDITION^^
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Key Template Patterns
|
#### Key Template Patterns
|
||||||
|
|
||||||
**Variable Substitution:**
|
**Variable Substitution:**
|
||||||
|
|
||||||
- `{{Project Name}}` - Dynamic project name
|
- `{{Project Name}}` - Dynamic project name
|
||||||
- `{{document_title}}` - Document-specific title
|
- `{{document_title}}` - Document-specific title
|
||||||
- `{{section_content}}` - Placeholder for generated content
|
- `{{section_content}}` - Placeholder for generated content
|
||||||
|
|
||||||
**AI Processing Instructions:**
|
**AI Processing Instructions:**
|
||||||
|
|
||||||
- `[[LLM: Instructions for AI behavior]]` - AI-only processing directives
|
- `[[LLM: Instructions for AI behavior]]` - AI-only processing directives
|
||||||
- `@{example: Sample content}` - Guidance examples (not output)
|
- `@{example: Sample content}` - Guidance examples (not output)
|
||||||
- `tasks#advanced-elicitation` - Reference to embedded tasks
|
- `tasks#advanced-elicitation` - Reference to embedded tasks
|
||||||
|
|
||||||
**Conditional Content:**
|
**Conditional Content:**
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
^^CONDITION: has_ui^^
|
^^CONDITION: has_ui^^
|
||||||
|
|
||||||
## User Interface Section
|
## User Interface Section
|
||||||
|
|
||||||
[[LLM: Only include for UI projects]]
|
[[LLM: Only include for UI projects]]
|
||||||
^^/CONDITION^^
|
^^/CONDITION^^
|
||||||
```
|
```
|
||||||
@@ -658,10 +660,10 @@ Level 2 headings (`##`) in templates can be automatically sharded into separate
|
|||||||
## User Interface Design Goals
|
## User Interface Design Goals
|
||||||
|
|
||||||
## Success Metrics
|
## Success Metrics
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**After Sharding:**
|
**After Sharding:**
|
||||||
|
|
||||||
- `docs/prd/goals-and-background-context.md`
|
- `docs/prd/goals-and-background-context.md`
|
||||||
- `docs/prd/requirements.md`
|
- `docs/prd/requirements.md`
|
||||||
- `docs/prd/user-interface-design-goals.md`
|
- `docs/prd/user-interface-design-goals.md`
|
||||||
@@ -686,10 +688,12 @@ Tasks are reusable automation instructions that agents can execute. They follow
|
|||||||
## Instructions
|
## Instructions
|
||||||
|
|
||||||
### 1. Step One
|
### 1. Step One
|
||||||
|
|
||||||
- Detailed instructions for the agent
|
- Detailed instructions for the agent
|
||||||
- Specific behaviors and outputs expected
|
- Specific behaviors and outputs expected
|
||||||
|
|
||||||
### 2. Step Two
|
### 2. Step Two
|
||||||
|
|
||||||
- Additional processing steps
|
- Additional processing steps
|
||||||
- Integration with other resources
|
- Integration with other resources
|
||||||
|
|
||||||
@@ -705,10 +709,10 @@ Tasks are reusable automation instructions that agents can execute. They follow
|
|||||||
```markdown
|
```markdown
|
||||||
[[LLM: Check if docs/coding-standards.md exists and reference it]]
|
[[LLM: Check if docs/coding-standards.md exists and reference it]]
|
||||||
[[LLM: Load docs/openapi-spec.yaml for API context]]
|
[[LLM: Load docs/openapi-spec.yaml for API context]]
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**Advanced Elicitation:**
|
**Advanced Elicitation:**
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
[[LLM: Apply tasks#advanced-elicitation protocol after completion]]
|
[[LLM: Apply tasks#advanced-elicitation protocol after completion]]
|
||||||
```
|
```
|
||||||
@@ -717,7 +721,6 @@ Tasks are reusable automation instructions that agents can execute. They follow
|
|||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
[[LLM: If project has UI components, also check frontend standards]]
|
[[LLM: If project has UI components, also check frontend standards]]
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Creating Custom Agents
|
### Creating Custom Agents
|
||||||
@@ -780,6 +783,7 @@ Agents can reference and load documents from the `docs/` folder:
|
|||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
[[LLM: Before beginning, check for and load relevant context:
|
[[LLM: Before beginning, check for and load relevant context:
|
||||||
|
|
||||||
- docs/coding-standards.md for development standards
|
- docs/coding-standards.md for development standards
|
||||||
- docs/brand-guidelines.md for design consistency
|
- docs/brand-guidelines.md for design consistency
|
||||||
- docs/third-party-apis/ for integration requirements
|
- docs/third-party-apis/ for integration requirements
|
||||||
@@ -817,18 +821,20 @@ This file allows you to define your preferred technologies, patterns, and standa
|
|||||||
|
|
||||||
- Vercel for frontend
|
- Vercel for frontend
|
||||||
- Railway for backend services
|
- Railway for backend services
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
**Design Patterns & Standards:**
|
**Design Patterns & Standards:**
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
## Code Standards
|
## Code Standards
|
||||||
|
|
||||||
- Use functional programming patterns where possible
|
- Use functional programming patterns where possible
|
||||||
- Prefer composition over inheritance
|
- Prefer composition over inheritance
|
||||||
- Always include comprehensive error handling
|
- Always include comprehensive error handling
|
||||||
- Write tests for all business logic
|
- Write tests for all business logic
|
||||||
|
|
||||||
## Architecture Preferences
|
## Architecture Preferences
|
||||||
|
|
||||||
- Microservices for complex applications
|
- Microservices for complex applications
|
||||||
- RESTful APIs with OpenAPI documentation
|
- RESTful APIs with OpenAPI documentation
|
||||||
- Event-driven architecture for real-time features
|
- Event-driven architecture for real-time features
|
||||||
@@ -848,7 +854,6 @@ This file allows you to define your preferred technologies, patterns, and standa
|
|||||||
|
|
||||||
- Legacy SOAP services
|
- Legacy SOAP services
|
||||||
- Services without proper documentation
|
- Services without proper documentation
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
#### How Agents Use This File
|
#### How Agents Use This File
|
||||||
@@ -864,16 +869,18 @@ This file allows you to define your preferred technologies, patterns, and standa
|
|||||||
**Learning and Evolution**: As you work on projects, add discoveries to your preferences file:
|
**Learning and Evolution**: As you work on projects, add discoveries to your preferences file:
|
||||||
|
|
||||||
## Lessons Learned
|
## Lessons Learned
|
||||||
|
|
||||||
- Avoid using Library X for large datasets (performance issues)
|
- Avoid using Library X for large datasets (performance issues)
|
||||||
- Pattern Y works well for real-time features
|
- Pattern Y works well for real-time features
|
||||||
- Service Z has excellent documentation and support
|
- Service Z has excellent documentation and support
|
||||||
|
|
||||||
## Future Exploration
|
## Future Exploration
|
||||||
|
|
||||||
- Want to try Framework A on next appropriate project
|
- Want to try Framework A on next appropriate project
|
||||||
- Interested in Pattern B for microservices
|
- Interested in Pattern B for microservices
|
||||||
- Consider Service C for better performance
|
- Consider Service C for better performance
|
||||||
|
|
||||||
#### Using with Web Bundles
|
### Using with Web Bundles
|
||||||
|
|
||||||
When creating custom web bundles or uploading to AI platforms, include your `technical-preferences.md` content to ensure agents have your preferences from the start of any conversation.
|
When creating custom web bundles or uploading to AI platforms, include your `technical-preferences.md` content to ensure agents have your preferences from the start of any conversation.
|
||||||
|
|
||||||
|
|||||||
@@ -55,4 +55,4 @@ dependencies:
|
|||||||
- game-brief-tmpl
|
- game-brief-tmpl
|
||||||
checklists:
|
checklists:
|
||||||
- game-design-checklist
|
- game-design-checklist
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -48,10 +48,10 @@ commands:
|
|||||||
task-execution:
|
task-execution:
|
||||||
flow: Read story → Implement game feature → Write tests → Pass tests → Update [x] → Next task
|
flow: Read story → Implement game feature → Write tests → Pass tests → Update [x] → Next task
|
||||||
updates-ONLY:
|
updates-ONLY:
|
||||||
- 'Checkboxes: [ ] not started | [-] in progress | [x] complete'
|
- "Checkboxes: [ ] not started | [-] in progress | [x] complete"
|
||||||
- 'Debug Log: | Task | File | Change | Reverted? |'
|
- "Debug Log: | Task | File | Change | Reverted? |"
|
||||||
- 'Completion Notes: Deviations only, <50 words'
|
- "Completion Notes: Deviations only, <50 words"
|
||||||
- 'Change Log: Requirement changes only'
|
- "Change Log: Requirement changes only"
|
||||||
blocking: Unapproved deps | Ambiguous after story check | 3 failures | Missing game config
|
blocking: Unapproved deps | Ambiguous after story check | 3 failures | Missing game config
|
||||||
done: Game feature works + Tests pass + 60 FPS + No lint errors + Follows Phaser 3 best practices
|
done: Game feature works + Tests pass + 60 FPS + No lint errors + Follows Phaser 3 best practices
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -63,4 +63,4 @@ dependencies:
|
|||||||
- game-story-dod-checklist
|
- game-story-dod-checklist
|
||||||
data:
|
data:
|
||||||
- development-guidelines
|
- development-guidelines
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ startup:
|
|||||||
- CRITICAL: Do NOT create or modify any files during startup
|
- CRITICAL: Do NOT create or modify any files during startup
|
||||||
- Offer to help with game story preparation but wait for explicit user confirmation
|
- Offer to help with game story preparation but wait for explicit user confirmation
|
||||||
- Only execute tasks when user explicitly requests them
|
- Only execute tasks when user explicitly requests them
|
||||||
- 'CRITICAL RULE: You are ONLY allowed to create/modify story files - NEVER implement! If asked to implement, tell user they MUST switch to Game Developer Agent'
|
- "CRITICAL RULE: You are ONLY allowed to create/modify story files - NEVER implement! If asked to implement, tell user they MUST switch to Game Developer Agent"
|
||||||
commands:
|
commands:
|
||||||
- '*help" - Show numbered list of available commands for selection'
|
- '*help" - Show numbered list of available commands for selection'
|
||||||
- '*chat-mode" - Conversational mode with advanced-elicitation for game dev advice'
|
- '*chat-mode" - Conversational mode with advanced-elicitation for game dev advice'
|
||||||
@@ -48,4 +48,4 @@ dependencies:
|
|||||||
- game-story-tmpl
|
- game-story-tmpl
|
||||||
checklists:
|
checklists:
|
||||||
- game-story-dod-checklist
|
- game-story-dod-checklist
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
## Document Completeness
|
## Document Completeness
|
||||||
|
|
||||||
### Executive Summary
|
### Executive Summary
|
||||||
|
|
||||||
- [ ] **Core Concept** - Game concept is clearly explained in 2-3 sentences
|
- [ ] **Core Concept** - Game concept is clearly explained in 2-3 sentences
|
||||||
- [ ] **Target Audience** - Primary and secondary audiences defined with demographics
|
- [ ] **Target Audience** - Primary and secondary audiences defined with demographics
|
||||||
- [ ] **Platform Requirements** - Technical platforms and requirements specified
|
- [ ] **Platform Requirements** - Technical platforms and requirements specified
|
||||||
@@ -10,6 +11,7 @@
|
|||||||
- [ ] **Technical Foundation** - Phaser 3 + TypeScript requirements confirmed
|
- [ ] **Technical Foundation** - Phaser 3 + TypeScript requirements confirmed
|
||||||
|
|
||||||
### Game Design Foundation
|
### Game Design Foundation
|
||||||
|
|
||||||
- [ ] **Game Pillars** - 3-5 core design pillars defined and actionable
|
- [ ] **Game Pillars** - 3-5 core design pillars defined and actionable
|
||||||
- [ ] **Core Gameplay Loop** - 30-60 second loop documented with specific timings
|
- [ ] **Core Gameplay Loop** - 30-60 second loop documented with specific timings
|
||||||
- [ ] **Win/Loss Conditions** - Clear victory and failure states defined
|
- [ ] **Win/Loss Conditions** - Clear victory and failure states defined
|
||||||
@@ -19,6 +21,7 @@
|
|||||||
## Gameplay Mechanics
|
## Gameplay Mechanics
|
||||||
|
|
||||||
### Core Mechanics Documentation
|
### Core Mechanics Documentation
|
||||||
|
|
||||||
- [ ] **Primary Mechanics** - 3-5 core mechanics detailed with implementation notes
|
- [ ] **Primary Mechanics** - 3-5 core mechanics detailed with implementation notes
|
||||||
- [ ] **Mechanic Integration** - How mechanics work together is clear
|
- [ ] **Mechanic Integration** - How mechanics work together is clear
|
||||||
- [ ] **Player Input** - All input methods specified for each platform
|
- [ ] **Player Input** - All input methods specified for each platform
|
||||||
@@ -26,6 +29,7 @@
|
|||||||
- [ ] **Performance Impact** - Performance considerations for each mechanic noted
|
- [ ] **Performance Impact** - Performance considerations for each mechanic noted
|
||||||
|
|
||||||
### Controls and Interaction
|
### Controls and Interaction
|
||||||
|
|
||||||
- [ ] **Multi-Platform Controls** - Desktop, mobile, and gamepad controls defined
|
- [ ] **Multi-Platform Controls** - Desktop, mobile, and gamepad controls defined
|
||||||
- [ ] **Input Responsiveness** - Requirements for responsive game feel specified
|
- [ ] **Input Responsiveness** - Requirements for responsive game feel specified
|
||||||
- [ ] **Accessibility Options** - Control customization and accessibility considered
|
- [ ] **Accessibility Options** - Control customization and accessibility considered
|
||||||
@@ -35,6 +39,7 @@
|
|||||||
## Progression and Balance
|
## Progression and Balance
|
||||||
|
|
||||||
### Player Progression
|
### Player Progression
|
||||||
|
|
||||||
- [ ] **Progression Type** - Linear, branching, or metroidvania approach defined
|
- [ ] **Progression Type** - Linear, branching, or metroidvania approach defined
|
||||||
- [ ] **Key Milestones** - Major progression points documented
|
- [ ] **Key Milestones** - Major progression points documented
|
||||||
- [ ] **Unlock System** - What players unlock and when is specified
|
- [ ] **Unlock System** - What players unlock and when is specified
|
||||||
@@ -42,6 +47,7 @@
|
|||||||
- [ ] **Player Agency** - Meaningful player choices and consequences defined
|
- [ ] **Player Agency** - Meaningful player choices and consequences defined
|
||||||
|
|
||||||
### Game Balance
|
### Game Balance
|
||||||
|
|
||||||
- [ ] **Balance Parameters** - Numeric values for key game systems provided
|
- [ ] **Balance Parameters** - Numeric values for key game systems provided
|
||||||
- [ ] **Difficulty Curve** - Appropriate challenge progression designed
|
- [ ] **Difficulty Curve** - Appropriate challenge progression designed
|
||||||
- [ ] **Economy Design** - Resource systems balanced for engagement
|
- [ ] **Economy Design** - Resource systems balanced for engagement
|
||||||
@@ -51,6 +57,7 @@
|
|||||||
## Level Design Framework
|
## Level Design Framework
|
||||||
|
|
||||||
### Level Structure
|
### Level Structure
|
||||||
|
|
||||||
- [ ] **Level Types** - Different level categories defined with purposes
|
- [ ] **Level Types** - Different level categories defined with purposes
|
||||||
- [ ] **Level Progression** - How players move through levels specified
|
- [ ] **Level Progression** - How players move through levels specified
|
||||||
- [ ] **Duration Targets** - Expected play time for each level type
|
- [ ] **Duration Targets** - Expected play time for each level type
|
||||||
@@ -58,6 +65,7 @@
|
|||||||
- [ ] **Replay Value** - Elements that encourage repeated play designed
|
- [ ] **Replay Value** - Elements that encourage repeated play designed
|
||||||
|
|
||||||
### Content Guidelines
|
### Content Guidelines
|
||||||
|
|
||||||
- [ ] **Level Creation Rules** - Clear guidelines for level designers
|
- [ ] **Level Creation Rules** - Clear guidelines for level designers
|
||||||
- [ ] **Mechanic Introduction** - How new mechanics are taught in levels
|
- [ ] **Mechanic Introduction** - How new mechanics are taught in levels
|
||||||
- [ ] **Pacing Variety** - Mix of action, puzzle, and rest moments planned
|
- [ ] **Pacing Variety** - Mix of action, puzzle, and rest moments planned
|
||||||
@@ -67,6 +75,7 @@
|
|||||||
## Technical Implementation Readiness
|
## Technical Implementation Readiness
|
||||||
|
|
||||||
### Performance Requirements
|
### Performance Requirements
|
||||||
|
|
||||||
- [ ] **Frame Rate Targets** - 60 FPS target with minimum acceptable rates
|
- [ ] **Frame Rate Targets** - 60 FPS target with minimum acceptable rates
|
||||||
- [ ] **Memory Budgets** - Maximum memory usage limits defined
|
- [ ] **Memory Budgets** - Maximum memory usage limits defined
|
||||||
- [ ] **Load Time Goals** - Acceptable loading times for different content
|
- [ ] **Load Time Goals** - Acceptable loading times for different content
|
||||||
@@ -74,6 +83,7 @@
|
|||||||
- [ ] **Scalability Plan** - How performance scales across different devices
|
- [ ] **Scalability Plan** - How performance scales across different devices
|
||||||
|
|
||||||
### Platform Specifications
|
### Platform Specifications
|
||||||
|
|
||||||
- [ ] **Desktop Requirements** - Minimum and recommended PC/Mac specs
|
- [ ] **Desktop Requirements** - Minimum and recommended PC/Mac specs
|
||||||
- [ ] **Mobile Optimization** - iOS and Android specific requirements
|
- [ ] **Mobile Optimization** - iOS and Android specific requirements
|
||||||
- [ ] **Browser Compatibility** - Supported browsers and versions listed
|
- [ ] **Browser Compatibility** - Supported browsers and versions listed
|
||||||
@@ -81,6 +91,7 @@
|
|||||||
- [ ] **Update Strategy** - Plan for post-launch updates and patches
|
- [ ] **Update Strategy** - Plan for post-launch updates and patches
|
||||||
|
|
||||||
### Asset Requirements
|
### Asset Requirements
|
||||||
|
|
||||||
- [ ] **Art Style Definition** - Clear visual style with reference materials
|
- [ ] **Art Style Definition** - Clear visual style with reference materials
|
||||||
- [ ] **Asset Specifications** - Technical requirements for all asset types
|
- [ ] **Asset Specifications** - Technical requirements for all asset types
|
||||||
- [ ] **Audio Requirements** - Music and sound effect specifications
|
- [ ] **Audio Requirements** - Music and sound effect specifications
|
||||||
@@ -90,6 +101,7 @@
|
|||||||
## Development Planning
|
## Development Planning
|
||||||
|
|
||||||
### Implementation Phases
|
### Implementation Phases
|
||||||
|
|
||||||
- [ ] **Phase Breakdown** - Development divided into logical phases
|
- [ ] **Phase Breakdown** - Development divided into logical phases
|
||||||
- [ ] **Epic Definitions** - Major development epics identified
|
- [ ] **Epic Definitions** - Major development epics identified
|
||||||
- [ ] **Dependency Mapping** - Prerequisites between features documented
|
- [ ] **Dependency Mapping** - Prerequisites between features documented
|
||||||
@@ -97,6 +109,7 @@
|
|||||||
- [ ] **Milestone Planning** - Key deliverables and deadlines established
|
- [ ] **Milestone Planning** - Key deliverables and deadlines established
|
||||||
|
|
||||||
### Team Requirements
|
### Team Requirements
|
||||||
|
|
||||||
- [ ] **Role Definitions** - Required team roles and responsibilities
|
- [ ] **Role Definitions** - Required team roles and responsibilities
|
||||||
- [ ] **Skill Requirements** - Technical skills needed for implementation
|
- [ ] **Skill Requirements** - Technical skills needed for implementation
|
||||||
- [ ] **Resource Allocation** - Time and effort estimates for major features
|
- [ ] **Resource Allocation** - Time and effort estimates for major features
|
||||||
@@ -106,6 +119,7 @@
|
|||||||
## Quality Assurance
|
## Quality Assurance
|
||||||
|
|
||||||
### Success Metrics
|
### Success Metrics
|
||||||
|
|
||||||
- [ ] **Technical Metrics** - Measurable technical performance goals
|
- [ ] **Technical Metrics** - Measurable technical performance goals
|
||||||
- [ ] **Gameplay Metrics** - Player engagement and retention targets
|
- [ ] **Gameplay Metrics** - Player engagement and retention targets
|
||||||
- [ ] **Quality Benchmarks** - Standards for bug rates and polish level
|
- [ ] **Quality Benchmarks** - Standards for bug rates and polish level
|
||||||
@@ -113,6 +127,7 @@
|
|||||||
- [ ] **Business Objectives** - Commercial or project success criteria
|
- [ ] **Business Objectives** - Commercial or project success criteria
|
||||||
|
|
||||||
### Testing Strategy
|
### Testing Strategy
|
||||||
|
|
||||||
- [ ] **Playtesting Plan** - How and when player feedback will be gathered
|
- [ ] **Playtesting Plan** - How and when player feedback will be gathered
|
||||||
- [ ] **Technical Testing** - Performance and compatibility testing approach
|
- [ ] **Technical Testing** - Performance and compatibility testing approach
|
||||||
- [ ] **Balance Validation** - Methods for confirming game balance
|
- [ ] **Balance Validation** - Methods for confirming game balance
|
||||||
@@ -122,6 +137,7 @@
|
|||||||
## Documentation Quality
|
## Documentation Quality
|
||||||
|
|
||||||
### Clarity and Completeness
|
### Clarity and Completeness
|
||||||
|
|
||||||
- [ ] **Clear Writing** - All sections are well-written and understandable
|
- [ ] **Clear Writing** - All sections are well-written and understandable
|
||||||
- [ ] **Complete Coverage** - No major game systems left undefined
|
- [ ] **Complete Coverage** - No major game systems left undefined
|
||||||
- [ ] **Actionable Detail** - Enough detail for developers to create implementation stories
|
- [ ] **Actionable Detail** - Enough detail for developers to create implementation stories
|
||||||
@@ -129,6 +145,7 @@
|
|||||||
- [ ] **Reference Materials** - Links to inspiration, research, and additional resources
|
- [ ] **Reference Materials** - Links to inspiration, research, and additional resources
|
||||||
|
|
||||||
### Maintainability
|
### Maintainability
|
||||||
|
|
||||||
- [ ] **Version Control** - Change log established for tracking revisions
|
- [ ] **Version Control** - Change log established for tracking revisions
|
||||||
- [ ] **Update Process** - Plan for maintaining document during development
|
- [ ] **Update Process** - Plan for maintaining document during development
|
||||||
- [ ] **Team Access** - All team members can access and reference the document
|
- [ ] **Team Access** - All team members can access and reference the document
|
||||||
@@ -138,6 +155,7 @@
|
|||||||
## Stakeholder Alignment
|
## Stakeholder Alignment
|
||||||
|
|
||||||
### Team Understanding
|
### Team Understanding
|
||||||
|
|
||||||
- [ ] **Shared Vision** - All team members understand and agree with the game vision
|
- [ ] **Shared Vision** - All team members understand and agree with the game vision
|
||||||
- [ ] **Role Clarity** - Each team member understands their contribution
|
- [ ] **Role Clarity** - Each team member understands their contribution
|
||||||
- [ ] **Decision Framework** - Process for making design decisions during development
|
- [ ] **Decision Framework** - Process for making design decisions during development
|
||||||
@@ -145,6 +163,7 @@
|
|||||||
- [ ] **Communication Channels** - Regular meetings and feedback sessions planned
|
- [ ] **Communication Channels** - Regular meetings and feedback sessions planned
|
||||||
|
|
||||||
### External Validation
|
### External Validation
|
||||||
|
|
||||||
- [ ] **Market Validation** - Competitive analysis and market fit assessment
|
- [ ] **Market Validation** - Competitive analysis and market fit assessment
|
||||||
- [ ] **Technical Validation** - Feasibility confirmed with technical team
|
- [ ] **Technical Validation** - Feasibility confirmed with technical team
|
||||||
- [ ] **Resource Validation** - Required resources available and committed
|
- [ ] **Resource Validation** - Required resources available and committed
|
||||||
@@ -154,6 +173,7 @@
|
|||||||
## Final Readiness Assessment
|
## Final Readiness Assessment
|
||||||
|
|
||||||
### Implementation Preparedness
|
### Implementation Preparedness
|
||||||
|
|
||||||
- [ ] **Story Creation Ready** - Document provides sufficient detail for story creation
|
- [ ] **Story Creation Ready** - Document provides sufficient detail for story creation
|
||||||
- [ ] **Architecture Alignment** - Game design aligns with technical capabilities
|
- [ ] **Architecture Alignment** - Game design aligns with technical capabilities
|
||||||
- [ ] **Asset Production** - Asset requirements enable art and audio production
|
- [ ] **Asset Production** - Asset requirements enable art and audio production
|
||||||
@@ -161,6 +181,7 @@
|
|||||||
- [ ] **Quality Assurance** - Testing and validation processes established
|
- [ ] **Quality Assurance** - Testing and validation processes established
|
||||||
|
|
||||||
### Document Approval
|
### Document Approval
|
||||||
|
|
||||||
- [ ] **Design Review Complete** - Document reviewed by all relevant stakeholders
|
- [ ] **Design Review Complete** - Document reviewed by all relevant stakeholders
|
||||||
- [ ] **Technical Review Complete** - Technical feasibility confirmed
|
- [ ] **Technical Review Complete** - Technical feasibility confirmed
|
||||||
- [ ] **Business Review Complete** - Project scope and goals approved
|
- [ ] **Business Review Complete** - Project scope and goals approved
|
||||||
@@ -177,4 +198,4 @@
|
|||||||
_List any critical items that need attention before moving to implementation phase._
|
_List any critical items that need attention before moving to implementation phase._
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
_Outline immediate next actions for the team based on this assessment._
|
_Outline immediate next actions for the team based on this assessment._
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
## Story Completeness
|
## Story Completeness
|
||||||
|
|
||||||
### Basic Story Elements
|
### Basic Story Elements
|
||||||
|
|
||||||
- [ ] **Story Title** - Clear, descriptive title that identifies the feature
|
- [ ] **Story Title** - Clear, descriptive title that identifies the feature
|
||||||
- [ ] **Epic Assignment** - Story is properly assigned to relevant epic
|
- [ ] **Epic Assignment** - Story is properly assigned to relevant epic
|
||||||
- [ ] **Priority Level** - Appropriate priority assigned (High/Medium/Low)
|
- [ ] **Priority Level** - Appropriate priority assigned (High/Medium/Low)
|
||||||
@@ -10,6 +11,7 @@
|
|||||||
- [ ] **Description** - Clear, concise description of what needs to be implemented
|
- [ ] **Description** - Clear, concise description of what needs to be implemented
|
||||||
|
|
||||||
### Game Design Alignment
|
### Game Design Alignment
|
||||||
|
|
||||||
- [ ] **GDD Reference** - Specific Game Design Document section referenced
|
- [ ] **GDD Reference** - Specific Game Design Document section referenced
|
||||||
- [ ] **Game Mechanic Context** - Clear connection to game mechanics defined in GDD
|
- [ ] **Game Mechanic Context** - Clear connection to game mechanics defined in GDD
|
||||||
- [ ] **Player Experience Goal** - Describes the intended player experience
|
- [ ] **Player Experience Goal** - Describes the intended player experience
|
||||||
@@ -19,6 +21,7 @@
|
|||||||
## Technical Specifications
|
## Technical Specifications
|
||||||
|
|
||||||
### Architecture Compliance
|
### Architecture Compliance
|
||||||
|
|
||||||
- [ ] **File Organization** - Follows game architecture document structure
|
- [ ] **File Organization** - Follows game architecture document structure
|
||||||
- [ ] **Class Definitions** - TypeScript interfaces and classes are properly defined
|
- [ ] **Class Definitions** - TypeScript interfaces and classes are properly defined
|
||||||
- [ ] **Integration Points** - Clear specification of how feature integrates with existing systems
|
- [ ] **Integration Points** - Clear specification of how feature integrates with existing systems
|
||||||
@@ -26,6 +29,7 @@
|
|||||||
- [ ] **Dependencies** - All system dependencies clearly identified
|
- [ ] **Dependencies** - All system dependencies clearly identified
|
||||||
|
|
||||||
### Phaser 3 Requirements
|
### Phaser 3 Requirements
|
||||||
|
|
||||||
- [ ] **Scene Integration** - Specifies which scenes are affected and how
|
- [ ] **Scene Integration** - Specifies which scenes are affected and how
|
||||||
- [ ] **Game Object Usage** - Proper use of Phaser 3 game objects and components
|
- [ ] **Game Object Usage** - Proper use of Phaser 3 game objects and components
|
||||||
- [ ] **Physics Integration** - Physics requirements specified if applicable
|
- [ ] **Physics Integration** - Physics requirements specified if applicable
|
||||||
@@ -33,6 +37,7 @@
|
|||||||
- [ ] **Performance Considerations** - 60 FPS target and optimization requirements
|
- [ ] **Performance Considerations** - 60 FPS target and optimization requirements
|
||||||
|
|
||||||
### Code Quality Standards
|
### Code Quality Standards
|
||||||
|
|
||||||
- [ ] **TypeScript Strict Mode** - All code must comply with strict TypeScript
|
- [ ] **TypeScript Strict Mode** - All code must comply with strict TypeScript
|
||||||
- [ ] **Error Handling** - Error scenarios and handling requirements specified
|
- [ ] **Error Handling** - Error scenarios and handling requirements specified
|
||||||
- [ ] **Memory Management** - Object pooling and cleanup requirements where needed
|
- [ ] **Memory Management** - Object pooling and cleanup requirements where needed
|
||||||
@@ -42,6 +47,7 @@
|
|||||||
## Implementation Readiness
|
## Implementation Readiness
|
||||||
|
|
||||||
### Acceptance Criteria
|
### Acceptance Criteria
|
||||||
|
|
||||||
- [ ] **Functional Requirements** - All functional acceptance criteria are specific and testable
|
- [ ] **Functional Requirements** - All functional acceptance criteria are specific and testable
|
||||||
- [ ] **Technical Requirements** - Technical acceptance criteria are complete and verifiable
|
- [ ] **Technical Requirements** - Technical acceptance criteria are complete and verifiable
|
||||||
- [ ] **Game Design Requirements** - Game-specific requirements match GDD specifications
|
- [ ] **Game Design Requirements** - Game-specific requirements match GDD specifications
|
||||||
@@ -49,6 +55,7 @@
|
|||||||
- [ ] **Completeness** - No acceptance criteria are vague or unmeasurable
|
- [ ] **Completeness** - No acceptance criteria are vague or unmeasurable
|
||||||
|
|
||||||
### Implementation Tasks
|
### Implementation Tasks
|
||||||
|
|
||||||
- [ ] **Task Breakdown** - Story broken into specific, ordered implementation tasks
|
- [ ] **Task Breakdown** - Story broken into specific, ordered implementation tasks
|
||||||
- [ ] **Task Scope** - Each task is completable in 1-4 hours
|
- [ ] **Task Scope** - Each task is completable in 1-4 hours
|
||||||
- [ ] **Task Clarity** - Each task has clear, actionable instructions
|
- [ ] **Task Clarity** - Each task has clear, actionable instructions
|
||||||
@@ -56,6 +63,7 @@
|
|||||||
- [ ] **Development Flow** - Tasks follow logical implementation order
|
- [ ] **Development Flow** - Tasks follow logical implementation order
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|
||||||
- [ ] **Story Dependencies** - All prerequisite stories identified with IDs
|
- [ ] **Story Dependencies** - All prerequisite stories identified with IDs
|
||||||
- [ ] **Technical Dependencies** - Required systems and files identified
|
- [ ] **Technical Dependencies** - Required systems and files identified
|
||||||
- [ ] **Asset Dependencies** - All needed assets specified with locations
|
- [ ] **Asset Dependencies** - All needed assets specified with locations
|
||||||
@@ -65,6 +73,7 @@
|
|||||||
## Testing Requirements
|
## Testing Requirements
|
||||||
|
|
||||||
### Test Coverage
|
### Test Coverage
|
||||||
|
|
||||||
- [ ] **Unit Test Requirements** - Specific unit test files and scenarios defined
|
- [ ] **Unit Test Requirements** - Specific unit test files and scenarios defined
|
||||||
- [ ] **Integration Test Cases** - Integration testing with other game systems specified
|
- [ ] **Integration Test Cases** - Integration testing with other game systems specified
|
||||||
- [ ] **Manual Test Cases** - Game-specific manual testing procedures defined
|
- [ ] **Manual Test Cases** - Game-specific manual testing procedures defined
|
||||||
@@ -72,6 +81,7 @@
|
|||||||
- [ ] **Edge Case Testing** - Edge cases and error conditions covered
|
- [ ] **Edge Case Testing** - Edge cases and error conditions covered
|
||||||
|
|
||||||
### Test Implementation
|
### Test Implementation
|
||||||
|
|
||||||
- [ ] **Test File Paths** - Exact test file locations specified
|
- [ ] **Test File Paths** - Exact test file locations specified
|
||||||
- [ ] **Test Scenarios** - All test scenarios are complete and executable
|
- [ ] **Test Scenarios** - All test scenarios are complete and executable
|
||||||
- [ ] **Expected Behaviors** - Clear expected outcomes for all tests defined
|
- [ ] **Expected Behaviors** - Clear expected outcomes for all tests defined
|
||||||
@@ -81,6 +91,7 @@
|
|||||||
## Game-Specific Quality
|
## Game-Specific Quality
|
||||||
|
|
||||||
### Gameplay Implementation
|
### Gameplay Implementation
|
||||||
|
|
||||||
- [ ] **Mechanic Accuracy** - Implementation matches GDD mechanic specifications
|
- [ ] **Mechanic Accuracy** - Implementation matches GDD mechanic specifications
|
||||||
- [ ] **Player Controls** - Input handling requirements are complete
|
- [ ] **Player Controls** - Input handling requirements are complete
|
||||||
- [ ] **Game Feel** - Requirements for juice, feedback, and responsiveness specified
|
- [ ] **Game Feel** - Requirements for juice, feedback, and responsiveness specified
|
||||||
@@ -88,6 +99,7 @@
|
|||||||
- [ ] **State Management** - Game state changes and persistence requirements defined
|
- [ ] **State Management** - Game state changes and persistence requirements defined
|
||||||
|
|
||||||
### User Experience
|
### User Experience
|
||||||
|
|
||||||
- [ ] **UI Requirements** - User interface elements and behaviors specified
|
- [ ] **UI Requirements** - User interface elements and behaviors specified
|
||||||
- [ ] **Audio Integration** - Sound effect and music requirements defined
|
- [ ] **Audio Integration** - Sound effect and music requirements defined
|
||||||
- [ ] **Visual Feedback** - Animation and visual effect requirements specified
|
- [ ] **Visual Feedback** - Animation and visual effect requirements specified
|
||||||
@@ -95,6 +107,7 @@
|
|||||||
- [ ] **Error Recovery** - User-facing error handling and recovery specified
|
- [ ] **Error Recovery** - User-facing error handling and recovery specified
|
||||||
|
|
||||||
### Performance Optimization
|
### Performance Optimization
|
||||||
|
|
||||||
- [ ] **Frame Rate Targets** - Specific FPS requirements for different platforms
|
- [ ] **Frame Rate Targets** - Specific FPS requirements for different platforms
|
||||||
- [ ] **Memory Usage** - Memory consumption limits and monitoring requirements
|
- [ ] **Memory Usage** - Memory consumption limits and monitoring requirements
|
||||||
- [ ] **Asset Optimization** - Texture, audio, and data optimization requirements
|
- [ ] **Asset Optimization** - Texture, audio, and data optimization requirements
|
||||||
@@ -104,6 +117,7 @@
|
|||||||
## Documentation and Communication
|
## Documentation and Communication
|
||||||
|
|
||||||
### Story Documentation
|
### Story Documentation
|
||||||
|
|
||||||
- [ ] **Implementation Notes** - Additional context and implementation guidance provided
|
- [ ] **Implementation Notes** - Additional context and implementation guidance provided
|
||||||
- [ ] **Design Decisions** - Key design choices documented with rationale
|
- [ ] **Design Decisions** - Key design choices documented with rationale
|
||||||
- [ ] **Future Considerations** - Potential future enhancements or modifications noted
|
- [ ] **Future Considerations** - Potential future enhancements or modifications noted
|
||||||
@@ -111,6 +125,7 @@
|
|||||||
- [ ] **Reference Materials** - Links to relevant GDD sections and architecture docs
|
- [ ] **Reference Materials** - Links to relevant GDD sections and architecture docs
|
||||||
|
|
||||||
### Developer Handoff
|
### Developer Handoff
|
||||||
|
|
||||||
- [ ] **Immediate Actionability** - Developer can start implementation without additional questions
|
- [ ] **Immediate Actionability** - Developer can start implementation without additional questions
|
||||||
- [ ] **Complete Context** - All necessary context provided within the story
|
- [ ] **Complete Context** - All necessary context provided within the story
|
||||||
- [ ] **Clear Boundaries** - What is and isn't included in the story scope is clear
|
- [ ] **Clear Boundaries** - What is and isn't included in the story scope is clear
|
||||||
@@ -120,6 +135,7 @@
|
|||||||
## Final Validation
|
## Final Validation
|
||||||
|
|
||||||
### Story Readiness
|
### Story Readiness
|
||||||
|
|
||||||
- [ ] **No Ambiguity** - No sections require interpretation or additional design decisions
|
- [ ] **No Ambiguity** - No sections require interpretation or additional design decisions
|
||||||
- [ ] **Technical Completeness** - All technical requirements are specified and actionable
|
- [ ] **Technical Completeness** - All technical requirements are specified and actionable
|
||||||
- [ ] **Scope Appropriateness** - Story scope matches assigned story points
|
- [ ] **Scope Appropriateness** - Story scope matches assigned story points
|
||||||
@@ -127,6 +143,7 @@
|
|||||||
- [ ] **Review Completion** - Story has been reviewed for completeness and accuracy
|
- [ ] **Review Completion** - Story has been reviewed for completeness and accuracy
|
||||||
|
|
||||||
### Implementation Preparedness
|
### Implementation Preparedness
|
||||||
|
|
||||||
- [ ] **Environment Ready** - Development environment requirements specified
|
- [ ] **Environment Ready** - Development environment requirements specified
|
||||||
- [ ] **Resources Available** - All required resources (assets, docs, dependencies) accessible
|
- [ ] **Resources Available** - All required resources (assets, docs, dependencies) accessible
|
||||||
- [ ] **Testing Prepared** - Testing environment and data requirements specified
|
- [ ] **Testing Prepared** - Testing environment and data requirements specified
|
||||||
@@ -140,4 +157,4 @@
|
|||||||
**Ready for Development:** [ ] Yes [ ] No
|
**Ready for Development:** [ ] Yes [ ] No
|
||||||
|
|
||||||
**Additional Notes:**
|
**Additional Notes:**
|
||||||
_Any specific concerns, recommendations, or clarifications needed before development begins._
|
_Any specific concerns, recommendations, or clarifications needed before development begins._
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ This document establishes coding standards, architectural patterns, and developm
|
|||||||
### Strict Mode Configuration
|
### Strict Mode Configuration
|
||||||
|
|
||||||
**Required tsconfig.json settings:**
|
**Required tsconfig.json settings:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
@@ -27,6 +28,7 @@ This document establishes coding standards, architectural patterns, and developm
|
|||||||
### Type Definitions
|
### Type Definitions
|
||||||
|
|
||||||
**Game Object Interfaces:**
|
**Game Object Interfaces:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// Core game entity interface
|
// Core game entity interface
|
||||||
interface GameEntity {
|
interface GameEntity {
|
||||||
@@ -53,6 +55,7 @@ interface GameSystem {
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Scene Data Interfaces:**
|
**Scene Data Interfaces:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// Scene transition data
|
// Scene transition data
|
||||||
interface SceneData {
|
interface SceneData {
|
||||||
@@ -70,7 +73,7 @@ interface GameState {
|
|||||||
interface GameSettings {
|
interface GameSettings {
|
||||||
musicVolume: number;
|
musicVolume: number;
|
||||||
sfxVolume: number;
|
sfxVolume: number;
|
||||||
difficulty: 'easy' | 'normal' | 'hard';
|
difficulty: "easy" | "normal" | "hard";
|
||||||
controls: ControlScheme;
|
controls: ControlScheme;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
@@ -78,20 +81,24 @@ interface GameSettings {
|
|||||||
### Naming Conventions
|
### Naming Conventions
|
||||||
|
|
||||||
**Classes and Interfaces:**
|
**Classes and Interfaces:**
|
||||||
|
|
||||||
- PascalCase for classes: `PlayerSprite`, `GameManager`, `AudioSystem`
|
- PascalCase for classes: `PlayerSprite`, `GameManager`, `AudioSystem`
|
||||||
- PascalCase with 'I' prefix for interfaces: `IGameEntity`, `IPlayerController`
|
- PascalCase with 'I' prefix for interfaces: `IGameEntity`, `IPlayerController`
|
||||||
- Descriptive names that indicate purpose: `CollisionManager` not `CM`
|
- Descriptive names that indicate purpose: `CollisionManager` not `CM`
|
||||||
|
|
||||||
**Methods and Variables:**
|
**Methods and Variables:**
|
||||||
|
|
||||||
- camelCase for methods and variables: `updatePosition()`, `playerSpeed`
|
- camelCase for methods and variables: `updatePosition()`, `playerSpeed`
|
||||||
- Descriptive names: `calculateDamage()` not `calcDmg()`
|
- Descriptive names: `calculateDamage()` not `calcDmg()`
|
||||||
- Boolean variables with is/has/can prefix: `isActive`, `hasCollision`, `canMove`
|
- Boolean variables with is/has/can prefix: `isActive`, `hasCollision`, `canMove`
|
||||||
|
|
||||||
**Constants:**
|
**Constants:**
|
||||||
|
|
||||||
- UPPER_SNAKE_CASE for constants: `MAX_PLAYER_SPEED`, `DEFAULT_VOLUME`
|
- UPPER_SNAKE_CASE for constants: `MAX_PLAYER_SPEED`, `DEFAULT_VOLUME`
|
||||||
- Group related constants in enums or const objects
|
- Group related constants in enums or const objects
|
||||||
|
|
||||||
**Files and Directories:**
|
**Files and Directories:**
|
||||||
|
|
||||||
- kebab-case for file names: `player-controller.ts`, `audio-manager.ts`
|
- kebab-case for file names: `player-controller.ts`, `audio-manager.ts`
|
||||||
- PascalCase for scene files: `MenuScene.ts`, `GameScene.ts`
|
- PascalCase for scene files: `MenuScene.ts`, `GameScene.ts`
|
||||||
|
|
||||||
@@ -100,88 +107,91 @@ interface GameSettings {
|
|||||||
### Scene Organization
|
### Scene Organization
|
||||||
|
|
||||||
**Scene Lifecycle Management:**
|
**Scene Lifecycle Management:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
class GameScene extends Phaser.Scene {
|
class GameScene extends Phaser.Scene {
|
||||||
private gameManager!: GameManager;
|
private gameManager!: GameManager;
|
||||||
private inputManager!: InputManager;
|
private inputManager!: InputManager;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
super({ key: 'GameScene' });
|
super({ key: "GameScene" });
|
||||||
}
|
}
|
||||||
|
|
||||||
preload(): void {
|
preload(): void {
|
||||||
// Load only scene-specific assets
|
// Load only scene-specific assets
|
||||||
this.load.image('player', 'assets/player.png');
|
this.load.image("player", "assets/player.png");
|
||||||
}
|
}
|
||||||
|
|
||||||
create(data: SceneData): void {
|
create(data: SceneData): void {
|
||||||
// Initialize game systems
|
// Initialize game systems
|
||||||
this.gameManager = new GameManager(this);
|
this.gameManager = new GameManager(this);
|
||||||
this.inputManager = new InputManager(this);
|
this.inputManager = new InputManager(this);
|
||||||
|
|
||||||
// Set up scene-specific logic
|
// Set up scene-specific logic
|
||||||
this.setupGameObjects();
|
this.setupGameObjects();
|
||||||
this.setupEventListeners();
|
this.setupEventListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
update(time: number, delta: number): void {
|
update(time: number, delta: number): void {
|
||||||
// Update all game systems
|
// Update all game systems
|
||||||
this.gameManager.update(delta);
|
this.gameManager.update(delta);
|
||||||
this.inputManager.update(delta);
|
this.inputManager.update(delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
shutdown(): void {
|
shutdown(): void {
|
||||||
// Clean up resources
|
// Clean up resources
|
||||||
this.gameManager.destroy();
|
this.gameManager.destroy();
|
||||||
this.inputManager.destroy();
|
this.inputManager.destroy();
|
||||||
|
|
||||||
// Remove event listeners
|
// Remove event listeners
|
||||||
this.events.off('*');
|
this.events.off("*");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
**Scene Transitions:**
|
**Scene Transitions:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// Proper scene transitions with data
|
// Proper scene transitions with data
|
||||||
this.scene.start('NextScene', {
|
this.scene.start("NextScene", {
|
||||||
playerScore: this.playerScore,
|
playerScore: this.playerScore,
|
||||||
currentLevel: this.currentLevel + 1
|
currentLevel: this.currentLevel + 1,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Scene overlays for UI
|
// Scene overlays for UI
|
||||||
this.scene.launch('PauseMenuScene');
|
this.scene.launch("PauseMenuScene");
|
||||||
this.scene.pause();
|
this.scene.pause();
|
||||||
```
|
```
|
||||||
|
|
||||||
### Game Object Patterns
|
### Game Object Patterns
|
||||||
|
|
||||||
**Component-Based Architecture:**
|
**Component-Based Architecture:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// Base game entity
|
// Base game entity
|
||||||
abstract class GameEntity extends Phaser.GameObjects.Sprite {
|
abstract class GameEntity extends Phaser.GameObjects.Sprite {
|
||||||
protected components: Map<string, GameComponent> = new Map();
|
protected components: Map<string, GameComponent> = new Map();
|
||||||
|
|
||||||
constructor(scene: Phaser.Scene, x: number, y: number, texture: string) {
|
constructor(scene: Phaser.Scene, x: number, y: number, texture: string) {
|
||||||
super(scene, x, y, texture);
|
super(scene, x, y, texture);
|
||||||
scene.add.existing(this);
|
scene.add.existing(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
addComponent<T extends GameComponent>(component: T): T {
|
addComponent<T extends GameComponent>(component: T): T {
|
||||||
this.components.set(component.name, component);
|
this.components.set(component.name, component);
|
||||||
return component;
|
return component;
|
||||||
}
|
}
|
||||||
|
|
||||||
getComponent<T extends GameComponent>(name: string): T | undefined {
|
getComponent<T extends GameComponent>(name: string): T | undefined {
|
||||||
return this.components.get(name) as T;
|
return this.components.get(name) as T;
|
||||||
}
|
}
|
||||||
|
|
||||||
update(delta: number): void {
|
update(delta: number): void {
|
||||||
this.components.forEach(component => component.update(delta));
|
this.components.forEach((component) => component.update(delta));
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy(): void {
|
destroy(): void {
|
||||||
this.components.forEach(component => component.destroy());
|
this.components.forEach((component) => component.destroy());
|
||||||
this.components.clear();
|
this.components.clear();
|
||||||
super.destroy();
|
super.destroy();
|
||||||
}
|
}
|
||||||
@@ -191,10 +201,10 @@ abstract class GameEntity extends Phaser.GameObjects.Sprite {
|
|||||||
class Player extends GameEntity {
|
class Player extends GameEntity {
|
||||||
private movement!: MovementComponent;
|
private movement!: MovementComponent;
|
||||||
private health!: HealthComponent;
|
private health!: HealthComponent;
|
||||||
|
|
||||||
constructor(scene: Phaser.Scene, x: number, y: number) {
|
constructor(scene: Phaser.Scene, x: number, y: number) {
|
||||||
super(scene, x, y, 'player');
|
super(scene, x, y, "player");
|
||||||
|
|
||||||
this.movement = this.addComponent(new MovementComponent(this));
|
this.movement = this.addComponent(new MovementComponent(this));
|
||||||
this.health = this.addComponent(new HealthComponent(this, 100));
|
this.health = this.addComponent(new HealthComponent(this, 100));
|
||||||
}
|
}
|
||||||
@@ -204,33 +214,34 @@ class Player extends GameEntity {
|
|||||||
### System Management
|
### System Management
|
||||||
|
|
||||||
**Singleton Managers:**
|
**Singleton Managers:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
class GameManager {
|
class GameManager {
|
||||||
private static instance: GameManager;
|
private static instance: GameManager;
|
||||||
private scene: Phaser.Scene;
|
private scene: Phaser.Scene;
|
||||||
private gameState: GameState;
|
private gameState: GameState;
|
||||||
|
|
||||||
constructor(scene: Phaser.Scene) {
|
constructor(scene: Phaser.Scene) {
|
||||||
if (GameManager.instance) {
|
if (GameManager.instance) {
|
||||||
throw new Error('GameManager already exists!');
|
throw new Error("GameManager already exists!");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.scene = scene;
|
this.scene = scene;
|
||||||
this.gameState = this.loadGameState();
|
this.gameState = this.loadGameState();
|
||||||
GameManager.instance = this;
|
GameManager.instance = this;
|
||||||
}
|
}
|
||||||
|
|
||||||
static getInstance(): GameManager {
|
static getInstance(): GameManager {
|
||||||
if (!GameManager.instance) {
|
if (!GameManager.instance) {
|
||||||
throw new Error('GameManager not initialized!');
|
throw new Error("GameManager not initialized!");
|
||||||
}
|
}
|
||||||
return GameManager.instance;
|
return GameManager.instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
update(delta: number): void {
|
update(delta: number): void {
|
||||||
// Update game logic
|
// Update game logic
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy(): void {
|
destroy(): void {
|
||||||
GameManager.instance = null!;
|
GameManager.instance = null!;
|
||||||
}
|
}
|
||||||
@@ -242,14 +253,15 @@ class GameManager {
|
|||||||
### Object Pooling
|
### Object Pooling
|
||||||
|
|
||||||
**Required for High-Frequency Objects:**
|
**Required for High-Frequency Objects:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
class BulletPool {
|
class BulletPool {
|
||||||
private pool: Bullet[] = [];
|
private pool: Bullet[] = [];
|
||||||
private scene: Phaser.Scene;
|
private scene: Phaser.Scene;
|
||||||
|
|
||||||
constructor(scene: Phaser.Scene, initialSize: number = 50) {
|
constructor(scene: Phaser.Scene, initialSize: number = 50) {
|
||||||
this.scene = scene;
|
this.scene = scene;
|
||||||
|
|
||||||
// Pre-create bullets
|
// Pre-create bullets
|
||||||
for (let i = 0; i < initialSize; i++) {
|
for (let i = 0; i < initialSize; i++) {
|
||||||
const bullet = new Bullet(scene, 0, 0);
|
const bullet = new Bullet(scene, 0, 0);
|
||||||
@@ -258,20 +270,20 @@ class BulletPool {
|
|||||||
this.pool.push(bullet);
|
this.pool.push(bullet);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getBullet(): Bullet | null {
|
getBullet(): Bullet | null {
|
||||||
const bullet = this.pool.find(b => !b.active);
|
const bullet = this.pool.find((b) => !b.active);
|
||||||
if (bullet) {
|
if (bullet) {
|
||||||
bullet.setActive(true);
|
bullet.setActive(true);
|
||||||
bullet.setVisible(true);
|
bullet.setVisible(true);
|
||||||
return bullet;
|
return bullet;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pool exhausted - create new bullet
|
// Pool exhausted - create new bullet
|
||||||
console.warn('Bullet pool exhausted, creating new bullet');
|
console.warn("Bullet pool exhausted, creating new bullet");
|
||||||
return new Bullet(this.scene, 0, 0);
|
return new Bullet(this.scene, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
releaseBullet(bullet: Bullet): void {
|
releaseBullet(bullet: Bullet): void {
|
||||||
bullet.setActive(false);
|
bullet.setActive(false);
|
||||||
bullet.setVisible(false);
|
bullet.setVisible(false);
|
||||||
@@ -283,27 +295,28 @@ class BulletPool {
|
|||||||
### Frame Rate Optimization
|
### Frame Rate Optimization
|
||||||
|
|
||||||
**Performance Monitoring:**
|
**Performance Monitoring:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
class PerformanceMonitor {
|
class PerformanceMonitor {
|
||||||
private frameCount: number = 0;
|
private frameCount: number = 0;
|
||||||
private lastTime: number = 0;
|
private lastTime: number = 0;
|
||||||
private frameRate: number = 60;
|
private frameRate: number = 60;
|
||||||
|
|
||||||
update(time: number): void {
|
update(time: number): void {
|
||||||
this.frameCount++;
|
this.frameCount++;
|
||||||
|
|
||||||
if (time - this.lastTime >= 1000) {
|
if (time - this.lastTime >= 1000) {
|
||||||
this.frameRate = this.frameCount;
|
this.frameRate = this.frameCount;
|
||||||
this.frameCount = 0;
|
this.frameCount = 0;
|
||||||
this.lastTime = time;
|
this.lastTime = time;
|
||||||
|
|
||||||
if (this.frameRate < 55) {
|
if (this.frameRate < 55) {
|
||||||
console.warn(`Low frame rate detected: ${this.frameRate} FPS`);
|
console.warn(`Low frame rate detected: ${this.frameRate} FPS`);
|
||||||
this.optimizePerformance();
|
this.optimizePerformance();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private optimizePerformance(): void {
|
private optimizePerformance(): void {
|
||||||
// Reduce particle counts, disable effects, etc.
|
// Reduce particle counts, disable effects, etc.
|
||||||
}
|
}
|
||||||
@@ -311,17 +324,18 @@ class PerformanceMonitor {
|
|||||||
```
|
```
|
||||||
|
|
||||||
**Update Loop Optimization:**
|
**Update Loop Optimization:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// Avoid expensive operations in update loops
|
// Avoid expensive operations in update loops
|
||||||
class GameScene extends Phaser.Scene {
|
class GameScene extends Phaser.Scene {
|
||||||
private updateTimer: number = 0;
|
private updateTimer: number = 0;
|
||||||
private readonly UPDATE_INTERVAL = 100; // ms
|
private readonly UPDATE_INTERVAL = 100; // ms
|
||||||
|
|
||||||
update(time: number, delta: number): void {
|
update(time: number, delta: number): void {
|
||||||
// High-frequency updates (every frame)
|
// High-frequency updates (every frame)
|
||||||
this.updatePlayer(delta);
|
this.updatePlayer(delta);
|
||||||
this.updatePhysics(delta);
|
this.updatePhysics(delta);
|
||||||
|
|
||||||
// Low-frequency updates (10 times per second)
|
// Low-frequency updates (10 times per second)
|
||||||
this.updateTimer += delta;
|
this.updateTimer += delta;
|
||||||
if (this.updateTimer >= this.UPDATE_INTERVAL) {
|
if (this.updateTimer >= this.UPDATE_INTERVAL) {
|
||||||
@@ -338,6 +352,7 @@ class GameScene extends Phaser.Scene {
|
|||||||
### Cross-Platform Input
|
### Cross-Platform Input
|
||||||
|
|
||||||
**Input Abstraction:**
|
**Input Abstraction:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
interface InputState {
|
interface InputState {
|
||||||
moveLeft: boolean;
|
moveLeft: boolean;
|
||||||
@@ -353,26 +368,26 @@ class InputManager {
|
|||||||
moveRight: false,
|
moveRight: false,
|
||||||
jump: false,
|
jump: false,
|
||||||
action: false,
|
action: false,
|
||||||
pause: false
|
pause: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
private keys!: { [key: string]: Phaser.Input.Keyboard.Key };
|
private keys!: { [key: string]: Phaser.Input.Keyboard.Key };
|
||||||
private pointer!: Phaser.Input.Pointer;
|
private pointer!: Phaser.Input.Pointer;
|
||||||
|
|
||||||
constructor(private scene: Phaser.Scene) {
|
constructor(private scene: Phaser.Scene) {
|
||||||
this.setupKeyboard();
|
this.setupKeyboard();
|
||||||
this.setupTouch();
|
this.setupTouch();
|
||||||
}
|
}
|
||||||
|
|
||||||
private setupKeyboard(): void {
|
private setupKeyboard(): void {
|
||||||
this.keys = this.scene.input.keyboard.addKeys('W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT');
|
this.keys = this.scene.input.keyboard.addKeys("W,A,S,D,SPACE,ESC,UP,DOWN,LEFT,RIGHT");
|
||||||
}
|
}
|
||||||
|
|
||||||
private setupTouch(): void {
|
private setupTouch(): void {
|
||||||
this.scene.input.on('pointerdown', this.handlePointerDown, this);
|
this.scene.input.on("pointerdown", this.handlePointerDown, this);
|
||||||
this.scene.input.on('pointerup', this.handlePointerUp, this);
|
this.scene.input.on("pointerup", this.handlePointerUp, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
update(): void {
|
update(): void {
|
||||||
// Update input state from multiple sources
|
// Update input state from multiple sources
|
||||||
this.inputState.moveLeft = this.keys.A.isDown || this.keys.LEFT.isDown;
|
this.inputState.moveLeft = this.keys.A.isDown || this.keys.LEFT.isDown;
|
||||||
@@ -380,7 +395,7 @@ class InputManager {
|
|||||||
this.inputState.jump = Phaser.Input.Keyboard.JustDown(this.keys.SPACE);
|
this.inputState.jump = Phaser.Input.Keyboard.JustDown(this.keys.SPACE);
|
||||||
// ... handle touch input
|
// ... handle touch input
|
||||||
}
|
}
|
||||||
|
|
||||||
getInputState(): InputState {
|
getInputState(): InputState {
|
||||||
return { ...this.inputState };
|
return { ...this.inputState };
|
||||||
}
|
}
|
||||||
@@ -392,30 +407,31 @@ class InputManager {
|
|||||||
### Graceful Degradation
|
### Graceful Degradation
|
||||||
|
|
||||||
**Asset Loading Error Handling:**
|
**Asset Loading Error Handling:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
class AssetManager {
|
class AssetManager {
|
||||||
loadAssets(): Promise<void> {
|
loadAssets(): Promise<void> {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
this.scene.load.on('filecomplete', this.handleFileComplete, this);
|
this.scene.load.on("filecomplete", this.handleFileComplete, this);
|
||||||
this.scene.load.on('loaderror', this.handleLoadError, this);
|
this.scene.load.on("loaderror", this.handleLoadError, this);
|
||||||
this.scene.load.on('complete', () => resolve());
|
this.scene.load.on("complete", () => resolve());
|
||||||
|
|
||||||
this.scene.load.start();
|
this.scene.load.start();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private handleLoadError(file: Phaser.Loader.File): void {
|
private handleLoadError(file: Phaser.Loader.File): void {
|
||||||
console.error(`Failed to load asset: ${file.key}`);
|
console.error(`Failed to load asset: ${file.key}`);
|
||||||
|
|
||||||
// Use fallback assets
|
// Use fallback assets
|
||||||
this.loadFallbackAsset(file.key);
|
this.loadFallbackAsset(file.key);
|
||||||
}
|
}
|
||||||
|
|
||||||
private loadFallbackAsset(key: string): void {
|
private loadFallbackAsset(key: string): void {
|
||||||
// Load placeholder or default assets
|
// Load placeholder or default assets
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case 'player':
|
case "player":
|
||||||
this.scene.load.image('player', 'assets/defaults/default-player.png');
|
this.scene.load.image("player", "assets/defaults/default-player.png");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
console.warn(`No fallback for asset: ${key}`);
|
console.warn(`No fallback for asset: ${key}`);
|
||||||
@@ -427,25 +443,26 @@ class AssetManager {
|
|||||||
### Runtime Error Recovery
|
### Runtime Error Recovery
|
||||||
|
|
||||||
**System Error Handling:**
|
**System Error Handling:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
class GameSystem {
|
class GameSystem {
|
||||||
protected handleError(error: Error, context: string): void {
|
protected handleError(error: Error, context: string): void {
|
||||||
console.error(`Error in ${context}:`, error);
|
console.error(`Error in ${context}:`, error);
|
||||||
|
|
||||||
// Report to analytics/logging service
|
// Report to analytics/logging service
|
||||||
this.reportError(error, context);
|
this.reportError(error, context);
|
||||||
|
|
||||||
// Attempt recovery
|
// Attempt recovery
|
||||||
this.attemptRecovery(context);
|
this.attemptRecovery(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
private attemptRecovery(context: string): void {
|
private attemptRecovery(context: string): void {
|
||||||
switch (context) {
|
switch (context) {
|
||||||
case 'update':
|
case "update":
|
||||||
// Reset system state
|
// Reset system state
|
||||||
this.reset();
|
this.reset();
|
||||||
break;
|
break;
|
||||||
case 'render':
|
case "render":
|
||||||
// Disable visual effects
|
// Disable visual effects
|
||||||
this.disableEffects();
|
this.disableEffects();
|
||||||
break;
|
break;
|
||||||
@@ -462,28 +479,29 @@ class GameSystem {
|
|||||||
### Unit Testing
|
### Unit Testing
|
||||||
|
|
||||||
**Game Logic Testing:**
|
**Game Logic Testing:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// Example test for game mechanics
|
// Example test for game mechanics
|
||||||
describe('HealthComponent', () => {
|
describe("HealthComponent", () => {
|
||||||
let healthComponent: HealthComponent;
|
let healthComponent: HealthComponent;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
const mockEntity = {} as GameEntity;
|
const mockEntity = {} as GameEntity;
|
||||||
healthComponent = new HealthComponent(mockEntity, 100);
|
healthComponent = new HealthComponent(mockEntity, 100);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should initialize with correct health', () => {
|
test("should initialize with correct health", () => {
|
||||||
expect(healthComponent.currentHealth).toBe(100);
|
expect(healthComponent.currentHealth).toBe(100);
|
||||||
expect(healthComponent.maxHealth).toBe(100);
|
expect(healthComponent.maxHealth).toBe(100);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should handle damage correctly', () => {
|
test("should handle damage correctly", () => {
|
||||||
healthComponent.takeDamage(25);
|
healthComponent.takeDamage(25);
|
||||||
expect(healthComponent.currentHealth).toBe(75);
|
expect(healthComponent.currentHealth).toBe(75);
|
||||||
expect(healthComponent.isAlive()).toBe(true);
|
expect(healthComponent.isAlive()).toBe(true);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should handle death correctly', () => {
|
test("should handle death correctly", () => {
|
||||||
healthComponent.takeDamage(150);
|
healthComponent.takeDamage(150);
|
||||||
expect(healthComponent.currentHealth).toBe(0);
|
expect(healthComponent.currentHealth).toBe(0);
|
||||||
expect(healthComponent.isAlive()).toBe(false);
|
expect(healthComponent.isAlive()).toBe(false);
|
||||||
@@ -494,20 +512,21 @@ describe('HealthComponent', () => {
|
|||||||
### Integration Testing
|
### Integration Testing
|
||||||
|
|
||||||
**Scene Testing:**
|
**Scene Testing:**
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
describe('GameScene Integration', () => {
|
describe("GameScene Integration", () => {
|
||||||
let scene: GameScene;
|
let scene: GameScene;
|
||||||
let mockGame: Phaser.Game;
|
let mockGame: Phaser.Game;
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
// Mock Phaser game instance
|
// Mock Phaser game instance
|
||||||
mockGame = createMockGame();
|
mockGame = createMockGame();
|
||||||
scene = new GameScene();
|
scene = new GameScene();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should initialize all systems', () => {
|
test("should initialize all systems", () => {
|
||||||
scene.create({});
|
scene.create({});
|
||||||
|
|
||||||
expect(scene.gameManager).toBeDefined();
|
expect(scene.gameManager).toBeDefined();
|
||||||
expect(scene.inputManager).toBeDefined();
|
expect(scene.inputManager).toBeDefined();
|
||||||
});
|
});
|
||||||
@@ -566,21 +585,25 @@ src/
|
|||||||
### Story Implementation Process
|
### Story Implementation Process
|
||||||
|
|
||||||
1. **Read Story Requirements:**
|
1. **Read Story Requirements:**
|
||||||
|
|
||||||
- Understand acceptance criteria
|
- Understand acceptance criteria
|
||||||
- Identify technical requirements
|
- Identify technical requirements
|
||||||
- Review performance constraints
|
- Review performance constraints
|
||||||
|
|
||||||
2. **Plan Implementation:**
|
2. **Plan Implementation:**
|
||||||
|
|
||||||
- Identify files to create/modify
|
- Identify files to create/modify
|
||||||
- Consider component architecture
|
- Consider component architecture
|
||||||
- Plan testing approach
|
- Plan testing approach
|
||||||
|
|
||||||
3. **Implement Feature:**
|
3. **Implement Feature:**
|
||||||
|
|
||||||
- Follow TypeScript strict mode
|
- Follow TypeScript strict mode
|
||||||
- Use established patterns
|
- Use established patterns
|
||||||
- Maintain 60 FPS performance
|
- Maintain 60 FPS performance
|
||||||
|
|
||||||
4. **Test Implementation:**
|
4. **Test Implementation:**
|
||||||
|
|
||||||
- Write unit tests for game logic
|
- Write unit tests for game logic
|
||||||
- Test cross-platform functionality
|
- Test cross-platform functionality
|
||||||
- Validate performance targets
|
- Validate performance targets
|
||||||
@@ -593,6 +616,7 @@ src/
|
|||||||
### Code Review Checklist
|
### Code Review Checklist
|
||||||
|
|
||||||
**Before Committing:**
|
**Before Committing:**
|
||||||
|
|
||||||
- [ ] TypeScript compiles without errors
|
- [ ] TypeScript compiles without errors
|
||||||
- [ ] All tests pass
|
- [ ] All tests pass
|
||||||
- [ ] Performance targets met (60 FPS)
|
- [ ] Performance targets met (60 FPS)
|
||||||
@@ -606,19 +630,22 @@ src/
|
|||||||
## Performance Targets
|
## Performance Targets
|
||||||
|
|
||||||
### Frame Rate Requirements
|
### Frame Rate Requirements
|
||||||
|
|
||||||
- **Desktop**: Maintain 60 FPS at 1080p
|
- **Desktop**: Maintain 60 FPS at 1080p
|
||||||
- **Mobile**: Maintain 60 FPS on mid-range devices, minimum 30 FPS on low-end
|
- **Mobile**: Maintain 60 FPS on mid-range devices, minimum 30 FPS on low-end
|
||||||
- **Optimization**: Implement dynamic quality scaling when performance drops
|
- **Optimization**: Implement dynamic quality scaling when performance drops
|
||||||
|
|
||||||
### Memory Management
|
### Memory Management
|
||||||
|
|
||||||
- **Total Memory**: Under 100MB for full game
|
- **Total Memory**: Under 100MB for full game
|
||||||
- **Per Scene**: Under 50MB per gameplay scene
|
- **Per Scene**: Under 50MB per gameplay scene
|
||||||
- **Asset Loading**: Progressive loading to stay under limits
|
- **Asset Loading**: Progressive loading to stay under limits
|
||||||
- **Garbage Collection**: Minimize object creation in update loops
|
- **Garbage Collection**: Minimize object creation in update loops
|
||||||
|
|
||||||
### Loading Performance
|
### Loading Performance
|
||||||
|
|
||||||
- **Initial Load**: Under 5 seconds for game start
|
- **Initial Load**: Under 5 seconds for game start
|
||||||
- **Scene Transitions**: Under 2 seconds between scenes
|
- **Scene Transitions**: Under 2 seconds between scenes
|
||||||
- **Asset Streaming**: Background loading for upcoming content
|
- **Asset Streaming**: Background loading for upcoming content
|
||||||
|
|
||||||
These guidelines ensure consistent, high-quality game development that meets performance targets and maintains code quality across all implementation stories.
|
These guidelines ensure consistent, high-quality game development that meets performance targets and maintains code quality across all implementation stories.
|
||||||
|
|||||||
@@ -103,8 +103,9 @@ This elicitation task is specifically designed for game development and should b
|
|||||||
- **Platform Considerations**: When adapting designs for different devices and input methods
|
- **Platform Considerations**: When adapting designs for different devices and input methods
|
||||||
|
|
||||||
The questions and perspectives offered should always consider:
|
The questions and perspectives offered should always consider:
|
||||||
|
|
||||||
- Player psychology and motivation
|
- Player psychology and motivation
|
||||||
- Technical feasibility with Phaser 3 and TypeScript
|
- Technical feasibility with Phaser 3 and TypeScript
|
||||||
- Performance implications for 60 FPS targets
|
- Performance implications for 60 FPS targets
|
||||||
- Cross-platform compatibility (desktop and mobile)
|
- Cross-platform compatibility (desktop and mobile)
|
||||||
- Game development best practices and common pitfalls
|
- Game development best practices and common pitfalls
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ Create detailed, actionable game development stories that enable AI developers t
|
|||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
Before creating stories, ensure you have:
|
Before creating stories, ensure you have:
|
||||||
|
|
||||||
- Completed Game Design Document (GDD)
|
- Completed Game Design Document (GDD)
|
||||||
- Game Architecture Document
|
- Game Architecture Document
|
||||||
- Epic definition this story belongs to
|
- Epic definition this story belongs to
|
||||||
@@ -24,12 +25,14 @@ Before creating stories, ensure you have:
|
|||||||
### 1. Story Identification
|
### 1. Story Identification
|
||||||
|
|
||||||
**Review Epic Context:**
|
**Review Epic Context:**
|
||||||
|
|
||||||
- Understand the epic's overall goal
|
- Understand the epic's overall goal
|
||||||
- Identify specific features that need implementation
|
- Identify specific features that need implementation
|
||||||
- Review any existing stories in the epic
|
- Review any existing stories in the epic
|
||||||
- Ensure no duplicate work
|
- Ensure no duplicate work
|
||||||
|
|
||||||
**Feature Analysis:**
|
**Feature Analysis:**
|
||||||
|
|
||||||
- Reference specific GDD sections
|
- Reference specific GDD sections
|
||||||
- Understand player experience goals
|
- Understand player experience goals
|
||||||
- Identify technical complexity
|
- Identify technical complexity
|
||||||
@@ -38,12 +41,14 @@ Before creating stories, ensure you have:
|
|||||||
### 2. Story Scoping
|
### 2. Story Scoping
|
||||||
|
|
||||||
**Single Responsibility:**
|
**Single Responsibility:**
|
||||||
|
|
||||||
- Focus on one specific game feature
|
- Focus on one specific game feature
|
||||||
- Ensure story is completable in 1-3 days
|
- Ensure story is completable in 1-3 days
|
||||||
- Break down complex features into multiple stories
|
- Break down complex features into multiple stories
|
||||||
- Maintain clear boundaries with other stories
|
- Maintain clear boundaries with other stories
|
||||||
|
|
||||||
**Implementation Clarity:**
|
**Implementation Clarity:**
|
||||||
|
|
||||||
- Define exactly what needs to be built
|
- Define exactly what needs to be built
|
||||||
- Specify all technical requirements
|
- Specify all technical requirements
|
||||||
- Include all necessary integration points
|
- Include all necessary integration points
|
||||||
@@ -55,6 +60,7 @@ Before creating stories, ensure you have:
|
|||||||
Use `templates#game-story-tmpl` following all embedded LLM instructions
|
Use `templates#game-story-tmpl` following all embedded LLM instructions
|
||||||
|
|
||||||
**Key Focus Areas:**
|
**Key Focus Areas:**
|
||||||
|
|
||||||
- Clear, actionable description
|
- Clear, actionable description
|
||||||
- Specific acceptance criteria
|
- Specific acceptance criteria
|
||||||
- Detailed technical specifications
|
- Detailed technical specifications
|
||||||
@@ -64,18 +70,21 @@ Use `templates#game-story-tmpl` following all embedded LLM instructions
|
|||||||
### 4. Story Validation
|
### 4. Story Validation
|
||||||
|
|
||||||
**Technical Review:**
|
**Technical Review:**
|
||||||
|
|
||||||
- Verify all technical specifications are complete
|
- Verify all technical specifications are complete
|
||||||
- Ensure integration points are clearly defined
|
- Ensure integration points are clearly defined
|
||||||
- Confirm file paths match architecture
|
- Confirm file paths match architecture
|
||||||
- Validate TypeScript interfaces and classes
|
- Validate TypeScript interfaces and classes
|
||||||
|
|
||||||
**Game Design Alignment:**
|
**Game Design Alignment:**
|
||||||
|
|
||||||
- Confirm story implements GDD requirements
|
- Confirm story implements GDD requirements
|
||||||
- Verify player experience goals are met
|
- Verify player experience goals are met
|
||||||
- Check balance parameters are included
|
- Check balance parameters are included
|
||||||
- Ensure game mechanics are correctly interpreted
|
- Ensure game mechanics are correctly interpreted
|
||||||
|
|
||||||
**Implementation Readiness:**
|
**Implementation Readiness:**
|
||||||
|
|
||||||
- All dependencies identified
|
- All dependencies identified
|
||||||
- Assets requirements specified
|
- Assets requirements specified
|
||||||
- Testing criteria defined
|
- Testing criteria defined
|
||||||
@@ -87,6 +96,7 @@ Use `templates#game-story-tmpl` following all embedded LLM instructions
|
|||||||
Execute `checklists#game-story-dod-checklist` against completed story
|
Execute `checklists#game-story-dod-checklist` against completed story
|
||||||
|
|
||||||
**Story Criteria:**
|
**Story Criteria:**
|
||||||
|
|
||||||
- Story is immediately actionable
|
- Story is immediately actionable
|
||||||
- No design decisions left to developer
|
- No design decisions left to developer
|
||||||
- Technical requirements are complete
|
- Technical requirements are complete
|
||||||
@@ -96,12 +106,14 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
|||||||
### 6. Story Refinement
|
### 6. Story Refinement
|
||||||
|
|
||||||
**Developer Perspective:**
|
**Developer Perspective:**
|
||||||
|
|
||||||
- Can a developer start implementation immediately?
|
- Can a developer start implementation immediately?
|
||||||
- Are all technical questions answered?
|
- Are all technical questions answered?
|
||||||
- Is the scope appropriate for the estimated points?
|
- Is the scope appropriate for the estimated points?
|
||||||
- Are all dependencies clearly identified?
|
- Are all dependencies clearly identified?
|
||||||
|
|
||||||
**Iterative Improvement:**
|
**Iterative Improvement:**
|
||||||
|
|
||||||
- Address any gaps or ambiguities
|
- Address any gaps or ambiguities
|
||||||
- Clarify complex technical requirements
|
- Clarify complex technical requirements
|
||||||
- Ensure story fits within epic scope
|
- Ensure story fits within epic scope
|
||||||
@@ -110,6 +122,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
|||||||
## Story Elements Checklist
|
## Story Elements Checklist
|
||||||
|
|
||||||
### Required Sections
|
### Required Sections
|
||||||
|
|
||||||
- [ ] Clear, specific description
|
- [ ] Clear, specific description
|
||||||
- [ ] Complete acceptance criteria (functional, technical, game design)
|
- [ ] Complete acceptance criteria (functional, technical, game design)
|
||||||
- [ ] Detailed technical specifications
|
- [ ] Detailed technical specifications
|
||||||
@@ -123,6 +136,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
|||||||
- [ ] Definition of Done checklist
|
- [ ] Definition of Done checklist
|
||||||
|
|
||||||
### Game-Specific Requirements
|
### Game-Specific Requirements
|
||||||
|
|
||||||
- [ ] GDD section references
|
- [ ] GDD section references
|
||||||
- [ ] Game mechanic implementation details
|
- [ ] Game mechanic implementation details
|
||||||
- [ ] Player experience goals
|
- [ ] Player experience goals
|
||||||
@@ -132,6 +146,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
|||||||
- [ ] Cross-platform considerations
|
- [ ] Cross-platform considerations
|
||||||
|
|
||||||
### Technical Quality
|
### Technical Quality
|
||||||
|
|
||||||
- [ ] TypeScript strict mode compliance
|
- [ ] TypeScript strict mode compliance
|
||||||
- [ ] Architecture document alignment
|
- [ ] Architecture document alignment
|
||||||
- [ ] Code organization follows standards
|
- [ ] Code organization follows standards
|
||||||
@@ -142,18 +157,21 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
|||||||
## Common Pitfalls
|
## Common Pitfalls
|
||||||
|
|
||||||
**Scope Issues:**
|
**Scope Issues:**
|
||||||
|
|
||||||
- Story too large (break into multiple stories)
|
- Story too large (break into multiple stories)
|
||||||
- Story too vague (add specific requirements)
|
- Story too vague (add specific requirements)
|
||||||
- Missing dependencies (identify all prerequisites)
|
- Missing dependencies (identify all prerequisites)
|
||||||
- Unclear boundaries (define what's in/out of scope)
|
- Unclear boundaries (define what's in/out of scope)
|
||||||
|
|
||||||
**Technical Issues:**
|
**Technical Issues:**
|
||||||
|
|
||||||
- Missing integration details
|
- Missing integration details
|
||||||
- Incomplete technical specifications
|
- Incomplete technical specifications
|
||||||
- Undefined interfaces or classes
|
- Undefined interfaces or classes
|
||||||
- Missing performance requirements
|
- Missing performance requirements
|
||||||
|
|
||||||
**Game Design Issues:**
|
**Game Design Issues:**
|
||||||
|
|
||||||
- Not referencing GDD properly
|
- Not referencing GDD properly
|
||||||
- Missing player experience context
|
- Missing player experience context
|
||||||
- Unclear game mechanic implementation
|
- Unclear game mechanic implementation
|
||||||
@@ -162,6 +180,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
|||||||
## Success Criteria
|
## Success Criteria
|
||||||
|
|
||||||
**Story Readiness:**
|
**Story Readiness:**
|
||||||
|
|
||||||
- [ ] Developer can start implementation immediately
|
- [ ] Developer can start implementation immediately
|
||||||
- [ ] No additional design decisions required
|
- [ ] No additional design decisions required
|
||||||
- [ ] All technical questions answered
|
- [ ] All technical questions answered
|
||||||
@@ -170,6 +189,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
|||||||
- [ ] Story fits within epic scope
|
- [ ] Story fits within epic scope
|
||||||
|
|
||||||
**Quality Validation:**
|
**Quality Validation:**
|
||||||
|
|
||||||
- [ ] Game story DOD checklist passes
|
- [ ] Game story DOD checklist passes
|
||||||
- [ ] Architecture alignment confirmed
|
- [ ] Architecture alignment confirmed
|
||||||
- [ ] GDD requirements covered
|
- [ ] GDD requirements covered
|
||||||
@@ -179,6 +199,7 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
|||||||
## Handoff Protocol
|
## Handoff Protocol
|
||||||
|
|
||||||
**To Game Developer:**
|
**To Game Developer:**
|
||||||
|
|
||||||
1. Provide story document
|
1. Provide story document
|
||||||
2. Confirm GDD and architecture access
|
2. Confirm GDD and architecture access
|
||||||
3. Verify all dependencies are met
|
3. Verify all dependencies are met
|
||||||
@@ -186,9 +207,10 @@ Execute `checklists#game-story-dod-checklist` against completed story
|
|||||||
5. Establish check-in schedule
|
5. Establish check-in schedule
|
||||||
|
|
||||||
**Story Status Updates:**
|
**Story Status Updates:**
|
||||||
|
|
||||||
- Draft → Ready for Development
|
- Draft → Ready for Development
|
||||||
- In Development → Code Review
|
- In Development → Code Review
|
||||||
- Code Review → Testing
|
- Code Review → Testing
|
||||||
- Testing → Done
|
- Testing → Done
|
||||||
|
|
||||||
This task ensures game development stories are immediately actionable and enable efficient AI-driven development of game features.
|
This task ensures game development stories are immediately actionable and enable efficient AI-driven development of game features.
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|||||||
[[LLM: Begin by understanding the game design context and goals. Ask clarifying questions if needed to determine the best approach for game-specific ideation.]]
|
[[LLM: Begin by understanding the game design context and goals. Ask clarifying questions if needed to determine the best approach for game-specific ideation.]]
|
||||||
|
|
||||||
1. **Establish Game Context**
|
1. **Establish Game Context**
|
||||||
|
|
||||||
- Understand the game genre or opportunity area
|
- Understand the game genre or opportunity area
|
||||||
- Identify target audience and platform constraints
|
- Identify target audience and platform constraints
|
||||||
- Determine session goals (concept exploration vs. mechanic refinement)
|
- Determine session goals (concept exploration vs. mechanic refinement)
|
||||||
@@ -164,26 +165,31 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|||||||
[[LLM: Help user select appropriate techniques based on their specific game design needs.]]
|
[[LLM: Help user select appropriate techniques based on their specific game design needs.]]
|
||||||
|
|
||||||
**For Initial Game Concepts:**
|
**For Initial Game Concepts:**
|
||||||
|
|
||||||
- What If Game Scenarios
|
- What If Game Scenarios
|
||||||
- Cross-Genre Fusion
|
- Cross-Genre Fusion
|
||||||
- Emotion-First Design
|
- Emotion-First Design
|
||||||
|
|
||||||
**For Stuck/Blocked Creativity:**
|
**For Stuck/Blocked Creativity:**
|
||||||
|
|
||||||
- Player Motivation Reversal
|
- Player Motivation Reversal
|
||||||
- Constraint-Based Creativity
|
- Constraint-Based Creativity
|
||||||
- Genre Expectation Subversion
|
- Genre Expectation Subversion
|
||||||
|
|
||||||
**For Mechanic Development:**
|
**For Mechanic Development:**
|
||||||
|
|
||||||
- SCAMPER for Game Mechanics
|
- SCAMPER for Game Mechanics
|
||||||
- Core Loop Deconstruction
|
- Core Loop Deconstruction
|
||||||
- Player Agency Spectrum
|
- Player Agency Spectrum
|
||||||
|
|
||||||
**For Player Experience:**
|
**For Player Experience:**
|
||||||
|
|
||||||
- Player Archetype Brainstorming
|
- Player Archetype Brainstorming
|
||||||
- Emotion-First Design
|
- Emotion-First Design
|
||||||
- Accessibility-First Innovation
|
- Accessibility-First Innovation
|
||||||
|
|
||||||
**For World Building:**
|
**For World Building:**
|
||||||
|
|
||||||
- Environmental Storytelling
|
- Environmental Storytelling
|
||||||
- Player-Generated Narrative
|
- Player-Generated Narrative
|
||||||
- Platform-Specific Design
|
- Platform-Specific Design
|
||||||
@@ -193,16 +199,19 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|||||||
[[LLM: Guide the brainstorming session with appropriate pacing for game design exploration.]]
|
[[LLM: Guide the brainstorming session with appropriate pacing for game design exploration.]]
|
||||||
|
|
||||||
1. **Inspiration Phase** (10-15 min)
|
1. **Inspiration Phase** (10-15 min)
|
||||||
|
|
||||||
- Reference existing games and mechanics
|
- Reference existing games and mechanics
|
||||||
- Explore player experiences and emotions
|
- Explore player experiences and emotions
|
||||||
- Gather visual and thematic inspiration
|
- Gather visual and thematic inspiration
|
||||||
|
|
||||||
2. **Divergent Exploration** (25-35 min)
|
2. **Divergent Exploration** (25-35 min)
|
||||||
|
|
||||||
- Generate many game concepts or mechanics
|
- Generate many game concepts or mechanics
|
||||||
- Use expansion and fusion techniques
|
- Use expansion and fusion techniques
|
||||||
- Encourage wild and impossible ideas
|
- Encourage wild and impossible ideas
|
||||||
|
|
||||||
3. **Player-Centered Filtering** (15-20 min)
|
3. **Player-Centered Filtering** (15-20 min)
|
||||||
|
|
||||||
- Consider target audience reactions
|
- Consider target audience reactions
|
||||||
- Evaluate emotional impact and engagement
|
- Evaluate emotional impact and engagement
|
||||||
- Group ideas by player experience goals
|
- Group ideas by player experience goals
|
||||||
@@ -217,6 +226,7 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|||||||
[[LLM: Present brainstorming results in a format useful for game development.]]
|
[[LLM: Present brainstorming results in a format useful for game development.]]
|
||||||
|
|
||||||
**Session Summary:**
|
**Session Summary:**
|
||||||
|
|
||||||
- Techniques used and focus areas
|
- Techniques used and focus areas
|
||||||
- Total concepts/mechanics generated
|
- Total concepts/mechanics generated
|
||||||
- Key themes and patterns identified
|
- Key themes and patterns identified
|
||||||
@@ -232,21 +242,25 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|||||||
**Development Readiness:**
|
**Development Readiness:**
|
||||||
|
|
||||||
**Prototype-Ready Ideas:**
|
**Prototype-Ready Ideas:**
|
||||||
|
|
||||||
- Ideas that can be tested immediately
|
- Ideas that can be tested immediately
|
||||||
- Minimum viable implementations
|
- Minimum viable implementations
|
||||||
- Quick validation approaches
|
- Quick validation approaches
|
||||||
|
|
||||||
**Research-Required Ideas:**
|
**Research-Required Ideas:**
|
||||||
|
|
||||||
- Concepts needing technical investigation
|
- Concepts needing technical investigation
|
||||||
- Player testing and market research needs
|
- Player testing and market research needs
|
||||||
- Competitive analysis requirements
|
- Competitive analysis requirements
|
||||||
|
|
||||||
**Future Innovation Pipeline:**
|
**Future Innovation Pipeline:**
|
||||||
|
|
||||||
- Ideas requiring significant development
|
- Ideas requiring significant development
|
||||||
- Technology-dependent concepts
|
- Technology-dependent concepts
|
||||||
- Market timing considerations
|
- Market timing considerations
|
||||||
|
|
||||||
**Next Steps:**
|
**Next Steps:**
|
||||||
|
|
||||||
- Which concepts to prototype first
|
- Which concepts to prototype first
|
||||||
- Recommended research areas
|
- Recommended research areas
|
||||||
- Suggested playtesting approaches
|
- Suggested playtesting approaches
|
||||||
@@ -255,24 +269,28 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|||||||
## Game Design Specific Considerations
|
## Game Design Specific Considerations
|
||||||
|
|
||||||
### Platform and Audience Awareness
|
### Platform and Audience Awareness
|
||||||
|
|
||||||
- Always consider target platform limitations and advantages
|
- Always consider target platform limitations and advantages
|
||||||
- Keep target audience preferences and expectations in mind
|
- Keep target audience preferences and expectations in mind
|
||||||
- Balance innovation with familiar game design patterns
|
- Balance innovation with familiar game design patterns
|
||||||
- Consider monetization and business model implications
|
- Consider monetization and business model implications
|
||||||
|
|
||||||
### Rapid Prototyping Mindset
|
### Rapid Prototyping Mindset
|
||||||
|
|
||||||
- Focus on ideas that can be quickly tested
|
- Focus on ideas that can be quickly tested
|
||||||
- Emphasize core mechanics over complex features
|
- Emphasize core mechanics over complex features
|
||||||
- Design for iteration and player feedback
|
- Design for iteration and player feedback
|
||||||
- Consider digital and paper prototyping approaches
|
- Consider digital and paper prototyping approaches
|
||||||
|
|
||||||
### Player Psychology Integration
|
### Player Psychology Integration
|
||||||
|
|
||||||
- Understand motivation and engagement drivers
|
- Understand motivation and engagement drivers
|
||||||
- Consider learning curves and skill development
|
- Consider learning curves and skill development
|
||||||
- Design for different play session lengths
|
- Design for different play session lengths
|
||||||
- Balance challenge and reward appropriately
|
- Balance challenge and reward appropriately
|
||||||
|
|
||||||
### Technical Feasibility
|
### Technical Feasibility
|
||||||
|
|
||||||
- Keep development resources and timeline in mind
|
- Keep development resources and timeline in mind
|
||||||
- Consider art and audio asset requirements
|
- Consider art and audio asset requirements
|
||||||
- Think about performance and optimization needs
|
- Think about performance and optimization needs
|
||||||
@@ -287,4 +305,4 @@ This task provides a comprehensive toolkit of creative brainstorming techniques
|
|||||||
- Think about community and social aspects of gameplay
|
- Think about community and social aspects of gameplay
|
||||||
- Consider accessibility and inclusivity from the start
|
- Consider accessibility and inclusivity from the start
|
||||||
- Balance innovation with market viability
|
- Balance innovation with market viability
|
||||||
- Plan for iteration based on player feedback
|
- Plan for iteration based on player feedback
|
||||||
|
|||||||
@@ -60,11 +60,13 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
[[LLM: List the 3-5 most important gameplay mechanics that define the player experience]]
|
[[LLM: List the 3-5 most important gameplay mechanics that define the player experience]]
|
||||||
|
|
||||||
**Core Mechanic 1: {{mechanic_name}}**
|
**Core Mechanic 1: {{mechanic_name}}**
|
||||||
|
|
||||||
- **Description:** {{how_it_works}}
|
- **Description:** {{how_it_works}}
|
||||||
- **Player Value:** {{why_its_fun}}
|
- **Player Value:** {{why_its_fun}}
|
||||||
- **Implementation Scope:** {{complexity_estimate}}
|
- **Implementation Scope:** {{complexity_estimate}}
|
||||||
|
|
||||||
**Core Mechanic 2: {{mechanic_name}}**
|
**Core Mechanic 2: {{mechanic_name}}**
|
||||||
|
|
||||||
- **Description:** {{how_it_works}}
|
- **Description:** {{how_it_works}}
|
||||||
- **Player Value:** {{why_its_fun}}
|
- **Player Value:** {{why_its_fun}}
|
||||||
- **Implementation Scope:** {{complexity_estimate}}
|
- **Implementation Scope:** {{complexity_estimate}}
|
||||||
@@ -91,10 +93,12 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Technical Constraints
|
### Technical Constraints
|
||||||
|
|
||||||
**Platform Requirements:**
|
**Platform Requirements:**
|
||||||
|
|
||||||
- Primary: {{platform_1}} - {{requirements}}
|
- Primary: {{platform_1}} - {{requirements}}
|
||||||
- Secondary: {{platform_2}} - {{requirements}}
|
- Secondary: {{platform_2}} - {{requirements}}
|
||||||
|
|
||||||
**Technical Specifications:**
|
**Technical Specifications:**
|
||||||
|
|
||||||
- Engine: Phaser 3 + TypeScript
|
- Engine: Phaser 3 + TypeScript
|
||||||
- Performance Target: {{fps_target}} FPS on {{target_device}}
|
- Performance Target: {{fps_target}} FPS on {{target_device}}
|
||||||
- Memory Budget: <{{memory_limit}}MB
|
- Memory Budget: <{{memory_limit}}MB
|
||||||
@@ -125,6 +129,7 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Inspiration Games
|
### Inspiration Games
|
||||||
|
|
||||||
**Primary References:**
|
**Primary References:**
|
||||||
|
|
||||||
1. **{{reference_game_1}}** - {{what_we_learn_from_it}}
|
1. **{{reference_game_1}}** - {{what_we_learn_from_it}}
|
||||||
2. **{{reference_game_2}}** - {{what_we_learn_from_it}}
|
2. **{{reference_game_2}}** - {{what_we_learn_from_it}}
|
||||||
3. **{{reference_game_3}}** - {{what_we_learn_from_it}}
|
3. **{{reference_game_3}}** - {{what_we_learn_from_it}}
|
||||||
@@ -132,6 +137,7 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Competitive Analysis
|
### Competitive Analysis
|
||||||
|
|
||||||
**Direct Competitors:**
|
**Direct Competitors:**
|
||||||
|
|
||||||
- {{competitor_1}}: {{strengths_and_weaknesses}}
|
- {{competitor_1}}: {{strengths_and_weaknesses}}
|
||||||
- {{competitor_2}}: {{strengths_and_weaknesses}}
|
- {{competitor_2}}: {{strengths_and_weaknesses}}
|
||||||
|
|
||||||
@@ -157,13 +163,16 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Content Categories
|
### Content Categories
|
||||||
|
|
||||||
**Core Content:**
|
**Core Content:**
|
||||||
|
|
||||||
- {{content_type_1}}: {{quantity_and_description}}
|
- {{content_type_1}}: {{quantity_and_description}}
|
||||||
- {{content_type_2}}: {{quantity_and_description}}
|
- {{content_type_2}}: {{quantity_and_description}}
|
||||||
|
|
||||||
**Optional Content:**
|
**Optional Content:**
|
||||||
|
|
||||||
- {{optional_content_type}}: {{quantity_and_description}}
|
- {{optional_content_type}}: {{quantity_and_description}}
|
||||||
|
|
||||||
**Replay Elements:**
|
**Replay Elements:**
|
||||||
|
|
||||||
- {{replayability_features}}
|
- {{replayability_features}}
|
||||||
|
|
||||||
### Difficulty and Accessibility
|
### Difficulty and Accessibility
|
||||||
@@ -201,23 +210,23 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
|
|
||||||
### Technical Risks
|
### Technical Risks
|
||||||
|
|
||||||
| Risk | Probability | Impact | Mitigation Strategy |
|
| Risk | Probability | Impact | Mitigation Strategy |
|
||||||
|------|-------------|--------|-------------------|
|
| -------------------- | ----------- | ------ | ------------------- | ------ | --- | ----- | ----------------------- |
|
||||||
| {{technical_risk_1}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
|
| {{technical_risk_1}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
|
||||||
| {{technical_risk_2}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
|
| {{technical_risk_2}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
|
||||||
|
|
||||||
### Design Risks
|
### Design Risks
|
||||||
|
|
||||||
| Risk | Probability | Impact | Mitigation Strategy |
|
| Risk | Probability | Impact | Mitigation Strategy |
|
||||||
|------|-------------|--------|-------------------|
|
| ----------------- | ----------- | ------ | ------------------- | ------ | --- | ----- | ----------------------- |
|
||||||
| {{design_risk_1}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
|
| {{design_risk_1}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
|
||||||
| {{design_risk_2}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
|
| {{design_risk_2}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
|
||||||
|
|
||||||
### Market Risks
|
### Market Risks
|
||||||
|
|
||||||
| Risk | Probability | Impact | Mitigation Strategy |
|
| Risk | Probability | Impact | Mitigation Strategy |
|
||||||
|------|-------------|--------|-------------------|
|
| ----------------- | ----------- | ------ | ------------------- | ------ | --- | ----- | ----------------------- |
|
||||||
| {{market_risk_1}} | {{high|med|low}} | {{high|med|low}} | {{mitigation_approach}} |
|
| {{market_risk_1}} | {{high | med | low}} | {{high | med | low}} | {{mitigation_approach}} |
|
||||||
|
|
||||||
## Success Criteria
|
## Success Criteria
|
||||||
|
|
||||||
@@ -226,11 +235,13 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Player Experience Metrics
|
### Player Experience Metrics
|
||||||
|
|
||||||
**Engagement Goals:**
|
**Engagement Goals:**
|
||||||
|
|
||||||
- Tutorial completion rate: >{{percentage}}%
|
- Tutorial completion rate: >{{percentage}}%
|
||||||
- Average session length: {{duration}} minutes
|
- Average session length: {{duration}} minutes
|
||||||
- Player retention: D1 {{d1}}%, D7 {{d7}}%, D30 {{d30}}%
|
- Player retention: D1 {{d1}}%, D7 {{d7}}%, D30 {{d30}}%
|
||||||
|
|
||||||
**Quality Benchmarks:**
|
**Quality Benchmarks:**
|
||||||
|
|
||||||
- Player satisfaction: >{{rating}}/10
|
- Player satisfaction: >{{rating}}/10
|
||||||
- Completion rate: >{{percentage}}%
|
- Completion rate: >{{percentage}}%
|
||||||
- Technical performance: {{fps_target}} FPS consistent
|
- Technical performance: {{fps_target}} FPS consistent
|
||||||
@@ -238,11 +249,13 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Development Metrics
|
### Development Metrics
|
||||||
|
|
||||||
**Technical Targets:**
|
**Technical Targets:**
|
||||||
|
|
||||||
- Zero critical bugs at launch
|
- Zero critical bugs at launch
|
||||||
- Performance targets met on all platforms
|
- Performance targets met on all platforms
|
||||||
- Load times under {{seconds}}s
|
- Load times under {{seconds}}s
|
||||||
|
|
||||||
**Process Goals:**
|
**Process Goals:**
|
||||||
|
|
||||||
- Development timeline adherence
|
- Development timeline adherence
|
||||||
- Feature scope completion
|
- Feature scope completion
|
||||||
- Quality assurance standards
|
- Quality assurance standards
|
||||||
@@ -252,6 +265,7 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Business Metrics
|
### Business Metrics
|
||||||
|
|
||||||
**Commercial Goals:**
|
**Commercial Goals:**
|
||||||
|
|
||||||
- {{revenue_target}} in first {{time_period}}
|
- {{revenue_target}} in first {{time_period}}
|
||||||
- {{user_acquisition_target}} players in first {{time_period}}
|
- {{user_acquisition_target}} players in first {{time_period}}
|
||||||
- {{retention_target}} monthly active users
|
- {{retention_target}} monthly active users
|
||||||
@@ -271,16 +285,19 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Development Roadmap
|
### Development Roadmap
|
||||||
|
|
||||||
**Phase 1: Pre-Production** ({{duration}})
|
**Phase 1: Pre-Production** ({{duration}})
|
||||||
|
|
||||||
- Detailed Game Design Document creation
|
- Detailed Game Design Document creation
|
||||||
- Technical architecture planning
|
- Technical architecture planning
|
||||||
- Art style exploration and pipeline setup
|
- Art style exploration and pipeline setup
|
||||||
|
|
||||||
**Phase 2: Prototype** ({{duration}})
|
**Phase 2: Prototype** ({{duration}})
|
||||||
|
|
||||||
- Core mechanic implementation
|
- Core mechanic implementation
|
||||||
- Technical proof of concept
|
- Technical proof of concept
|
||||||
- Initial playtesting and iteration
|
- Initial playtesting and iteration
|
||||||
|
|
||||||
**Phase 3: Production** ({{duration}})
|
**Phase 3: Production** ({{duration}})
|
||||||
|
|
||||||
- Full feature development
|
- Full feature development
|
||||||
- Content creation and integration
|
- Content creation and integration
|
||||||
- Comprehensive testing and optimization
|
- Comprehensive testing and optimization
|
||||||
@@ -288,6 +305,7 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Documentation Pipeline
|
### Documentation Pipeline
|
||||||
|
|
||||||
**Required Documents:**
|
**Required Documents:**
|
||||||
|
|
||||||
1. Game Design Document (GDD) - {{target_completion}}
|
1. Game Design Document (GDD) - {{target_completion}}
|
||||||
2. Technical Architecture Document - {{target_completion}}
|
2. Technical Architecture Document - {{target_completion}}
|
||||||
3. Art Style Guide - {{target_completion}}
|
3. Art Style Guide - {{target_completion}}
|
||||||
@@ -296,10 +314,12 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
### Validation Plan
|
### Validation Plan
|
||||||
|
|
||||||
**Concept Testing:**
|
**Concept Testing:**
|
||||||
|
|
||||||
- {{validation_method_1}} - {{timeline}}
|
- {{validation_method_1}} - {{timeline}}
|
||||||
- {{validation_method_2}} - {{timeline}}
|
- {{validation_method_2}} - {{timeline}}
|
||||||
|
|
||||||
**Prototype Testing:**
|
**Prototype Testing:**
|
||||||
|
|
||||||
- {{testing_approach}} - {{timeline}}
|
- {{testing_approach}} - {{timeline}}
|
||||||
- {{feedback_collection_method}} - {{timeline}}
|
- {{feedback_collection_method}} - {{timeline}}
|
||||||
|
|
||||||
@@ -322,4 +342,4 @@ This brief is typically created early in the ideation process, often after brain
|
|||||||
[[LLM: Track document versions and changes]]
|
[[LLM: Track document versions and changes]]
|
||||||
|
|
||||||
| Date | Version | Description | Author |
|
| Date | Version | Description | Author |
|
||||||
| :--- | :------ | :---------- | :----- |
|
| :--- | :------ | :---------- | :----- |
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
[[LLM: Define the 30-60 second loop that players will repeat. Be specific about timing and player actions.]]
|
[[LLM: Define the 30-60 second loop that players will repeat. Be specific about timing and player actions.]]
|
||||||
|
|
||||||
**Primary Loop ({{duration}} seconds):**
|
**Primary Loop ({{duration}} seconds):**
|
||||||
|
|
||||||
1. {{action_1}} ({{time_1}}s)
|
1. {{action_1}} ({{time_1}}s)
|
||||||
2. {{action_2}} ({{time_2}}s)
|
2. {{action_2}} ({{time_2}}s)
|
||||||
3. {{action_3}} ({{time_3}}s)
|
3. {{action_3}} ({{time_3}}s)
|
||||||
@@ -63,10 +64,12 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
[[LLM: Clearly define success and failure states]]
|
[[LLM: Clearly define success and failure states]]
|
||||||
|
|
||||||
**Victory Conditions:**
|
**Victory Conditions:**
|
||||||
|
|
||||||
- {{win_condition_1}}
|
- {{win_condition_1}}
|
||||||
- {{win_condition_2}}
|
- {{win_condition_2}}
|
||||||
|
|
||||||
**Failure States:**
|
**Failure States:**
|
||||||
|
|
||||||
- {{loss_condition_1}}
|
- {{loss_condition_1}}
|
||||||
- {{loss_condition_2}}
|
- {{loss_condition_2}}
|
||||||
|
|
||||||
@@ -87,6 +90,7 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
**System Response:** {{game_response}}
|
**System Response:** {{game_response}}
|
||||||
|
|
||||||
**Implementation Notes:**
|
**Implementation Notes:**
|
||||||
|
|
||||||
- {{tech_requirement_1}}
|
- {{tech_requirement_1}}
|
||||||
- {{tech_requirement_2}}
|
- {{tech_requirement_2}}
|
||||||
- {{performance_consideration}}
|
- {{performance_consideration}}
|
||||||
@@ -99,8 +103,8 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
|
|
||||||
[[LLM: Define all input methods for different platforms]]
|
[[LLM: Define all input methods for different platforms]]
|
||||||
|
|
||||||
| Action | Desktop | Mobile | Gamepad |
|
| Action | Desktop | Mobile | Gamepad |
|
||||||
|--------|---------|--------|---------|
|
| ------------ | ------- | ----------- | ---------- |
|
||||||
| {{action_1}} | {{key}} | {{gesture}} | {{button}} |
|
| {{action_1}} | {{key}} | {{gesture}} | {{button}} |
|
||||||
| {{action_2}} | {{key}} | {{gesture}} | {{button}} |
|
| {{action_2}} | {{key}} | {{gesture}} | {{button}} |
|
||||||
|
|
||||||
@@ -113,6 +117,7 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
**Progression Type:** {{linear|branching|metroidvania}}
|
**Progression Type:** {{linear|branching|metroidvania}}
|
||||||
|
|
||||||
**Key Milestones:**
|
**Key Milestones:**
|
||||||
|
|
||||||
1. **{{milestone_1}}** - {{unlock_description}}
|
1. **{{milestone_1}}** - {{unlock_description}}
|
||||||
2. **{{milestone_2}}** - {{unlock_description}}
|
2. **{{milestone_2}}** - {{unlock_description}}
|
||||||
3. **{{milestone_3}}** - {{unlock_description}}
|
3. **{{milestone_3}}** - {{unlock_description}}
|
||||||
@@ -132,9 +137,9 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
|
|
||||||
[[LLM: Define any in-game currencies, resources, or collectibles]]
|
[[LLM: Define any in-game currencies, resources, or collectibles]]
|
||||||
|
|
||||||
| Resource | Earn Rate | Spend Rate | Purpose | Cap |
|
| Resource | Earn Rate | Spend Rate | Purpose | Cap |
|
||||||
|----------|-----------|------------|---------|-----|
|
| -------------- | --------- | ---------- | ------- | ------- |
|
||||||
| {{resource_1}} | {{rate}} | {{rate}} | {{use}} | {{max}} |
|
| {{resource_1}} | {{rate}} | {{rate}} | {{use}} | {{max}} |
|
||||||
|
|
||||||
^^/CONDITION: has_economy^^
|
^^/CONDITION: has_economy^^
|
||||||
|
|
||||||
@@ -154,6 +159,7 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
**Difficulty:** {{relative_difficulty}}
|
**Difficulty:** {{relative_difficulty}}
|
||||||
|
|
||||||
**Structure Template:**
|
**Structure Template:**
|
||||||
|
|
||||||
- Introduction: {{intro_description}}
|
- Introduction: {{intro_description}}
|
||||||
- Challenge: {{main_challenge}}
|
- Challenge: {{main_challenge}}
|
||||||
- Resolution: {{completion_requirement}}
|
- Resolution: {{completion_requirement}}
|
||||||
@@ -180,11 +186,13 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
### Platform Specific
|
### Platform Specific
|
||||||
|
|
||||||
**Desktop:**
|
**Desktop:**
|
||||||
|
|
||||||
- Resolution: {{min_resolution}} - {{max_resolution}}
|
- Resolution: {{min_resolution}} - {{max_resolution}}
|
||||||
- Input: Keyboard, Mouse, Gamepad
|
- Input: Keyboard, Mouse, Gamepad
|
||||||
- Browser: Chrome 80+, Firefox 75+, Safari 13+
|
- Browser: Chrome 80+, Firefox 75+, Safari 13+
|
||||||
|
|
||||||
**Mobile:**
|
**Mobile:**
|
||||||
|
|
||||||
- Resolution: {{mobile_min}} - {{mobile_max}}
|
- Resolution: {{mobile_min}} - {{mobile_max}}
|
||||||
- Input: Touch, Tilt (optional)
|
- Input: Touch, Tilt (optional)
|
||||||
- OS: iOS 13+, Android 8+
|
- OS: iOS 13+, Android 8+
|
||||||
@@ -194,12 +202,14 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
[[LLM: Define asset specifications for the art and audio teams]]
|
[[LLM: Define asset specifications for the art and audio teams]]
|
||||||
|
|
||||||
**Visual Assets:**
|
**Visual Assets:**
|
||||||
|
|
||||||
- Art Style: {{style_description}}
|
- Art Style: {{style_description}}
|
||||||
- Color Palette: {{color_specification}}
|
- Color Palette: {{color_specification}}
|
||||||
- Animation: {{animation_requirements}}
|
- Animation: {{animation_requirements}}
|
||||||
- UI Resolution: {{ui_specs}}
|
- UI Resolution: {{ui_specs}}
|
||||||
|
|
||||||
**Audio Assets:**
|
**Audio Assets:**
|
||||||
|
|
||||||
- Music Style: {{music_genre}}
|
- Music Style: {{music_genre}}
|
||||||
- Sound Effects: {{sfx_requirements}}
|
- Sound Effects: {{sfx_requirements}}
|
||||||
- Voice Acting: {{voice_needs}}
|
- Voice Acting: {{voice_needs}}
|
||||||
@@ -211,6 +221,7 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
### Engine Configuration
|
### Engine Configuration
|
||||||
|
|
||||||
**Phaser 3 Setup:**
|
**Phaser 3 Setup:**
|
||||||
|
|
||||||
- TypeScript: Strict mode enabled
|
- TypeScript: Strict mode enabled
|
||||||
- Physics: {{physics_system}} (Arcade/Matter)
|
- Physics: {{physics_system}} (Arcade/Matter)
|
||||||
- Renderer: WebGL with Canvas fallback
|
- Renderer: WebGL with Canvas fallback
|
||||||
@@ -219,6 +230,7 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
### Code Architecture
|
### Code Architecture
|
||||||
|
|
||||||
**Required Systems:**
|
**Required Systems:**
|
||||||
|
|
||||||
- Scene Management
|
- Scene Management
|
||||||
- State Management
|
- State Management
|
||||||
- Asset Loading
|
- Asset Loading
|
||||||
@@ -230,6 +242,7 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
### Data Management
|
### Data Management
|
||||||
|
|
||||||
**Save Data:**
|
**Save Data:**
|
||||||
|
|
||||||
- Progress tracking
|
- Progress tracking
|
||||||
- Settings persistence
|
- Settings persistence
|
||||||
- Statistics collection
|
- Statistics collection
|
||||||
@@ -242,12 +255,14 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
### Phase 1: Core Systems ({{duration}})
|
### Phase 1: Core Systems ({{duration}})
|
||||||
|
|
||||||
**Epic: Foundation**
|
**Epic: Foundation**
|
||||||
|
|
||||||
- Engine setup and configuration
|
- Engine setup and configuration
|
||||||
- Basic scene management
|
- Basic scene management
|
||||||
- Core input handling
|
- Core input handling
|
||||||
- Asset loading pipeline
|
- Asset loading pipeline
|
||||||
|
|
||||||
**Epic: Core Mechanics**
|
**Epic: Core Mechanics**
|
||||||
|
|
||||||
- {{primary_mechanic}} implementation
|
- {{primary_mechanic}} implementation
|
||||||
- Basic physics and collision
|
- Basic physics and collision
|
||||||
- Player controller
|
- Player controller
|
||||||
@@ -255,11 +270,13 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
### Phase 2: Gameplay Features ({{duration}})
|
### Phase 2: Gameplay Features ({{duration}})
|
||||||
|
|
||||||
**Epic: Game Systems**
|
**Epic: Game Systems**
|
||||||
|
|
||||||
- {{mechanic_2}} implementation
|
- {{mechanic_2}} implementation
|
||||||
- {{mechanic_3}} implementation
|
- {{mechanic_3}} implementation
|
||||||
- Game state management
|
- Game state management
|
||||||
|
|
||||||
**Epic: Content Creation**
|
**Epic: Content Creation**
|
||||||
|
|
||||||
- Level loading system
|
- Level loading system
|
||||||
- First playable levels
|
- First playable levels
|
||||||
- Basic UI implementation
|
- Basic UI implementation
|
||||||
@@ -267,11 +284,13 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
### Phase 3: Polish & Optimization ({{duration}})
|
### Phase 3: Polish & Optimization ({{duration}})
|
||||||
|
|
||||||
**Epic: Performance**
|
**Epic: Performance**
|
||||||
|
|
||||||
- Optimization and profiling
|
- Optimization and profiling
|
||||||
- Mobile platform testing
|
- Mobile platform testing
|
||||||
- Memory management
|
- Memory management
|
||||||
|
|
||||||
**Epic: User Experience**
|
**Epic: User Experience**
|
||||||
|
|
||||||
- Audio implementation
|
- Audio implementation
|
||||||
- Visual effects and polish
|
- Visual effects and polish
|
||||||
- Final UI/UX refinement
|
- Final UI/UX refinement
|
||||||
@@ -281,12 +300,14 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
[[LLM: Define measurable goals for the game]]
|
[[LLM: Define measurable goals for the game]]
|
||||||
|
|
||||||
**Technical Metrics:**
|
**Technical Metrics:**
|
||||||
|
|
||||||
- Frame rate: {{fps_target}}
|
- Frame rate: {{fps_target}}
|
||||||
- Load time: {{load_target}}
|
- Load time: {{load_target}}
|
||||||
- Crash rate: <{{crash_threshold}}%
|
- Crash rate: <{{crash_threshold}}%
|
||||||
- Memory usage: <{{memory_target}}MB
|
- Memory usage: <{{memory_target}}MB
|
||||||
|
|
||||||
**Gameplay Metrics:**
|
**Gameplay Metrics:**
|
||||||
|
|
||||||
- Tutorial completion: {{completion_rate}}%
|
- Tutorial completion: {{completion_rate}}%
|
||||||
- Average session: {{session_length}} minutes
|
- Average session: {{session_length}} minutes
|
||||||
- Level completion: {{level_completion}}%
|
- Level completion: {{level_completion}}%
|
||||||
@@ -307,4 +328,4 @@ If available, review any provided documents or ask if any are optionally availab
|
|||||||
|
|
||||||
- {{reference_1}}
|
- {{reference_1}}
|
||||||
- {{reference_2}}
|
- {{reference_2}}
|
||||||
- {{reference_3}}
|
- {{reference_3}}
|
||||||
|
|||||||
@@ -64,19 +64,23 @@ This framework ensures consistency across all levels while providing flexibility
|
|||||||
**Difficulty Range:** {{difficulty_scale}}
|
**Difficulty Range:** {{difficulty_scale}}
|
||||||
|
|
||||||
**Key Mechanics Featured:**
|
**Key Mechanics Featured:**
|
||||||
|
|
||||||
- {{mechanic_1}} - {{usage_description}}
|
- {{mechanic_1}} - {{usage_description}}
|
||||||
- {{mechanic_2}} - {{usage_description}}
|
- {{mechanic_2}} - {{usage_description}}
|
||||||
|
|
||||||
**Player Objectives:**
|
**Player Objectives:**
|
||||||
|
|
||||||
- Primary: {{primary_objective}}
|
- Primary: {{primary_objective}}
|
||||||
- Secondary: {{secondary_objective}}
|
- Secondary: {{secondary_objective}}
|
||||||
- Hidden: {{secret_objective}}
|
- Hidden: {{secret_objective}}
|
||||||
|
|
||||||
**Success Criteria:**
|
**Success Criteria:**
|
||||||
|
|
||||||
- {{completion_requirement_1}}
|
- {{completion_requirement_1}}
|
||||||
- {{completion_requirement_2}}
|
- {{completion_requirement_2}}
|
||||||
|
|
||||||
**Technical Requirements:**
|
**Technical Requirements:**
|
||||||
|
|
||||||
- Maximum entities: {{entity_limit}}
|
- Maximum entities: {{entity_limit}}
|
||||||
- Performance target: {{fps_target}} FPS
|
- Performance target: {{fps_target}} FPS
|
||||||
- Memory budget: {{memory_limit}}MB
|
- Memory budget: {{memory_limit}}MB
|
||||||
@@ -97,6 +101,7 @@ This framework ensures consistency across all levels while providing flexibility
|
|||||||
**Total Level Count:** {{number}}
|
**Total Level Count:** {{number}}
|
||||||
|
|
||||||
**World Breakdown:**
|
**World Breakdown:**
|
||||||
|
|
||||||
- World 1: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
- World 1: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
||||||
- World 2: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
- World 2: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
||||||
- World 3: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
- World 3: {{level_count}} levels - {{theme}} - {{difficulty_range}}
|
||||||
@@ -106,7 +111,8 @@ This framework ensures consistency across all levels while providing flexibility
|
|||||||
[[LLM: Define how challenge increases across the game]]
|
[[LLM: Define how challenge increases across the game]]
|
||||||
|
|
||||||
**Progression Curve:**
|
**Progression Curve:**
|
||||||
```text
|
|
||||||
|
````text
|
||||||
Difficulty
|
Difficulty
|
||||||
^ ___/```
|
^ ___/```
|
||||||
| /
|
| /
|
||||||
@@ -116,9 +122,10 @@ Difficulty
|
|||||||
|/ /
|
|/ /
|
||||||
+-----------> Level Number
|
+-----------> Level Number
|
||||||
Tutorial Early Mid Late
|
Tutorial Early Mid Late
|
||||||
```
|
````
|
||||||
|
|
||||||
**Scaling Parameters:**
|
**Scaling Parameters:**
|
||||||
|
|
||||||
- Enemy count: {{start_count}} → {{end_count}}
|
- Enemy count: {{start_count}} → {{end_count}}
|
||||||
- Enemy difficulty: {{start_diff}} → {{end_diff}}
|
- Enemy difficulty: {{start_diff}} → {{end_diff}}
|
||||||
- Level complexity: {{start_complex}} → {{end_complex}}
|
- Level complexity: {{start_complex}} → {{end_complex}}
|
||||||
@@ -129,6 +136,7 @@ Difficulty
|
|||||||
[[LLM: Define how players access new levels]]
|
[[LLM: Define how players access new levels]]
|
||||||
|
|
||||||
**Progression Gates:**
|
**Progression Gates:**
|
||||||
|
|
||||||
- Linear progression: Complete previous level
|
- Linear progression: Complete previous level
|
||||||
- Star requirements: {{star_count}} stars to unlock
|
- Star requirements: {{star_count}} stars to unlock
|
||||||
- Skill gates: Demonstrate {{skill_requirement}}
|
- Skill gates: Demonstrate {{skill_requirement}}
|
||||||
@@ -143,14 +151,17 @@ Difficulty
|
|||||||
[[LLM: Define all environmental components that can be used in levels]]
|
[[LLM: Define all environmental components that can be used in levels]]
|
||||||
|
|
||||||
**Terrain Types:**
|
**Terrain Types:**
|
||||||
|
|
||||||
- {{terrain_1}}: {{properties_and_usage}}
|
- {{terrain_1}}: {{properties_and_usage}}
|
||||||
- {{terrain_2}}: {{properties_and_usage}}
|
- {{terrain_2}}: {{properties_and_usage}}
|
||||||
|
|
||||||
**Interactive Objects:**
|
**Interactive Objects:**
|
||||||
|
|
||||||
- {{object_1}}: {{behavior_and_purpose}}
|
- {{object_1}}: {{behavior_and_purpose}}
|
||||||
- {{object_2}}: {{behavior_and_purpose}}
|
- {{object_2}}: {{behavior_and_purpose}}
|
||||||
|
|
||||||
**Hazards and Obstacles:**
|
**Hazards and Obstacles:**
|
||||||
|
|
||||||
- {{hazard_1}}: {{damage_and_behavior}}
|
- {{hazard_1}}: {{damage_and_behavior}}
|
||||||
- {{hazard_2}}: {{damage_and_behavior}}
|
- {{hazard_2}}: {{damage_and_behavior}}
|
||||||
|
|
||||||
@@ -159,15 +170,18 @@ Difficulty
|
|||||||
[[LLM: Define all collectible items and their placement rules]]
|
[[LLM: Define all collectible items and their placement rules]]
|
||||||
|
|
||||||
**Collectible Types:**
|
**Collectible Types:**
|
||||||
|
|
||||||
- {{collectible_1}}: {{value_and_purpose}}
|
- {{collectible_1}}: {{value_and_purpose}}
|
||||||
- {{collectible_2}}: {{value_and_purpose}}
|
- {{collectible_2}}: {{value_and_purpose}}
|
||||||
|
|
||||||
**Placement Guidelines:**
|
**Placement Guidelines:**
|
||||||
|
|
||||||
- Mandatory collectibles: {{placement_rules}}
|
- Mandatory collectibles: {{placement_rules}}
|
||||||
- Optional collectibles: {{placement_rules}}
|
- Optional collectibles: {{placement_rules}}
|
||||||
- Secret collectibles: {{placement_rules}}
|
- Secret collectibles: {{placement_rules}}
|
||||||
|
|
||||||
**Reward Distribution:**
|
**Reward Distribution:**
|
||||||
|
|
||||||
- Easy to find: {{percentage}}%
|
- Easy to find: {{percentage}}%
|
||||||
- Moderate challenge: {{percentage}}%
|
- Moderate challenge: {{percentage}}%
|
||||||
- High skill required: {{percentage}}%
|
- High skill required: {{percentage}}%
|
||||||
@@ -177,15 +191,18 @@ Difficulty
|
|||||||
[[LLM: Define how enemies should be placed and balanced in levels]]
|
[[LLM: Define how enemies should be placed and balanced in levels]]
|
||||||
|
|
||||||
**Enemy Categories:**
|
**Enemy Categories:**
|
||||||
|
|
||||||
- {{enemy_type_1}}: {{behavior_and_usage}}
|
- {{enemy_type_1}}: {{behavior_and_usage}}
|
||||||
- {{enemy_type_2}}: {{behavior_and_usage}}
|
- {{enemy_type_2}}: {{behavior_and_usage}}
|
||||||
|
|
||||||
**Placement Principles:**
|
**Placement Principles:**
|
||||||
|
|
||||||
- Introduction encounters: {{guideline}}
|
- Introduction encounters: {{guideline}}
|
||||||
- Standard encounters: {{guideline}}
|
- Standard encounters: {{guideline}}
|
||||||
- Challenge encounters: {{guideline}}
|
- Challenge encounters: {{guideline}}
|
||||||
|
|
||||||
**Difficulty Scaling:**
|
**Difficulty Scaling:**
|
||||||
|
|
||||||
- Enemy count progression: {{scaling_rule}}
|
- Enemy count progression: {{scaling_rule}}
|
||||||
- Enemy type introduction: {{pacing_rule}}
|
- Enemy type introduction: {{pacing_rule}}
|
||||||
- Encounter complexity: {{complexity_rule}}
|
- Encounter complexity: {{complexity_rule}}
|
||||||
@@ -197,12 +214,14 @@ Difficulty
|
|||||||
### Level Layout Principles
|
### Level Layout Principles
|
||||||
|
|
||||||
**Spatial Design:**
|
**Spatial Design:**
|
||||||
|
|
||||||
- Grid size: {{grid_dimensions}}
|
- Grid size: {{grid_dimensions}}
|
||||||
- Minimum path width: {{width_units}}
|
- Minimum path width: {{width_units}}
|
||||||
- Maximum vertical distance: {{height_units}}
|
- Maximum vertical distance: {{height_units}}
|
||||||
- Safe zones placement: {{safety_guidelines}}
|
- Safe zones placement: {{safety_guidelines}}
|
||||||
|
|
||||||
**Navigation Design:**
|
**Navigation Design:**
|
||||||
|
|
||||||
- Clear path indication: {{visual_cues}}
|
- Clear path indication: {{visual_cues}}
|
||||||
- Landmark placement: {{landmark_rules}}
|
- Landmark placement: {{landmark_rules}}
|
||||||
- Dead end avoidance: {{dead_end_policy}}
|
- Dead end avoidance: {{dead_end_policy}}
|
||||||
@@ -213,11 +232,13 @@ Difficulty
|
|||||||
[[LLM: Define how to control the rhythm and pace of gameplay within levels]]
|
[[LLM: Define how to control the rhythm and pace of gameplay within levels]]
|
||||||
|
|
||||||
**Action Sequences:**
|
**Action Sequences:**
|
||||||
|
|
||||||
- High intensity duration: {{max_duration}}
|
- High intensity duration: {{max_duration}}
|
||||||
- Rest period requirement: {{min_rest_time}}
|
- Rest period requirement: {{min_rest_time}}
|
||||||
- Intensity variation: {{pacing_pattern}}
|
- Intensity variation: {{pacing_pattern}}
|
||||||
|
|
||||||
**Learning Sequences:**
|
**Learning Sequences:**
|
||||||
|
|
||||||
- New mechanic introduction: {{teaching_method}}
|
- New mechanic introduction: {{teaching_method}}
|
||||||
- Practice opportunity: {{practice_duration}}
|
- Practice opportunity: {{practice_duration}}
|
||||||
- Skill application: {{application_context}}
|
- Skill application: {{application_context}}
|
||||||
@@ -227,12 +248,14 @@ Difficulty
|
|||||||
[[LLM: Define how to create appropriate challenges for each level type]]
|
[[LLM: Define how to create appropriate challenges for each level type]]
|
||||||
|
|
||||||
**Challenge Types:**
|
**Challenge Types:**
|
||||||
|
|
||||||
- Execution challenges: {{skill_requirements}}
|
- Execution challenges: {{skill_requirements}}
|
||||||
- Puzzle challenges: {{complexity_guidelines}}
|
- Puzzle challenges: {{complexity_guidelines}}
|
||||||
- Time challenges: {{time_pressure_rules}}
|
- Time challenges: {{time_pressure_rules}}
|
||||||
- Resource challenges: {{resource_management}}
|
- Resource challenges: {{resource_management}}
|
||||||
|
|
||||||
**Difficulty Calibration:**
|
**Difficulty Calibration:**
|
||||||
|
|
||||||
- Skill check frequency: {{frequency_guidelines}}
|
- Skill check frequency: {{frequency_guidelines}}
|
||||||
- Failure recovery: {{retry_mechanics}}
|
- Failure recovery: {{retry_mechanics}}
|
||||||
- Hint system integration: {{help_system}}
|
- Hint system integration: {{help_system}}
|
||||||
@@ -246,11 +269,13 @@ Difficulty
|
|||||||
[[LLM: Define how level data should be structured for implementation]]
|
[[LLM: Define how level data should be structured for implementation]]
|
||||||
|
|
||||||
**Level File Format:**
|
**Level File Format:**
|
||||||
|
|
||||||
- Data format: {{json|yaml|custom}}
|
- Data format: {{json|yaml|custom}}
|
||||||
- File naming: `level_{{world}}_{{number}}.{{extension}}`
|
- File naming: `level_{{world}}_{{number}}.{{extension}}`
|
||||||
- Data organization: {{structure_description}}
|
- Data organization: {{structure_description}}
|
||||||
|
|
||||||
**Required Data Fields:**
|
**Required Data Fields:**
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"levelId": "{{unique_identifier}}",
|
"levelId": "{{unique_identifier}}",
|
||||||
@@ -282,12 +307,14 @@ Difficulty
|
|||||||
[[LLM: Define how level assets are organized and loaded]]
|
[[LLM: Define how level assets are organized and loaded]]
|
||||||
|
|
||||||
**Tilemap Requirements:**
|
**Tilemap Requirements:**
|
||||||
|
|
||||||
- Tile size: {{tile_dimensions}}px
|
- Tile size: {{tile_dimensions}}px
|
||||||
- Tileset organization: {{tileset_structure}}
|
- Tileset organization: {{tileset_structure}}
|
||||||
- Layer organization: {{layer_system}}
|
- Layer organization: {{layer_system}}
|
||||||
- Collision data: {{collision_format}}
|
- Collision data: {{collision_format}}
|
||||||
|
|
||||||
**Audio Integration:**
|
**Audio Integration:**
|
||||||
|
|
||||||
- Background music: {{music_requirements}}
|
- Background music: {{music_requirements}}
|
||||||
- Ambient sounds: {{ambient_system}}
|
- Ambient sounds: {{ambient_system}}
|
||||||
- Dynamic audio: {{dynamic_audio_rules}}
|
- Dynamic audio: {{dynamic_audio_rules}}
|
||||||
@@ -297,16 +324,19 @@ Difficulty
|
|||||||
[[LLM: Define performance requirements for level systems]]
|
[[LLM: Define performance requirements for level systems]]
|
||||||
|
|
||||||
**Entity Limits:**
|
**Entity Limits:**
|
||||||
|
|
||||||
- Maximum active entities: {{entity_limit}}
|
- Maximum active entities: {{entity_limit}}
|
||||||
- Maximum particles: {{particle_limit}}
|
- Maximum particles: {{particle_limit}}
|
||||||
- Maximum audio sources: {{audio_limit}}
|
- Maximum audio sources: {{audio_limit}}
|
||||||
|
|
||||||
**Memory Management:**
|
**Memory Management:**
|
||||||
|
|
||||||
- Texture memory budget: {{texture_memory}}MB
|
- Texture memory budget: {{texture_memory}}MB
|
||||||
- Audio memory budget: {{audio_memory}}MB
|
- Audio memory budget: {{audio_memory}}MB
|
||||||
- Level loading time: <{{load_time}}s
|
- Level loading time: <{{load_time}}s
|
||||||
|
|
||||||
**Culling and LOD:**
|
**Culling and LOD:**
|
||||||
|
|
||||||
- Off-screen culling: {{culling_distance}}
|
- Off-screen culling: {{culling_distance}}
|
||||||
- Level-of-detail rules: {{lod_system}}
|
- Level-of-detail rules: {{lod_system}}
|
||||||
- Asset streaming: {{streaming_requirements}}
|
- Asset streaming: {{streaming_requirements}}
|
||||||
@@ -318,11 +348,13 @@ Difficulty
|
|||||||
### Automated Testing
|
### Automated Testing
|
||||||
|
|
||||||
**Performance Testing:**
|
**Performance Testing:**
|
||||||
|
|
||||||
- Frame rate validation: Maintain {{fps_target}} FPS
|
- Frame rate validation: Maintain {{fps_target}} FPS
|
||||||
- Memory usage monitoring: Stay under {{memory_limit}}MB
|
- Memory usage monitoring: Stay under {{memory_limit}}MB
|
||||||
- Loading time verification: Complete in <{{load_time}}s
|
- Loading time verification: Complete in <{{load_time}}s
|
||||||
|
|
||||||
**Gameplay Testing:**
|
**Gameplay Testing:**
|
||||||
|
|
||||||
- Completion path validation: All objectives achievable
|
- Completion path validation: All objectives achievable
|
||||||
- Collectible accessibility: All items reachable
|
- Collectible accessibility: All items reachable
|
||||||
- Softlock prevention: No unwinnable states
|
- Softlock prevention: No unwinnable states
|
||||||
@@ -330,6 +362,7 @@ Difficulty
|
|||||||
### Manual Testing Protocol
|
### Manual Testing Protocol
|
||||||
|
|
||||||
**Playtesting Checklist:**
|
**Playtesting Checklist:**
|
||||||
|
|
||||||
- [ ] Level completes within target time range
|
- [ ] Level completes within target time range
|
||||||
- [ ] All mechanics function correctly
|
- [ ] All mechanics function correctly
|
||||||
- [ ] Difficulty feels appropriate for level category
|
- [ ] Difficulty feels appropriate for level category
|
||||||
@@ -337,6 +370,7 @@ Difficulty
|
|||||||
- [ ] No exploits or sequence breaks (unless intended)
|
- [ ] No exploits or sequence breaks (unless intended)
|
||||||
|
|
||||||
**Player Experience Testing:**
|
**Player Experience Testing:**
|
||||||
|
|
||||||
- [ ] Tutorial levels teach effectively
|
- [ ] Tutorial levels teach effectively
|
||||||
- [ ] Challenge feels fair and rewarding
|
- [ ] Challenge feels fair and rewarding
|
||||||
- [ ] Flow and pacing maintain engagement
|
- [ ] Flow and pacing maintain engagement
|
||||||
@@ -345,12 +379,14 @@ Difficulty
|
|||||||
### Balance Validation
|
### Balance Validation
|
||||||
|
|
||||||
**Metrics Collection:**
|
**Metrics Collection:**
|
||||||
|
|
||||||
- Completion rate: Target {{completion_percentage}}%
|
- Completion rate: Target {{completion_percentage}}%
|
||||||
- Average completion time: {{target_time}} ± {{variance}}
|
- Average completion time: {{target_time}} ± {{variance}}
|
||||||
- Death count per level: <{{max_deaths}}
|
- Death count per level: <{{max_deaths}}
|
||||||
- Collectible discovery rate: {{discovery_percentage}}%
|
- Collectible discovery rate: {{discovery_percentage}}%
|
||||||
|
|
||||||
**Iteration Guidelines:**
|
**Iteration Guidelines:**
|
||||||
|
|
||||||
- Adjustment criteria: {{criteria_for_changes}}
|
- Adjustment criteria: {{criteria_for_changes}}
|
||||||
- Testing sample size: {{minimum_testers}}
|
- Testing sample size: {{minimum_testers}}
|
||||||
- Validation period: {{testing_duration}}
|
- Validation period: {{testing_duration}}
|
||||||
@@ -362,12 +398,14 @@ Difficulty
|
|||||||
### Design Phase
|
### Design Phase
|
||||||
|
|
||||||
**Concept Development:**
|
**Concept Development:**
|
||||||
|
|
||||||
1. Define level purpose and goals
|
1. Define level purpose and goals
|
||||||
2. Create rough layout sketch
|
2. Create rough layout sketch
|
||||||
3. Identify key mechanics and challenges
|
3. Identify key mechanics and challenges
|
||||||
4. Estimate difficulty and duration
|
4. Estimate difficulty and duration
|
||||||
|
|
||||||
**Documentation Requirements:**
|
**Documentation Requirements:**
|
||||||
|
|
||||||
- Level design brief
|
- Level design brief
|
||||||
- Layout diagrams
|
- Layout diagrams
|
||||||
- Mechanic integration notes
|
- Mechanic integration notes
|
||||||
@@ -376,6 +414,7 @@ Difficulty
|
|||||||
### Implementation Phase
|
### Implementation Phase
|
||||||
|
|
||||||
**Technical Implementation:**
|
**Technical Implementation:**
|
||||||
|
|
||||||
1. Create level data file
|
1. Create level data file
|
||||||
2. Build tilemap and layout
|
2. Build tilemap and layout
|
||||||
3. Place entities and objects
|
3. Place entities and objects
|
||||||
@@ -383,6 +422,7 @@ Difficulty
|
|||||||
5. Integrate audio and visual effects
|
5. Integrate audio and visual effects
|
||||||
|
|
||||||
**Quality Assurance:**
|
**Quality Assurance:**
|
||||||
|
|
||||||
1. Automated testing execution
|
1. Automated testing execution
|
||||||
2. Internal playtesting
|
2. Internal playtesting
|
||||||
3. Performance validation
|
3. Performance validation
|
||||||
@@ -391,12 +431,14 @@ Difficulty
|
|||||||
### Integration Phase
|
### Integration Phase
|
||||||
|
|
||||||
**Game Integration:**
|
**Game Integration:**
|
||||||
|
|
||||||
1. Level progression integration
|
1. Level progression integration
|
||||||
2. Save system compatibility
|
2. Save system compatibility
|
||||||
3. Analytics integration
|
3. Analytics integration
|
||||||
4. Achievement system integration
|
4. Achievement system integration
|
||||||
|
|
||||||
**Final Validation:**
|
**Final Validation:**
|
||||||
|
|
||||||
1. Full game context testing
|
1. Full game context testing
|
||||||
2. Performance regression testing
|
2. Performance regression testing
|
||||||
3. Platform compatibility verification
|
3. Platform compatibility verification
|
||||||
@@ -407,19 +449,22 @@ Difficulty
|
|||||||
[[LLM: Define how to measure level design success]]
|
[[LLM: Define how to measure level design success]]
|
||||||
|
|
||||||
**Player Engagement:**
|
**Player Engagement:**
|
||||||
|
|
||||||
- Level completion rate: {{target_rate}}%
|
- Level completion rate: {{target_rate}}%
|
||||||
- Replay rate: {{replay_target}}%
|
- Replay rate: {{replay_target}}%
|
||||||
- Time spent per level: {{engagement_time}}
|
- Time spent per level: {{engagement_time}}
|
||||||
- Player satisfaction scores: {{satisfaction_target}}/10
|
- Player satisfaction scores: {{satisfaction_target}}/10
|
||||||
|
|
||||||
**Technical Performance:**
|
**Technical Performance:**
|
||||||
|
|
||||||
- Frame rate consistency: {{fps_consistency}}%
|
- Frame rate consistency: {{fps_consistency}}%
|
||||||
- Loading time compliance: {{load_compliance}}%
|
- Loading time compliance: {{load_compliance}}%
|
||||||
- Memory usage efficiency: {{memory_efficiency}}%
|
- Memory usage efficiency: {{memory_efficiency}}%
|
||||||
- Crash rate: <{{crash_threshold}}%
|
- Crash rate: <{{crash_threshold}}%
|
||||||
|
|
||||||
**Design Quality:**
|
**Design Quality:**
|
||||||
|
|
||||||
- Difficulty curve adherence: {{curve_accuracy}}
|
- Difficulty curve adherence: {{curve_accuracy}}
|
||||||
- Mechanic integration effectiveness: {{integration_score}}
|
- Mechanic integration effectiveness: {{integration_score}}
|
||||||
- Player guidance clarity: {{guidance_score}}
|
- Player guidance clarity: {{guidance_score}}
|
||||||
- Content accessibility: {{accessibility_rate}}%
|
- Content accessibility: {{accessibility_rate}}%
|
||||||
|
|||||||
@@ -31,8 +31,8 @@ persona:
|
|||||||
- Collaborative Operations - Work closely with development teams fostering shared responsibility for system reliability
|
- Collaborative Operations - Work closely with development teams fostering shared responsibility for system reliability
|
||||||
startup:
|
startup:
|
||||||
- Announce: Hey! I'm Alex, your DevOps Infrastructure Specialist. I love when things run secure, stable, reliable and performant. I can help with infrastructure architecture, platform engineering, CI/CD pipelines, and operational excellence. What infrastructure challenge can I help you with today?
|
- Announce: Hey! I'm Alex, your DevOps Infrastructure Specialist. I love when things run secure, stable, reliable and performant. I can help with infrastructure architecture, platform engineering, CI/CD pipelines, and operational excellence. What infrastructure challenge can I help you with today?
|
||||||
- 'List available tasks: review-infrastructure, validate-infrastructure, create infrastructure documentation'
|
- "List available tasks: review-infrastructure, validate-infrastructure, create infrastructure documentation"
|
||||||
- 'List available templates: infrastructure-architecture, infrastructure-platform-from-arch'
|
- "List available templates: infrastructure-architecture, infrastructure-platform-from-arch"
|
||||||
- Execute selected task or stay in persona to help guided by Core DevOps Principles
|
- Execute selected task or stay in persona to help guided by Core DevOps Principles
|
||||||
commands:
|
commands:
|
||||||
- '*help" - Show: numbered list of the following commands to allow selection'
|
- '*help" - Show: numbered list of the following commands to allow selection'
|
||||||
|
|||||||
Binary file not shown.
@@ -5,4 +5,4 @@ Tools for creating and extending BMAD framework components.
|
|||||||
## Tasks
|
## Tasks
|
||||||
|
|
||||||
- **create-agent**: Create new AI agent definitions
|
- **create-agent**: Create new AI agent definitions
|
||||||
- **generate-expansion-pack**: Generate new expansion pack templates
|
- **generate-expansion-pack**: Generate new expansion pack templates
|
||||||
|
|||||||
@@ -50,4 +50,4 @@ dependencies:
|
|||||||
templates:
|
templates:
|
||||||
- agent-tmpl
|
- agent-tmpl
|
||||||
- expansion-pack-plan-tmpl
|
- expansion-pack-plan-tmpl
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -183,12 +183,12 @@ When a required task or template doesn't exist:
|
|||||||
```yaml
|
```yaml
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- 'create-doc # Required if agent creates any documents'
|
- create-doc
|
||||||
- 'analyze-requirements # Custom task for this agent'
|
- analyze-requirements
|
||||||
- 'generate-report # Another custom task'
|
- generate-report
|
||||||
templates:
|
templates:
|
||||||
- 'requirements-doc # Template for requirements documents'
|
- requirements-doc
|
||||||
- 'analysis-report # Template for analysis reports'
|
- analysis-report
|
||||||
```
|
```
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
|
|||||||
@@ -673,7 +673,7 @@ Before declaring complete:
|
|||||||
|
|
||||||
**README Structure with Character Introduction:**
|
**README Structure with Character Introduction:**
|
||||||
|
|
||||||
````markdown
|
```markdown
|
||||||
# {Pack Name} Expansion Pack
|
# {Pack Name} Expansion Pack
|
||||||
|
|
||||||
## Meet Your {Domain} Team
|
## Meet Your {Domain} Team
|
||||||
@@ -698,9 +698,7 @@ _{Professional background and expertise}_
|
|||||||
|
|
||||||
2. **Launch Orchestrator**:
|
2. **Launch Orchestrator**:
|
||||||
|
|
||||||
```bash
|
|
||||||
npm run agent {pack-name}-orchestrator
|
npm run agent {pack-name}-orchestrator
|
||||||
```
|
|
||||||
|
|
||||||
3. **Follow Numbered Options**: {Character Name} will present numbered choices for each decision
|
3. **Follow Numbered Options**: {Character Name} will present numbered choices for each decision
|
||||||
|
|
||||||
@@ -730,7 +728,7 @@ _{Professional background and expertise}_
|
|||||||
### Knowledge Base
|
### Knowledge Base
|
||||||
|
|
||||||
[Embedded domain expertise]
|
[Embedded domain expertise]
|
||||||
````
|
```
|
||||||
|
|
||||||
#### 6.3 Advanced Data File Documentation with Validation
|
#### 6.3 Advanced Data File Documentation with Validation
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ dependencies:
|
|||||||
- [TEMPLATE_1] # Template with LLM instructions for guided creation
|
- [TEMPLATE_1] # Template with LLM instructions for guided creation
|
||||||
- [TEMPLATE_2] # Another template for different document type
|
- [TEMPLATE_2] # Another template for different document type
|
||||||
[[LLM: Example: blueprint-tmpl, contract-tmpl, report-tmpl
|
[[LLM: Example: blueprint-tmpl, contract-tmpl, report-tmpl
|
||||||
Each template should include [[LLM: guidance]] and other conventions from `template-formmat.md` sections for user interaction]]
|
Each template should include [[LLM: guidance]] and other conventions from `template-format.md` sections for user interaction]]
|
||||||
|
|
||||||
checklists:
|
checklists:
|
||||||
- [CHECKLIST_1] # Quality validation for template outputs
|
- [CHECKLIST_1] # Quality validation for template outputs
|
||||||
@@ -125,19 +125,19 @@ commands:
|
|||||||
- '*exit" - Say goodbye as Marcus and exit'
|
- '*exit" - Say goodbye as Marcus and exit'
|
||||||
dependencies:
|
dependencies:
|
||||||
tasks:
|
tasks:
|
||||||
- 'create-doc # For document creation'
|
- create-doc
|
||||||
- 'validate-plans # Custom validation task'
|
- validate-plans
|
||||||
- 'safety-assessment # Custom safety review task'
|
- safety-assessment
|
||||||
templates:
|
templates:
|
||||||
- 'blueprint-tmpl # Architectural blueprint template'
|
- blueprint-tmpl
|
||||||
- 'estimate-tmpl # Cost estimation template'
|
- estimate-tmpl
|
||||||
- 'schedule-tmpl # Project timeline template'
|
- schedule-tmpl
|
||||||
checklists:
|
checklists:
|
||||||
- 'blueprint-checklist # Validates blueprint completeness'
|
- blueprint-checklist
|
||||||
- 'safety-checklist # Safety compliance validation'
|
- safety-checklist
|
||||||
data:
|
data:
|
||||||
- 'building-codes.md # Local building code reference'
|
- building-codes.md
|
||||||
- 'materials-guide.md # Construction materials specs'
|
- materials-guide.md
|
||||||
utils:
|
utils:
|
||||||
- 'template-format # For template processing'
|
- template-format
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user