UNPKG

@ptnglobal/bmad-method

Version:

Breakthrough Method of Agile AI-driven Development

214 lines (209 loc) 10.8 kB
workflow: id: godot-game-prototype name: Godot Rapid Prototype Development description: Godot-optimized workflow leveraging the engine's rapid prototyping features - @tool scripts, built-in nodes, CSG geometry, immediate mode GUI, and GDScript's duck typing. Emphasizes Godot's hot reload, in-editor testing, and scene-based iteration for validating game concepts in hours, not days. type: prototype project_types: - godot-game-jam - godot-mechanic-test - godot-shader-demo - godot-physics-sandbox - godot-ui-experiment - godot-multiplayer-test prototype_sequence: - step: concept_definition agent: game-designer duration: 15-30 minutes creates: concept-summary.md notes: Define concept leveraging Godot's strengths - built-in physics (Box2D/Bullet), particle systems, shaders, or procedural generation. Identify which Godot nodes will drive the core mechanic. - step: rapid_design agent: game-designer duration: 30-60 minutes creates: prototype-spec.md requires: concept-summary.md optional_steps: - godot_node_selection - scene_structure_sketch - input_action_mapping notes: Map mechanics to specific Godot nodes (Area2D, CharacterBody2D, RigidBody2D). Define scene hierarchy and signal connections. Plan InputMap actions for immediate responsiveness. - step: technical_planning agent: game-developer duration: 15-30 minutes creates: prototype-architecture.md requires: prototype-spec.md notes: Plan Godot-specific implementation - scene structure, autoload needs, @tool scripts for in-editor testing. Use GDScript for all prototype code (duck typing speeds iteration). Identify built-in nodes to leverage. - step: implementation_stories agent: game-sm duration: 30-45 minutes creates: prototype-stories/ requires: prototype-spec.md, prototype-architecture.md notes: Create 3-5 Godot-focused stories - "Create player scene with CharacterBody2D", "Implement _physics_process movement", "Connect Area2D signals for interactions". Each story includes specific node types and Godot methods. - step: iterative_development agent: game-developer duration: varies implements: prototype-stories/ notes: Use Godot's hot reload and @tool scripts for real-time iteration. Test in editor with F6 (scene) and F5 (project). Profile with Godot's built-in monitors. Use Remote Debugger for mobile testing. Document which built-in nodes work best. workflow_end: action: prototype_evaluation notes: "Prototype complete. Evaluate core mechanics, gather feedback, and decide next steps: iterate, expand, or archive." game_jam_sequence: - step: jam_concept agent: game-designer duration: 10-15 minutes creates: jam-concept.md notes: Match jam theme to Godot's built-in capabilities. Identify hero nodes (e.g., CPUParticles2D for effects, AudioStreamPlayer2D for dynamic audio). Define InputMap actions. - step: jam_implementation agent: game-developer duration: varies (jam timeline) creates: working-prototype requires: jam-concept.md notes: Build directly in Godot editor. Use built-in nodes, CSG for 3D prototypes, immediate GUI for quick UI. Leverage Godot's animation player for juice. Export to HTML5 for easy sharing. Keep scenes under 100 nodes for performance. jam_workflow_end: action: jam_submission notes: Submit to game jam. Capture lessons learned and consider post-jam development if concept shows promise. flow_diagram: | ```mermaid graph TD A[Start: Prototype Project] --> B{Development Context?} B -->|Standard Prototype| C[game-designer: concept-summary.md] B -->|Game Jam| D[game-designer: jam-concept.md] C --> E[game-designer: prototype-spec.md] E --> F[game-developer: prototype-architecture.md] F --> G[game-sm: create prototype stories] G --> H[game-developer: iterative implementation] H --> I[Prototype Evaluation] D --> J[game-developer: direct implementation] J --> K[Game Jam Submission] E -.-> E1[Optional: quick brainstorming] E -.-> E2[Optional: reference research] style I fill:#90EE90 style K fill:#90EE90 style C fill:#FFE4B5 style E fill:#FFE4B5 style F fill:#FFE4B5 style G fill:#FFE4B5 style H fill:#FFE4B5 style D fill:#FFB6C1 style J fill:#FFB6C1 ``` godot_specific_features: rapid_prototyping_tools: - Tool scripts for in-editor testing without running - CSG nodes for quick 3D geometry without modeling - Immediate mode drawing for debug visualizations - Built-in placeholder assets (icon.svg, default theme) - Hot reload for GDScript changes prototype_acceleration: - F6 to test current scene instantly - F5 to run full project - Remote debugging on devices - Live scene editing while running - Inspector value tweaking in real-time godot_node_combinations: quick_player: CharacterBody2D + CollisionShape2D + Sprite2D pickup_system: Area2D + signal connections physics_toy: RigidBody2D + joints + constraints particle_effects: CPUParticles2D with built-in parameters ui_prototype: Control + containers + theme variations export_for_testing: - HTML5 export for easy web sharing - One-click APK export for Android testing - Debug export with remote debugger enabled - PCK files for quick distribution decision_guidance: use_prototype_sequence_when: - Testing Godot-specific features (shaders, particles, physics) - Validating scene composition strategies - Experimenting with Godot's node system combinations - Building with Godot's animation tools (AnimationPlayer, AnimationTree) - Testing Godot export targets (HTML5, Mobile, Desktop) - Learning Godot's signal patterns and node communication use_game_jam_sequence_when: - Godot Game Jam participation - Leveraging Godot's rapid development features - Using CSG for quick 3D prototypes - Building with Godot's immediate mode GUI - Testing Godot's networking capabilities quickly godot_prototype_best_practices: godot_rapid_development: - Use @tool scripts to test mechanics in editor without running - Leverage Godot's hot reload for immediate feedback - Build scenes incrementally with F6 (test current scene) - Use placeholder Godot icons and CSG shapes godot_node_leverage: - Start with Godot's template projects when applicable - Use Area2D for all detection/trigger needs - Implement with CharacterBody2D's built-in movement methods - Apply RigidBody2D for physics toys - Use Control nodes with containers for auto-layout UI godot_iteration_tools: - Run scenes directly with F6 during development - Use Godot's remote debugger for device testing - Monitor performance with built-in profiler (not external tools) - Adjust project settings in real-time - Use editor's node property tweaking for balancing godot_prototyping_patterns: - Compose scenes, don't code everything - Signal connections over hard references - Export variables for in-editor tweaking - AnimationPlayer for all timed events - Resource files (.tres) for data-driven design godot_prototype_evaluation: godot_mechanic_validation: - Does the mechanic work well with Godot's physics engine? - Are Godot's built-in nodes sufficient or do we need custom? - Can the mechanic scale with Godot's scene instancing? - Does it perform well on Godot's HTML5 export? godot_technical_assessment: - Draw calls under 1000 (check Godot profiler) - Physics bodies under 200 for mobile targets - Scene tree depth reasonable (<10 levels) - Proper use of Godot's threading if needed - GDScript performance adequate or need C#/GDExtension? godot_expansion_viability: - Can current scene structure support more content? - Are signals and groups set up for scaling? - Is the resource system being used effectively? - Would Godot's multiplayer API support this mechanic? - Are we leveraging Godot's strengths (not fighting it)? post_prototype_options: iterate_and_improve: action: continue_prototyping when: Core mechanic shows promise but needs refinement next_steps: Create new prototype iteration focusing on identified improvements expand_to_full_game: action: transition_to_full_development when: Prototype validates strong game concept next_steps: Use game-dev-greenfield workflow to create full game design and architecture pivot_concept: action: new_prototype_direction when: Current mechanic doesn't work but insights suggest new direction next_steps: Apply learnings to new prototype concept archive_and_learn: action: document_learnings when: Prototype doesn't work but provides valuable insights next_steps: Document lessons learned and move to next prototype concept godot_time_boxing: concept_phase: 30 min - Pick Godot nodes that drive your mechanic design_phase: 1 hour - Sketch scene tree and signal flow planning_phase: 30 min - Set up Godot project with right settings implementation_phase: 2-hour sprints - F6 test after each sprint polish_phase: 1 hour - Godot's animation tools for juice godot_success_metrics: godot_velocity: - First scene running in Godot within 2 hours - Core nodes connected and signaling within 4 hours - Playable build exported (HTML5) within 8 hours - All built-in Godot features identified for mechanic godot_learning: - Which Godot nodes best serve the mechanic - Performance profile from Godot's monitors - Export size and load time benchmarks - Godot-specific optimizations discovered - Editor workflow improvements identified handoff_prompts: concept_to_design: Concept defined with target Godot nodes identified. Create design spec mapping mechanics to Godot's systems. design_to_technical: Design ready with scene structure planned. Create Godot project setup and technical approach. technical_to_stories: Godot architecture defined. Create stories with specific node types and signal connections. stories_to_implementation: Stories specify Godot implementation. Begin building in editor with F6 testing. prototype_to_evaluation: Prototype running in Godot. Check profiler metrics and evaluate for expansion.