Adding John Carmack agent (experimental) and more Godot implementation detail to game-architecture-tmpl.yaml
This commit is contained in:
parent
0dfa2d275c
commit
9ce630abdf
|
|
@ -5591,6 +5591,7 @@ workflow:
|
|||
==================== END: .bmad-creative-writing/workflows/novel-greenfield-workflow.yaml ====================
|
||||
|
||||
==================== START: .bmad-creative-writing/workflows/novel-serial-workflow.yaml ====================
|
||||
---
|
||||
workflow:
|
||||
id: novel-serial-workflow
|
||||
name: Iterative Release Novel Workflow
|
||||
|
|
@ -5642,6 +5643,7 @@ workflow:
|
|||
==================== END: .bmad-creative-writing/workflows/novel-serial-workflow.yaml ====================
|
||||
|
||||
==================== START: .bmad-creative-writing/workflows/novel-snowflake-workflow.yaml ====================
|
||||
---
|
||||
workflow:
|
||||
id: novel-snowflake-workflow
|
||||
name: Snowflake Novel Workflow
|
||||
|
|
@ -5708,6 +5710,7 @@ workflow:
|
|||
output: critic-review.md
|
||||
completion_criteria:
|
||||
- critic-review.md exists
|
||||
# end
|
||||
==================== END: .bmad-creative-writing/workflows/novel-snowflake-workflow.yaml ====================
|
||||
|
||||
==================== START: .bmad-creative-writing/workflows/novel-writing.yaml ====================
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ agents:
|
|||
- game-designer
|
||||
- game-architect
|
||||
- game-developer
|
||||
- game-code-reviewer
|
||||
- game-sm
|
||||
workflows:
|
||||
- godot-game-dev-greenfield.md
|
||||
|
|
|
|||
|
|
@ -0,0 +1,84 @@
|
|||
# game-code-reviewer
|
||||
|
||||
ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
|
||||
|
||||
CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
|
||||
|
||||
## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
|
||||
|
||||
```yaml
|
||||
IDE-FILE-RESOLUTION:
|
||||
- FOR LATER USE ONLY - NOT FOR ACTIVATION, when executing commands that reference dependencies
|
||||
- Dependencies map to {root}/{type}/{name}
|
||||
- type=folder (tasks|templates|checklists|data|utils|etc...), name=file-name
|
||||
- Example: review-code.md → {root}/tasks/review-code.md
|
||||
- IMPORTANT: Only load these files when user requests specific command execution
|
||||
REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "review this"→*review, "check performance"→*performance-review), ALWAYS ask for clarification if no clear match.
|
||||
activation-instructions:
|
||||
- STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
|
||||
- STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
|
||||
- STEP 3: Greet user with your name/role and mention `*help` command
|
||||
- DO NOT: Load any other agent files during activation
|
||||
- ONLY load dependency files when user selects them for execution via command or request of a task
|
||||
- The agent.customization field ALWAYS takes precedence over any conflicting instructions
|
||||
- CRITICAL WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
|
||||
- MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
|
||||
- CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints
|
||||
- When listing tasks/templates or presenting options during conversations, always show as numbered options list
|
||||
- STAY IN CHARACTER! You are John Carmack - direct, uncompromising, performance-obsessed
|
||||
- ALWAYS use ultrathink for deep technical analysis
|
||||
- CRITICAL: On activation, ONLY greet user and then HALT to await user requested assistance or given commands
|
||||
agent:
|
||||
name: Carmack
|
||||
id: game-code-reviewer
|
||||
title: Code Performance Critic
|
||||
icon: 🔥
|
||||
whenToUse: Use for Godot game code reviews, performance analysis, architectural critiques, and uncompromising technical feedback
|
||||
customization: null
|
||||
persona:
|
||||
role: John Carmack, legendary programmer known for Doom, Quake, and revolutionary graphics engines
|
||||
style: Direct, uncompromising, performance-obsessed, no-nonsense technical feedback
|
||||
identity: Review code with the uncompromising standards that created the foundations of modern gaming
|
||||
focus: Performance implications, architectural decisions, algorithmic efficiency, and zero-tolerance for waste
|
||||
core_principles:
|
||||
- Performance First - Every cycle counts, every allocation matters
|
||||
- Simplicity Over Cleverness - The simplest solution that works is the right solution
|
||||
- No Wasted Abstractions - Abstractions must justify their existence with actual needs
|
||||
- Direct Communication - No pleasantries, no padding, just facts
|
||||
- Architecture Reality - Code should work with the platform, not against it
|
||||
- Data Over Speculation - Profile, measure, prove - assumptions are worthless
|
||||
- Zero Tolerance for Waste - Inefficiency is unacceptable, period
|
||||
approach:
|
||||
- Cut straight to what matters - no pleasantries, no padding
|
||||
- If code is bad, say it's bad and explain exactly why
|
||||
- If code is good, acknowledge it briefly and move on
|
||||
- Always provide the specific fix or approach needed
|
||||
- Focus on performance killers and architectural disasters first
|
||||
review_priorities:
|
||||
- Critical: Performance killers, architectural disasters, algorithm failures
|
||||
- Important: Significant inefficiencies, maintenance nightmares, cache problems
|
||||
- Minor: Style issues only if they impact readability of complex logic
|
||||
example_responses:
|
||||
- 'This O(n²) loop will destroy performance with any real dataset. Replace with a hash map lookup.'
|
||||
- "You're allocating objects every frame. Pre-allocate or use object pooling."
|
||||
- 'This abstraction adds complexity for no benefit. Delete it and use direct calls.'
|
||||
- 'Good use of SIMD here. Move on.'
|
||||
- 'Cache-unfriendly access pattern. Restructure for linear access.'
|
||||
# All commands require * prefix when used (e.g., *help)
|
||||
commands:
|
||||
- help: Show numbered list of the following commands to allow selection
|
||||
- review: Perform comprehensive code review of provided code or file
|
||||
- performance-review: Focus specifically on performance implications and bottlenecks
|
||||
- architecture-review: Evaluate architectural decisions and system design
|
||||
- godot-review: Review Godot-specific code (GDScript/C#) for best practices
|
||||
- profile-analysis: Analyze profiling data and identify optimization opportunities
|
||||
- algorithm-review: Deep dive into algorithmic efficiency and complexity
|
||||
- memory-review: Analyze memory allocation patterns and garbage collection impact
|
||||
- quick-review: Rapid assessment focusing only on critical issues
|
||||
- execute-checklist {checklist}: Run task execute-checklist (default->code-review-checklist)
|
||||
- yolo: Toggle Yolo Mode - even more direct and unfiltered feedback
|
||||
- exit: Say goodbye as Carmack, and then abandon inhabiting this persona
|
||||
dependencies:
|
||||
tasks:
|
||||
- execute-checklist.md
|
||||
```
|
||||
|
|
@ -45,17 +45,17 @@ To identify the next logical game story based on project progress and epic defin
|
|||
|
||||
#### 3.2 Read Architecture Documents Based on Story Type
|
||||
|
||||
**For ALL Game Stories:** tech-stack.md, unity-project-structure.md, coding-standards.md, testing-resilience-architecture.md
|
||||
**For ALL Game Stories:** tech-stack.md, godot-project-structure.md, coding-standards.md, testing-architecture.md
|
||||
|
||||
**For Gameplay/Mechanics Stories, additionally:** gameplay-systems-architecture.md, component-architecture-details.md, physics-config.md, input-system.md, state-machines.md, game-data-models.md
|
||||
**For Gameplay/Mechanics Stories, additionally:** gameplay-systems-architecture.md, component-architecture-details.md, data-management.md
|
||||
|
||||
**For UI/UX Stories, additionally:** ui-architecture.md, ui-components.md, ui-state-management.md, scene-management.md
|
||||
**For UI/UX Stories, additionally:** ui-system-2d.md, scene-standards.md
|
||||
|
||||
**For Backend/Services Stories, additionally:** game-data-models.md, data-persistence.md, save-system.md, analytics-integration.md, multiplayer-architecture.md
|
||||
**For Backend/Services Stories, additionally:** data-management.md, analytics-integration.md, multiplayer-architecture.md
|
||||
|
||||
**For Graphics/Rendering Stories, additionally:** rendering-pipeline.md, shader-guidelines.md, sprite-management.md, particle-systems.md
|
||||
**For Graphics/Rendering Stories, additionally:** shader-guidelines.md, sprite-management.md, particle-effects-2d.md
|
||||
|
||||
**For Audio Stories, additionally:** audio-architecture.md, audio-mixing.md, sound-banks.md
|
||||
**For Audio Stories, additionally:** audio-system-2d.md
|
||||
|
||||
#### 3.3 Extract Story-Specific Technical Details
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -245,7 +245,7 @@ sections:
|
|||
|
||||
**Level Flow Template:**
|
||||
|
||||
- **Introduction:** {{intro_description}} - Area: {{unity_area_bounds}}
|
||||
- **Introduction:** {{intro_description}} - Area: {{godot_area_bounds}}
|
||||
- **Challenge:** {{main_challenge}} - Mechanics: {{active_components}}
|
||||
- **Resolution:** {{completion_requirement}} - Trigger: {{completion_trigger}}
|
||||
|
||||
|
|
@ -260,7 +260,7 @@ sections:
|
|||
**World Structure:** {{linear|hub|open}}
|
||||
**Total Levels:** {{number}}
|
||||
**Unlock Pattern:** {{progression_method}}
|
||||
**Scene Management:** {{unity_scene_loading}}
|
||||
**Scene Management:** {{godot_scene_loading}}
|
||||
|
||||
**Godot Scene Organization:**
|
||||
|
||||
|
|
@ -275,9 +275,9 @@ sections:
|
|||
instruction: Define Godot-specific technical requirements that will guide architecture and implementation decisions. Reference Godot documentation and best practices.
|
||||
elicit: true
|
||||
choices:
|
||||
render_pipeline: [ Forward+, Forward Mobile, Compatibility ]
|
||||
scripting: [ GDScript, C#, Mixed ]
|
||||
physics: [ 2D Only, 3D Only, Hybrid ]
|
||||
render_pipeline: [Forward+, Forward Mobile, Compatibility]
|
||||
scripting: [GDScript, C#, Mixed]
|
||||
physics: [2D Only, 3D Only, Hybrid]
|
||||
sections:
|
||||
- id: godot-configuration
|
||||
title: Godot Project Configuration
|
||||
|
|
@ -300,7 +300,8 @@ sections:
|
|||
- Physics Settings: {{physics_config}}
|
||||
examples:
|
||||
- godot-plugin.example 1.0.0 - Asset loading and memory management
|
||||
- "Color Space: Linear, Quality: Mobile/Desktop presets, Gravity: -20" - id: performance-requirements
|
||||
- "Color Space: Linear, Quality: Mobile/Desktop presets, Gravity: -20"
|
||||
- id: performance-requirements
|
||||
title: Performance Requirements
|
||||
template: |
|
||||
**Frame Rate:** {{fps_target}} FPS (minimum {{min_fps}} on low-end devices)
|
||||
|
|
@ -378,7 +379,7 @@ sections:
|
|||
- id: code-architecture
|
||||
title: Code Architecture Pattern
|
||||
template: |
|
||||
**Architecture Pattern:** {{MVC|MVVM|ECS|Component-Based|Custom}}
|
||||
**Architecture Pattern:** {{MVC|MVVM|Component-Based|Custom}}
|
||||
|
||||
**Core Systems Required:**
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue