feat: security overhaul (proxy ssrf fix, streaming sanitization, docker optimization)

This commit is contained in:
Michael committed 2026-01-07 08:43:33 +01:00
1 parent 6d87ada2b8
commit 8df9a37baa
810 files changed
+131090 -151

No files matched your search

@@ -0,0 +1,139 @@
# Narrative Design Workflow Validation Checklist
**Purpose**: Validate narrative design outputs are complete, cohesive, and ready for implementation.
**Scope**: Story-driven games and applications (follows GDD workflow)
**Expected Output**: narrative-design.md
---
## 1. Output File Exists
- [ ] narrative-design.md created in output folder
- [ ] GDD.md exists (narrative workflow requires GDD first)
- [ ] No unfilled {{template_variables}}
---
## 2. Story Foundation
### Core Elements
- [ ] **Narrative premise** clearly stated (elevator pitch, 2-3 sentences)
- [ ] **Core themes** identified (2-4 meaningful themes)
- [ ] **Tone and atmosphere** established
- [ ] Premise is compelling and fits game type
### Story Structure
- [ ] **Story structure chosen** (3-act, hero's journey, branching, etc.)
- [ ] **Acts/sections broken down** with clear progression
- [ ] **Major story beats** documented (key moments that drive narrative)
- [ ] Structure fits narrative complexity level
---
## 3. Characters
### Protagonist(s)
- [ ] Background and motivation explained
- [ ] Character arc defined (how they change)
- [ ] Internal and external conflicts identified
### Antagonist(s)
- [ ] Motivation clear (why they oppose protagonist)
- [ ] Goals and methods explained
- [ ] Not one-dimensional
### Supporting Cast
- [ ] Major supporting characters documented
- [ ] Each has distinct role in story
- [ ] Character relationships mapped
### Character Arcs
- [ ] Major characters have starting → transformation → ending states
- [ ] Arc progression makes sense
---
## 4. World and Lore
- [ ] **World setting** defined (time, place, world type)
- [ ] **World rules** explained (magic, technology, society)
- [ ] **History and backstory** documented
- [ ] Key locations described with narrative significance
---
## 5. Dialogue and Delivery
### Dialogue Framework
- [ ] Dialogue style established
- [ ] Key conversations identified
- [ ] Branching dialogue system described (if applicable)
### Narrative Delivery
- [ ] Cutscenes/cinematics approach defined
- [ ] In-game storytelling methods explained
- [ ] Optional vs. required content distinguished
- [ ] Multiple endings documented (if applicable)
---
## 6. Gameplay Integration
- [ ] **Narrative-gameplay harmony** addressed (how story and mechanics connect)
- [ ] **Story gates** explained (how narrative controls progression)
- [ ] **Player agency** level defined (can player affect story?)
- [ ] Integration doesn't fight game design
---
## 7. Production Scope
- [ ] **Writing scope** estimated (word count, scene count, dialogue lines)
- [ ] Scope realistic for project level
- [ ] Localization considerations noted (if applicable)
- [ ] Voice acting plans documented (if applicable)
---
## 8. Consistency with GDD
- [ ] Narrative aligns with GDD game design
- [ ] Tone matches GDD art/audio direction
- [ ] Story supports game mechanics (doesn't contradict)
- [ ] No conflicts between narrative and gameplay
---
## 9. Critical Failures (Auto-Fail)
- [ ] ❌ **No GDD** (narrative workflow requires GDD first)
- [ ] ❌ **No character arcs** (protagonist has no development)
- [ ] ❌ **No story beats** (major moments not identified)
- [ ] ❌ **Contradicts GDD** (narrative fights game design)
---
## Validation Notes
**Document any findings:**
- Narrative strength: [Compelling / Interesting / Adequate / Weak]
- Strengths:
- Issues to address:
- Recommended actions:
**Ready for solutioning?** [Yes / No - explain]
---
_Adapt based on narrative complexity level (Critical/Heavy/Moderate/Light)._
@@ -0,0 +1,604 @@
# Narrative Design Workflow
<workflow>
<critical>The workflow execution engine is governed by: {project_root}/_bmad/core/tasks/workflow.xml</critical>
<critical>You MUST have already completed the GDD workflow</critical>
<critical>Communicate all responses in {communication_language}</critical>
<critical>This workflow creates detailed narrative content for story-driven games</critical>
<critical>Uses narrative_template for output</critical>
<critical>If users mention gameplay mechanics, note them but keep focus on narrative</critical>
<critical>Facilitate good brainstorming techniques throughout with the user, pushing them to come up with much of the narrative you will help weave together. The goal is for the user to feel that they crafted the narrative and story arc unless they push you to do it all or indicate YOLO</critical>
<critical>⚠️ CHECKPOINT PROTOCOL: After EVERY <template-output> tag, you MUST follow workflow.xml substep 2c: SAVE content to file immediately → SHOW checkpoint separator (━━━━━━━━━━━━━━━━━━━━━━━) → DISPLAY generated content → PRESENT options [a]Advanced Elicitation/[c]Continue/[p]Party-Mode/[y]YOLO → WAIT for user response. Never batch saves or skip checkpoints.</critical>
<step n="0" goal="Check for workflow status" tag="workflow-status">
<action>Check if {output_folder}/bmgd-workflow-status.yaml exists</action>
<check if="status file not found">
<output>No workflow status file found. Narrative workflow is optional - you can continue without status tracking.</output>
<action>Set standalone_mode = true</action>
</check>
<check if="status file found">
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
<action>Parse workflow_status section</action>
<action>Check status of "narrative" workflow</action>
<action>Get project_level from YAML metadata</action>
<action>Find first non-completed workflow (next expected workflow)</action>
<check if="narrative status is file path (already completed)">
<output>⚠️ Narrative Design Document already completed: {{narrative status}}</output>
<ask>Re-running will overwrite the existing narrative document. Continue? (y/n)</ask>
<check if="n">
<output>Exiting. Use workflow-status to see your next step.</output>
<action>Exit workflow</action>
</check>
</check>
<check if="narrative is not the next expected workflow (latter items are completed already in the list)">
<output>⚠️ Next expected workflow: {{next_workflow}}. Narrative is out of sequence.</output>
<ask>Continue with Narrative Design anyway? (y/n)</ask>
<check if="n">
<output>Exiting. Run {{next_workflow}} instead.</output>
<action>Exit workflow</action>
</check>
</check>
<action>Set standalone_mode = false</action>
</check>
</step>
<step n="1" goal="Load GDD context and assess narrative complexity">
<action>Load GDD.md from {output_folder}</action>
<action>Extract game_type, game_name, and any narrative mentions</action>
<ask>What level of narrative complexity does your game have?
**Narrative Complexity:**
1. **Critical** - Story IS the game (Visual Novel, Text-Based Adventure)
2. **Heavy** - Story drives the experience (Story-driven RPG, Narrative Adventure)
3. **Moderate** - Story enhances gameplay (Metroidvania, Tactics RPG, Horror)
4. **Light** - Story provides context (most other genres)
Your game type ({{game_type}}) suggests **{{suggested_complexity}}**. Confirm or adjust:</ask>
<action>Set narrative_complexity</action>
<check if="complexity == Light">
<ask>Light narrative games usually don't need a full Narrative Design Document. Are you sure you want to continue?
- GDD story sections may be sufficient
- Consider just expanding GDD narrative notes
- Proceed with full narrative workflow
Your choice:</ask>
<action>Load narrative_template from workflow.yaml</action>
</check>
</step>
<step n="2" goal="Define narrative premise and themes">
<ask>Describe your narrative premise in 2-3 sentences.
This is the "elevator pitch" of your story.
Examples:
- "A young knight discovers they're the last hope to stop an ancient evil, but must choose between saving the kingdom or their own family."
- "After a mysterious pandemic, survivors must navigate a world where telling the truth is deadly but lying corrupts your soul."
Your premise:</ask>
<template-output>narrative_premise</template-output>
<ask>What are the core themes of your narrative? (2-4 themes)
Themes are the underlying ideas/messages.
Examples: redemption, sacrifice, identity, corruption, hope vs. despair, nature vs. technology
Your themes:</ask>
<template-output>core_themes</template-output>
<ask>Describe the tone and atmosphere.
Consider: dark, hopeful, comedic, melancholic, mysterious, epic, intimate, etc.
Your tone:</ask>
<template-output>tone_atmosphere</template-output>
</step>
<step n="3" goal="Define story structure">
<ask>What story structure are you using?
Common structures:
- **3-Act** (Setup, Confrontation, Resolution)
- **Hero's Journey** (Campbell's monomyth)
- **Kishōtenketsu** (4-act: Introduction, Development, Twist, Conclusion)
- **Episodic** (Self-contained episodes with arc)
- **Branching** (Multiple paths and endings)
- **Freeform** (Player-driven narrative)
Your structure:</ask>
<template-output>story_type</template-output>
<ask>Break down your story into acts/sections.
For 3-Act:
- Act 1: Setup and inciting incident
- Act 2: Rising action and midpoint
- Act 3: Climax and resolution
Describe each act/section for your game:</ask>
<template-output>act_breakdown</template-output>
</step>
<step n="4" goal="Define major story beats">
<ask>List the major story beats (10-20 key moments).
Story beats are significant events that drive the narrative forward.
Format:
1. [Beat name] - Brief description
2. [Beat name] - Brief description
...
Your story beats:</ask>
<template-output>story_beats</template-output>
<ask>Describe the pacing and flow of your narrative.
Consider:
- Slow burn vs. fast-paced
- Tension/release rhythm
- Story-heavy vs. gameplay-heavy sections
- Optional vs. required narrative content
Your pacing:</ask>
<template-output>pacing_flow</template-output>
</step>
<step n="5" goal="Develop protagonist(s)">
<ask>Describe your protagonist(s).
For each protagonist include:
- Name and brief description
- Background and motivation
- Character arc (how they change)
- Strengths and flaws
- Relationships to other characters
- Internal and external conflicts
Your protagonist(s):</ask>
<template-output>protagonists</template-output>
</step>
<step n="6" goal="Develop antagonist(s)">
<ask>Describe your antagonist(s).
For each antagonist include:
- Name and brief description
- Background and motivation
- Goals (what they want)
- Methods (how they pursue goals)
- Relationship to protagonist
- Sympathetic elements (if any)
Your antagonist(s):</ask>
<template-output>antagonists</template-output>
</step>
<step n="7" goal="Develop supporting characters">
<ask>Describe supporting characters (allies, mentors, companions, NPCs).
For each character include:
- Name and role
- Personality and traits
- Relationship to protagonist
- Function in story (mentor, foil, comic relief, etc.)
- Key scenes/moments
Your supporting characters:</ask>
<template-output>supporting_characters</template-output>
</step>
<step n="8" goal="Map character arcs">
<ask>Describe the character arcs for major characters.
Character arc: How does the character change from beginning to end?
For each arc:
- Starting state
- Key transformation moments
- Ending state
- Lessons learned
Your character arcs:</ask>
<template-output>character_arcs</template-output>
</step>
<step n="9" goal="Build world and lore">
<ask>Describe your world.
Include:
- Setting (time period, location, world type)
- World rules (magic systems, technology level, societal norms)
- Atmosphere and aesthetics
- What makes this world unique
Your world:</ask>
<template-output>world_overview</template-output>
<ask>What is the history and backstory of your world?
- Major historical events
- How did the world reach its current state?
- Legends and myths
- Past conflicts
Your history:</ask>
<template-output>history_backstory</template-output>
</step>
<step n="10" goal="Define factions and locations">
<ask optional="true">Describe factions, organizations, or groups (if applicable).
For each:
- Name and purpose
- Leadership and structure
- Goals and methods
- Relationships with other factions
Your factions:</ask>
<template-output>factions_organizations</template-output>
<ask>Describe key locations in your world.
For each location:
- Name and description
- Narrative significance
- Atmosphere and mood
- Key events that occur there
Your locations:</ask>
<template-output>locations</template-output>
</step>
<step n="11" goal="Define dialogue framework">
<ask>Describe your dialogue style.
Consider:
- Formal vs. casual
- Period-appropriate vs. modern
- Verbose vs. concise
- Humor level
- Profanity/mature language
Your dialogue style:</ask>
<template-output>dialogue_style</template-output>
<ask>List key conversations/dialogue moments.
Include:
- Who is involved
- When it occurs
- What's discussed
- Narrative purpose
- Emotional tone
Your key conversations:</ask>
<template-output>key_conversations</template-output>
<check if="game has branching dialogue">
<ask>Describe your branching dialogue system.
- How many branches/paths?
- What determines branches? (stats, choices, flags)
- Do branches converge?
- How much unique dialogue?
Your branching system:</ask>
<template-output>branching_dialogue</template-output>
</check>
</step>
<step n="12" goal="Environmental storytelling">
<ask>How will you tell story through the environment?
Visual storytelling:
- Set dressing and props
- Environmental damage/aftermath
- Visual symbolism
- Color and lighting
Your visual storytelling:</ask>
<template-output>visual_storytelling</template-output>
<ask>How will audio contribute to storytelling?
- Ambient sounds
- Music emotional cues
- Voice acting
- Audio logs/recordings
Your audio storytelling:</ask>
<template-output>audio_storytelling</template-output>
<ask optional="true">Will you have found documents (journals, notes, emails)?
If yes, describe:
- Types of documents
- How many
- What they reveal
- Optional vs. required reading
Your found documents:</ask>
<template-output>found_documents</template-output>
</step>
<step n="13" goal="Narrative delivery methods">
<ask>How will you deliver narrative content?
**Cutscenes/Cinematics:**
- How many?
- Skippable?
- Real-time or pre-rendered?
- Average length
Your cutscenes:</ask>
<template-output>cutscenes</template-output>
<ask>How will you deliver story during gameplay?
- NPC conversations
- Radio/comm chatter
- Environmental cues
- Player actions
- Show vs. tell balance
Your in-game storytelling:</ask>
<template-output>ingame_storytelling</template-output>
<ask>What narrative content is optional?
- Side quests
- Collectible lore
- Optional conversations
- Secret endings
Your optional content:</ask>
<template-output>optional_content</template-output>
<check if="multiple endings">
<ask>Describe your ending structure.
- How many endings?
- What determines ending? (choices, stats, completion)
- Ending variety (minor variations vs. drastically different)
- True/golden ending?
Your endings:</ask>
<template-output>multiple_endings</template-output>
</check>
</step>
<step n="14" goal="Gameplay integration">
<ask>How does narrative integrate with gameplay?
- Does story unlock mechanics?
- Do mechanics reflect themes?
- Ludonarrative harmony or dissonance?
- Balance of story vs. gameplay
Your narrative-gameplay integration:</ask>
<template-output>narrative_gameplay</template-output>
<ask>How does story gate progression?
- Story-locked areas
- Cutscene triggers
- Mandatory story beats
- Optional vs. required narrative
Your story gates:</ask>
<template-output>story_gates</template-output>
<ask>How much agency does the player have?
- Can player affect story?
- Meaningful choices?
- Role-playing freedom?
- Predetermined vs. dynamic narrative
Your player agency:</ask>
<template-output>player_agency</template-output>
</step>
<step n="15" goal="Production planning">
<ask>Estimate your writing scope.
- Word count estimate
- Number of scenes/chapters
- Dialogue lines estimate
- Branching complexity
Your scope:</ask>
<template-output>writing_scope</template-output>
<ask>Localization considerations?
- Target languages
- Cultural adaptation needs
- Text expansion concerns
- Dialogue recording implications
Your localization:</ask>
<template-output>localization</template-output>
<ask>Voice acting plans?
- Fully voiced, partially voiced, or text-only?
- Number of characters needing voices
- Dialogue volume
- Budget considerations
Your voice acting:</ask>
<template-output>voice_acting</template-output>
</step>
<step n="16" goal="Completion and next steps">
<action>Generate character relationship map (text-based diagram)</action>
<template-output>relationship_map</template-output>
<action>Generate story timeline</action>
<template-output>timeline</template-output>
<ask optional="true">Any references or inspirations to note?
- Books, movies, games that inspired you
- Reference materials
- Tone/theme references
Your references:</ask>
<template-output>references</template-output>
<ask>**✅ Narrative Design Complete, {user_name}!**
Next steps:
1. Proceed to solutioning (technical architecture)
2. Create detailed script/screenplay (outside workflow)
3. Review narrative with team/stakeholders
4. Exit workflow
Which would you like?</ask>
</step>
<step n="17" goal="Update status if tracking enabled" tag="workflow-status">
<check if="standalone_mode != true">
<action>Load the FULL file: {output_folder}/bmgd-workflow-status.yaml</action>
<action>Find workflow_status key "narrative"</action>
<critical>ONLY write the file path as the status value - no other text, notes, or metadata</critical>
<action>Update workflow_status["narrative"] = "{output_folder}/bmm-narrative-{{game_name}}-{{date}}.md"</action>
<action>Save file, preserving ALL comments and structure including STATUS DEFINITIONS</action>
<action>Find first non-completed workflow in workflow_status (next workflow to do)</action>
<action>Determine next agent from path file based on next workflow</action>
</check>
<output>**✅ Narrative Design Complete, {user_name}!**
**Narrative Document:**
- Narrative design saved to {output_folder}/bmm-narrative-{{game_name}}-{{date}}.md
{{#if standalone_mode != true}}
**Status Updated:**
- Progress tracking updated: narrative marked complete
- Next workflow: {{next_workflow}}
{{else}}
**Note:** Running in standalone mode (no progress tracking)
{{/if}}
**Next Steps:**
{{#if standalone_mode != true}}
- **Next workflow:** {{next_workflow}} ({{next_agent}} agent)
- **Optional:** Review narrative with writing team or stakeholders
Check status anytime with: `workflow-status`
{{else}}
Since no workflow is in progress:
- Review narrative design with team
- Refer to the BMM workflow guide if unsure what to do next
- Or run `workflow-init` to create a workflow path and get guided next steps
{{/if}}
</output>
</step>
</workflow>
@@ -0,0 +1,229 @@
---
name: 'step-01-init'
description: 'Initialize narrative workflow, load GDD context, and assess narrative complexity'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-01-init.md'
continueStepFile: '{workflow_path}/steps/step-01b-continue.md'
nextStepFile: '{workflow_path}/steps/step-02-foundation.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
templateFile: '{workflow_path}/templates/narrative-template.md'
---
# Step 1: Initialize Narrative Workflow
**Progress: Step 1 of 11** - Next: Story Foundation
## STEP GOAL:
Validate workflow readiness, check for existing narrative document, load GDD context, and assess the appropriate level of narrative complexity for this game.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- Help users craft THEIR story, not yours
- Narrative complexity should match the game
### Step-Specific Rules:
- Check for existing narrative before starting fresh
- Load GDD to understand game context
- Let user confirm narrative complexity level
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Wait for user confirmation at each checkpoint
- Update frontmatter `stepsCompleted: [1]` before loading next step
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Check Workflow Status
**Search for workflow status file:**
Check if `{output_folder}/bmgd-workflow-status.yaml` exists.
**If status file found:**
- Load and parse workflow_status section
- Check status of "narrative" workflow
- Determine if this is the expected next workflow
**Handle scenarios:**
- If already completed: Ask about overwriting
- If out of sequence: Warn and confirm continuation
- Set `standalone_mode` appropriately
### 2. Check for Existing Narrative
**Search for existing narrative document:**
Look for existing narrative files in {output_folder}:
- `*narrative*.md`
- `*story*.md`
**If existing narrative found:**
"I found an existing narrative document: `{{existing_file}}`
**Options:**
1. **Continue** - Resume from where you left off
2. **Start Fresh** - Begin a new narrative (will overwrite)
3. **Review** - Let me review the existing document first
Which would you like to do?"
**Handle selection:**
- If **Continue**: Load `{continueStepFile}`
- If **Start Fresh**: Continue with step 3
- If **Review**: Show document summary
### 3. Load GDD Context
**Search for GDD:**
Look for GDD files using patterns:
- `{output_folder}/*gdd*.md`
- `{output_folder}/*game-design*.md`
**If GDD not found:**
"**Note: GDD Not Found**
The Narrative workflow works best with a completed GDD.
**Options:**
1. Continue without GDD (I'll ask more questions)
2. Run GDD workflow first: `create-gdd`
Your choice:"
**If GDD found:**
Load and extract:
- `game_type`
- `game_name`
- Any existing narrative mentions
- Core mechanics and themes
### 4. Assess Narrative Complexity
"**Narrative Complexity Assessment**
Let's determine the right depth for your narrative design.
**Narrative Complexity Levels:**
| Level | Description | Examples |
| ------------ | ----------------------- | ------------------------------ |
| **Critical** | Story IS the game | Visual Novel, Text Adventure |
| **Heavy** | Story drives experience | Story RPG, Narrative Adventure |
| **Moderate** | Story enhances gameplay | Metroidvania, Horror, Tactics |
| **Light** | Story provides context | Most action, puzzle, arcade |
**Based on {{game_type}}, I'd suggest: {{suggested_complexity}}**
What level of narrative complexity does {{game_name}} have?"
### 5. Validate Complexity Choice
**If user selects Light:**
"**Light narrative games usually don't need a full Narrative Design Document.**
Your options:
1. **Proceed anyway** - Create full narrative document
2. **Quick narrative** - Just the essentials (premise, setting, key characters)
3. **Expand GDD** - Add narrative sections to existing GDD instead
What would you like to do?"
**Handle selection appropriately.**
### 6. Initialize Output Document
**If proceeding with full narrative:**
Create `{outputFile}` with frontmatter:
```markdown
---
title: 'Narrative Design Document'
project: '{{game_name}}'
date: '{{date}}'
author: '{{user_name}}'
version: '1.0'
stepsCompleted: [1]
status: 'in-progress'
narrativeComplexity: '{{selected_complexity}}'
gdd: '{{gdd_file}}'
---
# Narrative Design Document
## {{game_name}}
### Document Status
This narrative document is being created through the BMGD Narrative Workflow.
**Narrative Complexity:** {{selected_complexity}}
**Steps Completed:** 1 of 11 (Initialize)
---
_Content will be added as we progress through the workflow._
```
### 7. Proceed to Foundation Step
After initialization:
- Update frontmatter: `stepsCompleted: [1]`
- Load `{nextStepFile}`
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Workflow status checked appropriately
- Existing narrative check performed
- GDD loaded and analyzed (if available)
- Narrative complexity assessed with user
- Output document initialized with proper frontmatter
- Frontmatter updated with stepsCompleted: [1]
### SYSTEM FAILURE:
- Starting without complexity assessment
- Not checking for existing narrative
- Proceeding without user confirmation
- Missing frontmatter initialization
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,164 @@
---
name: 'step-01b-continue'
description: 'Continue an existing narrative workflow from where it left off'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-01b-continue.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Step Files (for routing)
step02: '{workflow_path}/steps/step-02-foundation.md'
step03: '{workflow_path}/steps/step-03-story.md'
step04: '{workflow_path}/steps/step-04-characters.md'
step05: '{workflow_path}/steps/step-05-world.md'
step06: '{workflow_path}/steps/step-06-dialogue.md'
step07: '{workflow_path}/steps/step-07-environmental.md'
step08: '{workflow_path}/steps/step-08-delivery.md'
step09: '{workflow_path}/steps/step-09-integration.md'
step10: '{workflow_path}/steps/step-10-production.md'
step11: '{workflow_path}/steps/step-11-complete.md'
---
# Step 1b: Continue Existing Narrative
**Resuming Narrative Workflow**
## STEP GOAL:
Load the existing narrative document, determine progress, and route to the appropriate next step.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Step-Specific Rules:
- Parse frontmatter to determine completed steps
- Present summary of current progress
- Route to correct next step based on state
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Load Existing Narrative
**Read the existing narrative document:**
Load `{outputFile}` and parse the frontmatter to extract:
- `stepsCompleted` array
- `status`
- `project` name
- `narrativeComplexity`
- GDD reference
### 2. Analyze Progress
**Determine workflow state:**
Map completed steps to workflow progress:
- Step 1: Initialize
- Step 2: Foundation (premise, themes, structure)
- Step 3: Story (beats and pacing)
- Step 4: Characters (all characters and arcs)
- Step 5: World (world, history, locations)
- Step 6: Dialogue (dialogue systems)
- Step 7: Environmental (environmental storytelling)
- Step 8: Delivery (narrative delivery methods)
- Step 9: Integration (gameplay integration)
- Step 10: Production (scope and planning)
- Step 11: Complete
**Calculate next step:**
Find the highest completed step and determine the next step file to load.
### 3. Present Continuation Summary
"**Resuming Narrative Workflow**
{{user_name}}, I found your existing narrative for **{{game_name}}**.
**Progress:** Steps completed: {{stepsCompleted}}
**Narrative Complexity:** {{narrativeComplexity}}
**Sections Completed:**
{{list_of_completed_sections}}
**Current Status:**
- Last completed: {{last_step_name}}
- Next step: {{next_step_name}} (Step {{next_step_number}} of 11)
Would you like to:
1. **Continue** - Resume from {{next_step_name}}
2. **Review** - Show me what we've written so far
3. **Restart Step** - Redo the last completed step
Select an option:"
### 4. Handle User Selection
**If Continue:**
- Load the next step file based on `stepsCompleted`
**If Review:**
- Present summary of all completed sections
- Show key narrative elements (premise, characters, etc.)
- Return to continuation options
**If Restart Step:**
- Decrement stepsCompleted to remove last step
- Load the step file for the step being restarted
### 5. Route to Next Step
Based on next step number, load the appropriate step file:
| Next Step | File |
| --------- | -------- |
| 2 | {step02} |
| 3 | {step03} |
| 4 | {step04} |
| 5 | {step05} |
| 6 | {step06} |
| 7 | {step07} |
| 8 | {step08} |
| 9 | {step09} |
| 10 | {step10} |
| 11 | {step11} |
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Existing document loaded and parsed
- Progress accurately determined
- User presented with clear options
- Correct step file loaded based on state
### SYSTEM FAILURE:
- Failing to parse frontmatter correctly
- Loading wrong step file
- Not presenting continuation options
- Overwriting existing progress without confirmation
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,263 @@
---
name: 'step-02-foundation'
description: 'Define narrative premise, themes, tone, and story structure'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-02-foundation.md'
nextStepFile: '{workflow_path}/steps/step-03-story.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 2: Story Foundation
**Progress: Step 2 of 11** - Next: Story Beats
## STEP GOAL:
Define the narrative foundation: premise, themes, tone/atmosphere, and overall story structure. These elements form the backbone of all narrative content.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
- NEVER mention time estimates
### Role Reinforcement:
- You are a narrative design facilitator
- Help users articulate THEIR story vision
- The premise should come from the user
### Step-Specific Rules:
- FORBIDDEN to generate premise without user input
- Draw out user's ideas through questions
- Themes should resonate with user's intent
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2]` before loading next step
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Explore themes deeper
- **P (Party Mode)**: Get perspectives on foundation
- **C (Continue)**: Save the content and proceed
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Narrative Premise Discovery
"Let's define the narrative foundation for **{{game_name}}**.
**First, the premise - your story's elevator pitch in 2-3 sentences.**
Good premises have:
- A protagonist with a clear goal
- An obstacle or conflict
- Stakes (what happens if they fail?)
**Examples:**
- \"A young knight discovers they're the last hope to stop an ancient evil, but must choose between saving the kingdom or their own family.\"
- \"After a mysterious pandemic, survivors must navigate a world where telling the truth is deadly but lying corrupts your soul.\"
What's the premise for {{game_name}}?"
### 2. Theme Discovery
"**Now let's identify your core themes.**
Themes are the underlying ideas or messages woven throughout the story.
**Common game themes:**
- Redemption, sacrifice, identity
- Power and corruption
- Hope vs. despair
- Nature vs. technology
- Freedom vs. control
- Family, loyalty, betrayal
**Questions to consider:**
- What questions does your story ask?
- What will players think about after playing?
- What emotions do you want to evoke?
What are 2-4 core themes for {{game_name}}?"
### 3. Tone and Atmosphere Discovery
"**Let's define the tone and atmosphere.**
Tone shapes how the story feels moment-to-moment.
**Tone spectrums:**
- Dark ←→ Lighthearted
- Serious ←→ Comedic
- Gritty ←→ Fantastical
- Intimate ←→ Epic
- Hopeful ←→ Melancholic
**Atmosphere elements:**
- Visual mood (colors, lighting)
- Audio mood (music style)
- Pacing (contemplative vs. urgent)
- Emotional register
Describe the tone and atmosphere for {{game_name}}:"
### 4. Story Structure Discovery
"**What story structure will you use?**
**Common structures:**
| Structure | Description |
| ------------------ | ------------------------------------------------------ |
| **3-Act** | Setup → Confrontation → Resolution |
| **Hero's Journey** | Campbell's monomyth (departure, initiation, return) |
| **Kishōtenketsu** | 4-act: Introduction → Development → Twist → Conclusion |
| **Episodic** | Self-contained episodes with overarching arc |
| **Branching** | Multiple paths and endings |
| **Freeform** | Player-driven, emergent narrative |
What structure fits {{game_name}}?"
### 5. Act Breakdown
"**Let's break down your story into acts/sections.**
Based on {{selected_structure}}:
{{structure_specific_prompts}}
Describe each act/section for {{game_name}}:"
### 6. Generate Foundation Content
Based on the conversation, prepare the content:
```markdown
## Story Foundation
### Narrative Premise
{{user_premise}}
### Core Themes
{{themes_list_with_descriptions}}
### Tone and Atmosphere
**Tone:** {{tone_description}}
**Atmosphere:** {{atmosphere_description}}
**Emotional Register:** {{emotional_goals}}
---
## Story Structure
### Structure Type
**{{structure_type}}**
{{structure_description}}
### Act Breakdown
{{act_breakdown_details}}
```
### 7. Present Content and Menu
Show the generated content to the user and present:
"I've drafted the Story Foundation based on our conversation.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 6]
**Validation Check:**
- Does the premise capture your vision?
- Do the themes resonate with your intent?
- Does the structure fit your gameplay?
**Select an Option:**
[A] Advanced Elicitation - Explore themes and structure deeper
[P] Party Mode - Get perspectives on foundation
[C] Continue - Save this and move to Story Beats (Step 3 of 11)"
### 8. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [foundation content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Premise captured from user input
- Themes identified and described
- Tone and atmosphere defined
- Story structure selected and broken down
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted: [1, 2]
### SYSTEM FAILURE:
- Generating premise FOR user
- Generic themes not connected to user's vision
- Proceeding without structure breakdown
- Not presenting A/P/C menu after content
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,239 @@
---
name: 'step-03-story'
description: 'Define major story beats and narrative pacing'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-03-story.md'
nextStepFile: '{workflow_path}/steps/step-04-characters.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 3: Story Beats
**Progress: Step 3 of 11** - Next: Characters
## STEP GOAL:
Define the major story beats (key narrative moments) and establish pacing and flow throughout the game experience.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- Story beats are the skeleton of the narrative
- Help user identify key moments, don't create them
### Step-Specific Rules:
- FORBIDDEN to generate story beats without user input
- Guide user through beat mapping
- Connect beats to structure defined in Step 2
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Explore beats and connections
- **P (Party Mode)**: Get perspectives on pacing
- **C (Continue)**: Save the content and proceed
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Story Beats Discovery
"**Let's map the major story beats for {{game_name}}.**
Story beats are significant events that drive the narrative forward.
**Key beat types:**
- **Inciting Incident** - What sets the story in motion?
- **Plot Points** - Major turning points
- **Midpoint** - Central pivot moment
- **Climax** - Highest tension point
- **Resolution** - How things conclude
**Based on your {{structure_type}} structure, list 10-20 key moments.**
Format:
1. [Beat name] - Brief description
2. [Beat name] - Brief description
What are the major story beats for {{game_name}}?"
### 2. Beat Placement
"**Now let's place these beats within your structure.**
For {{structure_type}}:
**Act 1 beats:**
Which of your beats belong in the setup/introduction?
**Act 2 beats:**
Which beats drive the main conflict/development?
**Act 3 beats:**
Which beats resolve the story?
Let's organize your beats:"
### 3. Pacing Discovery
"**Let's define the pacing and flow.**
**Pacing considerations:**
| Aspect | Options |
| ------------------- | --------------------------------- |
| **Overall tempo** | Slow burn vs. fast-paced |
| **Tension pattern** | Escalating vs. waves |
| **Story density** | Heavy sections vs. light sections |
| **Player agency** | Mandatory vs. optional content |
**Questions:**
- When should tension be highest?
- Where are the breathing room moments?
- How much story per gameplay hour?
Describe the pacing for {{game_name}}:"
### 4. Generate Story Content
Based on the conversation, prepare the content:
```markdown
## Story Beats
### Major Story Beats
{{beats_list_with_descriptions}}
### Beat Placement by Act
**Act 1: Setup**
{{act1_beats}}
**Act 2: Confrontation**
{{act2_beats}}
**Act 3: Resolution**
{{act3_beats}}
---
## Pacing and Flow
### Narrative Tempo
{{pacing_description}}
### Tension Curve
{{tension_pattern}}
### Story Density
{{density_by_section}}
### Key Moments
**Highest tension:** {{peak_moment}}
**Emotional climax:** {{emotional_peak}}
**Resolution beat:** {{resolution_moment}}
```
### 5. Present Content and Menu
Show the generated content to the user and present:
"I've mapped out the story beats and pacing.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 4]
**Validation Check:**
- Are all major moments captured?
- Does pacing match your vision?
- Are beats properly distributed?
**Select an Option:**
[A] Advanced Elicitation - Explore beats and connections
[P] Party Mode - Get perspectives on pacing
[C] Continue - Save this and move to Characters (Step 4 of 11)"
### 6. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2, 3]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [story content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- 10-20 story beats identified from user input
- Beats organized by act/structure
- Pacing and flow defined
- Tension curve established
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted: [1, 2, 3]
### SYSTEM FAILURE:
- Generating beats FOR user
- Beats not connected to structure
- Missing pacing considerations
- Not presenting A/P/C menu after content
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,298 @@
---
name: 'step-04-characters'
description: 'Develop all characters including protagonists, antagonists, supporting cast, and their arcs'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-04-characters.md'
nextStepFile: '{workflow_path}/steps/step-05-world.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 4: Characters
**Progress: Step 4 of 11** - Next: World Building
## STEP GOAL:
Develop all characters: protagonists, antagonists, and supporting cast. Define their backgrounds, motivations, relationships, and character arcs.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- Characters should feel like user's creations
- Draw out personality through questions
### Step-Specific Rules:
- FORBIDDEN to create characters without user input
- Guide user through character development
- Ensure characters connect to themes
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2, 3, 4]` before loading next step
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Deep dive into characters
- **P (Party Mode)**: Get perspectives on character design
- **C (Continue)**: Save the content and proceed
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Protagonist Discovery
"**Let's develop the protagonist(s) of {{game_name}}.**
For each protagonist, tell me:
- **Name and description** - Who are they?
- **Background** - Where do they come from?
- **Motivation** - What do they want?
- **Strengths** - What are they good at?
- **Flaws** - What holds them back?
- **Internal conflict** - What do they struggle with inside?
- **External conflict** - What obstacles do they face?
Describe your protagonist(s):"
### 2. Antagonist Discovery
"**Now let's develop the antagonist(s).**
Great antagonists:
- Have understandable motivations
- Challenge the protagonist meaningfully
- May have sympathetic elements
- Represent or oppose the themes
For each antagonist:
- **Name and description**
- **Background** - How did they become this way?
- **Goals** - What do they want?
- **Methods** - How do they pursue their goals?
- **Relationship to protagonist**
- **Sympathetic elements** (if any)
Describe your antagonist(s):"
### 3. Supporting Cast Discovery
"**Let's flesh out the supporting characters.**
Common supporting roles:
- **Mentor** - Guides the protagonist
- **Ally/Companion** - Travels with protagonist
- **Foil** - Contrasts protagonist's traits
- **Love interest** - Romantic connection
- **Comic relief** - Lightens tone
- **Informant** - Provides information
For each supporting character:
- **Name and role**
- **Personality and traits**
- **Relationship to protagonist**
- **Function in story**
- **Key scenes/moments**
Describe your supporting characters:"
### 4. Character Arcs Discovery
"**Now let's map character arcs.**
A character arc shows how a character changes (or refuses to change) through the story.
**Arc types:**
- **Positive arc** - Character overcomes flaw, grows
- **Negative arc** - Character falls, corrupts
- **Flat arc** - Character's beliefs tested but hold
- **Transformation** - Character becomes something new
For major characters:
- **Starting state** - Who are they at the beginning?
- **Transformation moments** - What changes them?
- **Ending state** - Who are they at the end?
- **Lessons learned**
Describe the character arcs:"
### 5. Generate Characters Content
Based on the conversation, prepare the content:
```markdown
## Characters
### Protagonist(s)
#### {{protagonist_name}}
**Description:** {{description}}
**Background:** {{background}}
**Motivation:** {{motivation}}
**Strengths:** {{strengths}}
**Flaws:** {{flaws}}
**Conflicts:**
- Internal: {{internal_conflict}}
- External: {{external_conflict}}
---
### Antagonist(s)
#### {{antagonist_name}}
**Description:** {{description}}
**Background:** {{background}}
**Goals:** {{goals}}
**Methods:** {{methods}}
**Relationship to Protagonist:** {{relationship}}
**Sympathetic Elements:** {{if_any}}
---
### Supporting Characters
{{for_each_supporting_character}}
#### {{character_name}}
**Role:** {{role}}
**Personality:** {{personality}}
**Function:** {{story_function}}
**Key Moments:** {{key_scenes}}
{{/for_each}}
---
## Character Arcs
### {{character_name}} Arc
**Starting State:** {{beginning}}
**Transformation Moments:**
{{transformation_points}}
**Ending State:** {{end}}
**Lessons Learned:** {{lessons}}
{{repeat_for_each_major_character}}
```
### 6. Present Content and Menu
Show the generated content to the user and present:
"I've documented all characters and their arcs.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 5]
**Character Summary:**
- Protagonists: {{count}}
- Antagonists: {{count}}
- Supporting: {{count}}
**Validation Check:**
- Do characters connect to your themes?
- Are arcs meaningful and complete?
- Do relationships create conflict?
**Select an Option:**
[A] Advanced Elicitation - Deep dive into characters
[P] Party Mode - Get perspectives on character design
[C] Continue - Save this and move to World Building (Step 5 of 11)"
### 7. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [characters content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Protagonists fully developed from user input
- Antagonists with clear motivations
- Supporting cast defined with functions
- Character arcs mapped for major characters
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4]
### SYSTEM FAILURE:
- Creating characters without user input
- Flat characters without depth
- Missing character arcs
- Not presenting A/P/C menu after content
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,263 @@
---
name: 'step-05-world'
description: 'Build the world including setting, history, factions, and key locations'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-05-world.md'
nextStepFile: '{workflow_path}/steps/step-06-dialogue.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 5: World Building
**Progress: Step 5 of 11** - Next: Dialogue Systems
## STEP GOAL:
Build the game's world including setting, history/backstory, factions/organizations, and key locations where the narrative unfolds.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- World should support and enhance the story
- Draw out user's vision of their world
### Step-Specific Rules:
- FORBIDDEN to create world elements without user input
- Connect world to themes and story
- Focus on narrative-relevant world-building
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5]` before loading next step
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Explore world depth
- **P (Party Mode)**: Get perspectives on world-building
- **C (Continue)**: Save the content and proceed
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. World Overview Discovery
"**Let's build the world of {{game_name}}.**
Describe your world:
- **Setting** - Where and when does this take place?
- **World type** - Fantasy, sci-fi, modern, historical, etc.
- **World rules** - Magic systems? Technology level? Physical laws?
- **Atmosphere** - What mood does the world evoke?
- **What makes it unique?**
Describe the world:"
### 2. History and Backstory Discovery
"**What's the history of your world?**
Consider:
- **Major historical events** - Wars, discoveries, cataclysms?
- **How did the world reach its current state?**
- **Legends and myths** - What do people believe?
- **Past conflicts** - What shaped the present?
- **Secrets** - What is hidden or forgotten?
Describe the history:"
### 3. Factions Discovery (Optional)
"**Are there factions, organizations, or groups?** (Optional)
If applicable, for each faction:
- **Name and purpose**
- **Leadership and structure**
- **Goals and methods**
- **Relationships with other factions**
- **Role in the story**
Describe any factions:"
### 4. Locations Discovery
"**Describe the key locations in your world.**
For each significant location:
- **Name and description**
- **Narrative significance** - Why does it matter to the story?
- **Atmosphere and mood**
- **Key events that occur there**
- **Who controls/inhabits it?**
What are the key locations?"
### 5. Generate World Content
Based on the conversation, prepare the content:
```markdown
## World Building
### World Overview
**Setting:** {{setting_description}}
**World Type:** {{world_type}}
**World Rules:**
{{rules_and_systems}}
**Atmosphere:** {{world_atmosphere}}
**Unique Elements:** {{what_makes_it_unique}}
---
### History and Backstory
**Timeline Overview:**
{{historical_timeline}}
**Major Events:**
{{significant_events}}
**Legends and Myths:**
{{beliefs_and_legends}}
**Hidden Secrets:**
{{world_secrets}}
---
### Factions and Organizations
{{for_each_faction}}
#### {{faction_name}}
**Purpose:** {{purpose}}
**Leadership:** {{leadership}}
**Goals:** {{goals}}
**Methods:** {{methods}}
**Relationships:** {{faction_relationships}}
**Story Role:** {{narrative_function}}
{{/for_each}}
---
### Key Locations
{{for_each_location}}
#### {{location_name}}
**Description:** {{description}}
**Narrative Significance:** {{why_important}}
**Atmosphere:** {{mood}}
**Key Events:** {{events_here}}
**Inhabitants:** {{who_is_here}}
{{/for_each}}
```
### 6. Present Content and Menu
Show the generated content to the user and present:
"I've documented the world of {{game_name}}.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 5]
**World Summary:**
- Setting: {{setting}}
- Factions: {{count}}
- Key locations: {{count}}
**Validation Check:**
- Does the world support your themes?
- Are locations narratively significant?
- Is history relevant to the present story?
**Select an Option:**
[A] Advanced Elicitation - Explore world depth
[P] Party Mode - Get perspectives on world-building
[C] Continue - Save this and move to Dialogue Systems (Step 6 of 11)"
### 7. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [world content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- World setting clearly defined
- History connects to current story
- Factions developed (if applicable)
- Locations are narratively significant
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5]
### SYSTEM FAILURE:
- Creating world without user input
- World disconnected from story
- Generic locations without significance
- Not presenting A/P/C menu after content
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,251 @@
---
name: 'step-06-dialogue'
description: 'Define dialogue style, key conversations, and branching systems'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-06-dialogue.md'
nextStepFile: '{workflow_path}/steps/step-07-environmental.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 6: Dialogue Systems
**Progress: Step 6 of 11** - Next: Environmental Storytelling
## STEP GOAL:
Define dialogue style, key conversations, and branching dialogue systems if applicable.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- Dialogue is how characters come alive
- Style should match tone and setting
### Step-Specific Rules:
- FORBIDDEN to write dialogue without user direction
- Define style and systems, not actual dialogue
- Consider technical implementation implications
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6]` before loading next step
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Explore dialogue depth
- **P (Party Mode)**: Get perspectives on dialogue approach
- **C (Continue)**: Save the content and proceed
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Dialogue Style Discovery
"**Let's define how characters speak in {{game_name}}.**
**Style considerations:**
| Aspect | Options |
| ------------- | ---------------------------- |
| **Formality** | Formal ←→ Casual |
| **Period** | Period-appropriate ←→ Modern |
| **Length** | Verbose ←→ Concise |
| **Humor** | Serious ←→ Comedic |
| **Profanity** | None ←→ Heavy |
**Questions:**
- How do different characters speak differently?
- Are there speech patterns or verbal tics?
- What's the overall voice of the game?
Describe your dialogue style:"
### 2. Key Conversations Discovery
"**List key conversations/dialogue moments.**
For each important conversation:
- **Who is involved?**
- **When does it occur?**
- **What's discussed?**
- **Narrative purpose** - What does it accomplish?
- **Emotional tone**
What are the key conversations in {{game_name}}?"
### 3. Branching Dialogue Discovery
"**Does {{game_name}} have branching dialogue?**
If yes, describe:
- **How many branches/paths?**
- **What determines branches?** (player choice, stats, flags)
- **Do branches converge or stay separate?**
- **How much unique dialogue?**
- **What are the consequences of choices?**
Describe your branching system (or indicate N/A):"
### 4. Generate Dialogue Content
Based on the conversation, prepare the content:
```markdown
## Dialogue Framework
### Dialogue Style
**Overall Voice:** {{dialogue_voice}}
**Style Elements:**
- Formality: {{formality_level}}
- Period: {{period_style}}
- Verbosity: {{verbosity}}
- Humor: {{humor_level}}
- Profanity: {{profanity_level}}
**Character Voice Distinctions:**
{{how_characters_differ}}
---
### Key Conversations
{{for_each_conversation}}
#### {{conversation_name}}
**Participants:** {{who}}
**When:** {{timing}}
**Topic:** {{what_discussed}}
**Purpose:** {{narrative_function}}
**Tone:** {{emotional_tone}}
{{/for_each}}
---
### Branching Dialogue System
{{if_branching}}
**System Type:** {{branching_type}}
**Branch Triggers:** {{what_causes_branches}}
**Branch Scope:**
- Total branches: {{branch_count}}
- Convergence: {{do_they_converge}}
- Unique content: {{percentage_unique}}
**Consequence System:**
{{how_choices_matter}}
{{/if_branching}}
{{if_not_branching}}
**System:** Linear dialogue
**Notes:** {{why_linear}}
{{/if_not_branching}}
```
### 5. Present Content and Menu
Show the generated content to the user and present:
"I've documented the dialogue framework.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 4]
**Dialogue Summary:**
- Style: {{style_summary}}
- Key conversations: {{count}}
- Branching: {{yes_no}}
**Validation Check:**
- Does style match your tone?
- Are key conversations identified?
- Is branching scope realistic?
**Select an Option:**
[A] Advanced Elicitation - Explore dialogue depth
[P] Party Mode - Get perspectives on dialogue approach
[C] Continue - Save this and move to Environmental Storytelling (Step 7 of 11)"
### 6. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [dialogue content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Dialogue style clearly defined
- Key conversations identified
- Branching system documented (if applicable)
- Style matches game tone
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6]
### SYSTEM FAILURE:
- Writing actual dialogue without direction
- Style disconnected from tone
- Missing branching documentation
- Not presenting A/P/C menu after content
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,245 @@
---
name: 'step-07-environmental'
description: 'Plan environmental storytelling including visual, audio, and found documents'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-07-environmental.md'
nextStepFile: '{workflow_path}/steps/step-08-delivery.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 7: Environmental Storytelling
**Progress: Step 7 of 11** - Next: Narrative Delivery
## STEP GOAL:
Define how story is told through the environment: visual storytelling, audio storytelling, and found documents/collectibles.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- Show, don't tell - environmental storytelling is powerful
- Help user think beyond dialogue
### Step-Specific Rules:
- FORBIDDEN to design environmental narrative without user input
- Connect environmental elements to story
- Consider implementation effort
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]` before loading next step
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Explore environmental depth
- **P (Party Mode)**: Get perspectives on environmental storytelling
- **C (Continue)**: Save the content and proceed
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Visual Storytelling Discovery
"**How will you tell story through visuals in {{game_name}}?**
**Visual storytelling elements:**
- **Set dressing and props** - What objects tell stories?
- **Environmental damage/aftermath** - What happened here?
- **Visual symbolism** - Recurring images with meaning
- **Color and lighting** - Mood and meaning through visuals
- **Character design details** - What do appearances reveal?
How will visuals tell story in {{game_name}}?"
### 2. Audio Storytelling Discovery
"**How will audio contribute to storytelling?**
**Audio storytelling elements:**
- **Ambient sounds** - What do players hear in the world?
- **Music emotional cues** - How does music guide feeling?
- **Voice acting** - How is it used beyond dialogue?
- **Audio logs/recordings** - Found audio content?
- **Sound design** - Sounds that carry meaning
How will audio tell story in {{game_name}}?"
### 3. Found Documents Discovery
"**Will you have found documents?** (Journals, notes, emails, etc.)
If yes, describe:
- **Types of documents** - What forms do they take?
- **How many** - Approximate count
- **What they reveal** - Backstory? World-building? Character?
- **Optional vs required** - Must players find them?
- **Reward for finding** - Achievement? Story unlock? Lore only?
Describe your found documents (or indicate N/A):"
### 4. Generate Environmental Content
Based on the conversation, prepare the content:
```markdown
## Environmental Storytelling
### Visual Storytelling
**Set Dressing:**
{{set_dressing_approach}}
**Environmental Details:**
{{environmental_storytelling_examples}}
**Visual Symbolism:**
{{symbolic_elements}}
**Color and Lighting:**
{{color_lighting_approach}}
---
### Audio Storytelling
**Ambient Design:**
{{ambient_sound_approach}}
**Music Integration:**
{{music_storytelling}}
**Voice Elements:**
{{voice_beyond_dialogue}}
**Sound Design Narrative:**
{{meaningful_sounds}}
---
### Found Documents
{{if_has_documents}}
**Document Types:**
{{document_types}}
**Quantity:** {{approximate_count}}
**Content Focus:**
{{what_documents_reveal}}
**Discovery:**
- Required: {{required_documents}}
- Optional: {{optional_documents}}
**Rewards:** {{finding_rewards}}
{{/if_has_documents}}
{{if_no_documents}}
**Approach:** No found documents
**Rationale:** {{why_no_documents}}
{{/if_no_documents}}
```
### 5. Present Content and Menu
Show the generated content to the user and present:
"I've documented the environmental storytelling approach.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 4]
**Environmental Summary:**
- Visual elements: Defined
- Audio elements: Defined
- Found documents: {{yes_no}}
**Validation Check:**
- Does visual storytelling match your world?
- Is audio approach realistic for scope?
- Are found documents well-integrated?
**Select an Option:**
[A] Advanced Elicitation - Explore environmental depth
[P] Party Mode - Get perspectives on environmental storytelling
[C] Continue - Save this and move to Narrative Delivery (Step 8 of 11)"
### 6. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [environmental content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Visual storytelling approach defined
- Audio storytelling integrated
- Found documents documented (if applicable)
- Elements connect to story themes
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7]
### SYSTEM FAILURE:
- Creating environmental details without user input
- Elements disconnected from story
- Missing audio considerations
- Not presenting A/P/C menu after content
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,265 @@
---
name: 'step-08-delivery'
description: 'Design narrative delivery methods including cutscenes, in-game storytelling, and endings'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-08-delivery.md'
nextStepFile: '{workflow_path}/steps/step-09-integration.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 8: Narrative Delivery
**Progress: Step 8 of 11** - Next: Gameplay Integration
## STEP GOAL:
Define how narrative content is delivered to players: cutscenes, in-game storytelling, optional content, and ending structures.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- Delivery method affects player experience
- Balance story delivery with gameplay
### Step-Specific Rules:
- FORBIDDEN to decide delivery without user input
- Consider production effort for each method
- Match delivery to game type
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]` before loading next step
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Explore delivery methods
- **P (Party Mode)**: Get perspectives on delivery approach
- **C (Continue)**: Save the content and proceed
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Cutscenes Discovery
"**How will you use cutscenes in {{game_name}}?**
**Cutscene considerations:**
- **Quantity** - How many major cutscenes?
- **Length** - Average duration?
- **Style** - Real-time rendered? Pre-rendered? Animated?
- **Skippable** - Can players skip?
- **Interactive** - Any QTEs or choices during cutscenes?
Describe your cutscene approach:"
### 2. In-Game Storytelling Discovery
"**How will story be delivered during gameplay?**
**In-game storytelling methods:**
- **NPC conversations** - Talking to characters
- **Radio/comm chatter** - Voice in player's ear
- **Environmental cues** - Reading the world
- **Player actions** - Story through doing
- **UI elements** - Quest logs, journals, etc.
**Balance considerations:**
- Show vs. tell - How much is shown vs. explained?
- Interruption tolerance - How often stop for story?
- Player control - Can players skip/speed up?
How will you deliver story during gameplay?"
### 3. Optional Content Discovery
"**What narrative content is optional?**
**Optional content types:**
- **Side quests** - Optional story missions
- **Collectible lore** - World-building items
- **Optional conversations** - Extra NPC dialogue
- **Secret endings** - Hidden conclusions
- **Extended content** - Post-game, NG+, DLC hooks
What optional narrative content will {{game_name}} have?"
### 4. Endings Discovery
"**If your game has multiple endings, describe them.**
**Ending considerations:**
- **How many endings?**
- **What determines the ending?** (choices, stats, completion)
- **Ending variety** - Minor variations vs. drastically different
- **True/golden ending** - Is there a "best" ending?
- **Replayability** - Can players see all endings?
Describe your ending structure (or indicate single ending):"
### 5. Generate Delivery Content
Based on the conversation, prepare the content:
```markdown
## Narrative Delivery
### Cutscenes
**Quantity:** {{cutscene_count}}
**Average Length:** {{typical_duration}}
**Style:** {{cutscene_style}}
**Skippable:** {{yes_no}}
**Interactive Elements:** {{if_any}}
**Major Cutscenes:**
{{list_of_major_cutscenes}}
---
### In-Game Storytelling
**Primary Methods:**
{{delivery_methods_list}}
**Show vs. Tell Balance:** {{balance_description}}
**Interruption Approach:** {{how_often_story_stops_gameplay}}
**Player Control:** {{skip_speedup_options}}
---
### Optional Content
{{for_each_optional_type}}
**{{content_type}}:**
{{description_and_scope}}
{{/for_each}}
---
### Ending Structure
{{if_multiple_endings}}
**Number of Endings:** {{ending_count}}
**Ending Triggers:** {{what_determines_ending}}
**Ending Variety:**
{{description_of_differences}}
**True Ending:** {{if_exists}}
**Replayability:** {{how_to_see_all}}
{{/if_multiple_endings}}
{{if_single_ending}}
**Ending Type:** Single ending
**Description:** {{ending_approach}}
{{/if_single_ending}}
```
### 6. Present Content and Menu
Show the generated content to the user and present:
"I've documented the narrative delivery approach.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 5]
**Delivery Summary:**
- Cutscenes: {{count_or_none}}
- In-game methods: {{methods_list}}
- Optional content: {{types}}
- Endings: {{single_or_multiple}}
**Validation Check:**
- Is delivery method realistic for scope?
- Does it match your narrative complexity?
- Are endings meaningful?
**Select an Option:**
[A] Advanced Elicitation - Explore delivery methods
[P] Party Mode - Get perspectives on delivery approach
[C] Continue - Save this and move to Gameplay Integration (Step 9 of 11)"
### 7. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [delivery content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Cutscene approach defined
- In-game delivery methods established
- Optional content scoped
- Ending structure documented
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8]
### SYSTEM FAILURE:
- Deciding delivery without user input
- Methods unrealistic for scope
- Missing ending documentation
- Not presenting A/P/C menu after content
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,255 @@
---
name: 'step-09-integration'
description: 'Define how narrative integrates with gameplay including gating, agency, and ludonarrative harmony'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-09-integration.md'
nextStepFile: '{workflow_path}/steps/step-10-production.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 9: Gameplay Integration
**Progress: Step 9 of 11** - Next: Production Planning
## STEP GOAL:
Define how narrative integrates with gameplay: story-gameplay connection, progression gating, and player agency within the narrative.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- Ludonarrative harmony matters
- Story and gameplay should reinforce each other
### Step-Specific Rules:
- FORBIDDEN to design integration without user input
- Consider player experience flow
- Address potential ludonarrative dissonance
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]` before loading next step
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Explore integration depth
- **P (Party Mode)**: Get perspectives on integration
- **C (Continue)**: Save the content and proceed
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Narrative-Gameplay Connection Discovery
"**How does narrative integrate with gameplay in {{game_name}}?**
**Integration questions:**
- Does story unlock new mechanics or abilities?
- Do mechanics reflect the themes?
- Is there harmony between what player DOES and what story SAYS?
- What's the balance of story vs. gameplay sections?
**Ludonarrative consideration:**
Games work best when mechanics and narrative tell the same story. A game about pacifism shouldn't require combat.
Describe how narrative and gameplay connect:"
### 2. Story Gating Discovery
"**How does story gate progression?**
**Gating types:**
- **Hard gates** - Must complete story to proceed
- **Soft gates** - Story available but optional
- **Skill gates** - Narrative rewards for mastery
- **Exploration gates** - Story found through exploring
**Questions:**
- What areas are story-locked?
- What triggers cutscenes?
- What story beats are mandatory?
- What's optional vs. required?
How does story gate progress in {{game_name}}?"
### 3. Player Agency Discovery
"**How much narrative agency does the player have?**
**Agency spectrum:**
- **Full agency** - Player creates their own story
- **Meaningful choices** - Player shapes outcomes
- **Flavor choices** - Player affects tone, not outcome
- **Witness** - Player observes a fixed story
**Questions:**
- Can player affect the story?
- Are choices meaningful or cosmetic?
- How much role-playing freedom?
- Is the narrative predetermined or dynamic?
Describe player agency in {{game_name}}:"
### 4. Generate Integration Content
Based on the conversation, prepare the content:
```markdown
## Gameplay Integration
### Narrative-Gameplay Connection
**Integration Approach:**
{{integration_description}}
**Mechanic-Theme Alignment:**
{{how_mechanics_reflect_themes}}
**Story-Gameplay Balance:**
{{balance_description}}
**Ludonarrative Considerations:**
{{harmony_or_dissonance_notes}}
---
### Story Gating
**Gating Approach:** {{gating_type}}
**Story-Locked Elements:**
{{what_requires_story_progress}}
**Cutscene Triggers:**
{{when_cutscenes_play}}
**Mandatory Story Beats:**
{{required_narrative_content}}
**Optional Narrative:**
{{skippable_content}}
---
### Player Agency
**Agency Level:** {{agency_type}}
**Player Influence:**
{{what_player_can_affect}}
**Choice System:**
{{if_has_choices}}
- Choice types: {{choice_types}}
- Consequence scope: {{how_choices_matter}}
- Timing: {{when_choices_occur}}
{{/if_has_choices}}
**Role-Playing Freedom:**
{{roleplay_options}}
```
### 5. Present Content and Menu
Show the generated content to the user and present:
"I've documented the gameplay-narrative integration.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 4]
**Integration Summary:**
- Connection: {{integration_type}}
- Gating: {{gating_approach}}
- Agency: {{agency_level}}
**Validation Check:**
- Do mechanics support themes?
- Is gating appropriate for your game?
- Is agency level what you want?
**Select an Option:**
[A] Advanced Elicitation - Explore integration depth
[P] Party Mode - Get perspectives on integration
[C] Continue - Save this and move to Production Planning (Step 10 of 11)"
### 6. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [integration content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Narrative-gameplay connection defined
- Gating structure documented
- Player agency level established
- Ludonarrative harmony considered
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9]
### SYSTEM FAILURE:
- Designing integration without user input
- Ignoring ludonarrative harmony
- Missing agency documentation
- Not presenting A/P/C menu after content
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,263 @@
---
name: 'step-10-production'
description: 'Plan production scope including writing estimates, localization, and voice acting'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-10-production.md'
nextStepFile: '{workflow_path}/steps/step-11-complete.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Task References
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---
# Step 10: Production Planning
**Progress: Step 10 of 11** - Next: Complete
## STEP GOAL:
Plan the production scope for narrative content: writing scope estimates, localization considerations, and voice acting plans.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- CRITICAL: When loading next step with 'C', ensure entire file is read
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- Production planning ensures realistic scope
- Help user understand what they're committing to
### Step-Specific Rules:
- FORBIDDEN to estimate scope without user input
- Help user think through production needs
- Be realistic about effort required
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Present A/P/C menu after generating content
- ONLY save when user chooses C (Continue)
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]` before loading next step
## COLLABORATION MENUS (A/P/C):
- **A (Advanced Elicitation)**: Explore production details
- **P (Party Mode)**: Get perspectives on scope
- **C (Continue)**: Save the content and proceed
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Writing Scope Discovery
"**Let's estimate the writing scope for {{game_name}}.**
**Scope elements:**
- **Word count estimate** - Total written content
- **Scene/chapter count** - Major narrative sections
- **Dialogue lines** - Approximate line count
- **Branching complexity** - How much unique content per path?
**For reference:**
- Light narrative game: ~5,000-15,000 words
- Moderate narrative: ~15,000-50,000 words
- Heavy narrative: ~50,000-150,000 words
- Story-driven/Visual novel: 100,000+ words
Estimate your writing scope:"
### 2. Localization Discovery
"**Are you planning localization?**
**Localization considerations:**
- **Target languages** - Which languages?
- **Cultural adaptation** - What needs to change per region?
- **Text expansion** - Some languages use 30% more space
- **UI implications** - Can UI handle longer text?
- **Audio implications** - Will you dub or subtitle?
Describe your localization plans (or indicate English-only):"
### 3. Voice Acting Discovery
"**What are your voice acting plans?**
**Voice acting scope:**
- **Fully voiced** - All dialogue recorded
- **Partially voiced** - Key scenes only
- **Grunts/barks only** - No full dialogue
- **Text only** - No voice acting
**If voiced:**
- Number of characters needing voices?
- Approximate dialogue volume?
- Professional or placeholder voices?
Describe your voice acting approach:"
### 4. Generate Production Content
Based on the conversation, prepare the content:
```markdown
## Production Planning
### Writing Scope
**Estimated Word Count:** {{word_count}}
**Content Breakdown:**
- Main story: {{main_story_words}}
- Side content: {{side_content_words}}
- Environmental/lore: {{lore_words}}
- UI/system text: {{ui_words}}
**Scene Count:** {{scene_count}}
**Dialogue Lines:** {{line_count}}
**Branching Complexity:**
{{branching_impact_on_scope}}
---
### Localization
{{if_localizing}}
**Target Languages:**
{{language_list}}
**Cultural Adaptation Notes:**
{{adaptation_needs}}
**Technical Considerations:**
- Text expansion buffer: {{percentage}}
- UI flexibility: {{notes}}
- Audio approach: {{dub_or_subtitle}}
{{/if_localizing}}
{{if_english_only}}
**Approach:** English only
**Future consideration:** {{maybe_later_notes}}
{{/if_english_only}}
---
### Voice Acting
**Approach:** {{voice_acting_level}}
{{if_voiced}}
**Characters Needing Voices:** {{character_count}}
**Dialogue Volume:** {{line_count_for_recording}}
**Voice Cast Notes:**
{{casting_considerations}}
**Recording Approach:**
{{professional_or_placeholder}}
{{/if_voiced}}
{{if_not_voiced}}
**Rationale:** {{why_no_voice}}
{{/if_not_voiced}}
```
### 5. Present Content and Menu
Show the generated content to the user and present:
"I've documented the production planning.
**Here's what I'll add to the document:**
[Show the complete markdown content from step 4]
**Production Summary:**
- Writing: ~{{word_count}} words
- Localization: {{languages_or_none}}
- Voice acting: {{level}}
**Validation Check:**
- Is scope realistic for your resources?
- Have you considered all production needs?
- Are localization needs addressed?
**Select an Option:**
[A] Advanced Elicitation - Explore production details
[P] Party Mode - Get perspectives on scope
[C] Continue - Save this and move to Completion (Step 11 of 11)"
### 6. Handle Menu Selection
#### IF A (Advanced Elicitation):
- Execute {advancedElicitationTask} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF P (Party Mode):
- Execute {partyModeWorkflow} with the current content
- Ask user: "Accept these changes? (y/n)"
- If yes: Update content, return to A/P/C menu
- If no: Keep original, return to A/P/C menu
#### IF C (Continue):
- Append the final content to `{outputFile}`
- Update frontmatter: `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`
- Load `{nextStepFile}`
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [production content saved with frontmatter updated], will you then load and read fully `{nextStepFile}`.
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Writing scope estimated
- Localization needs addressed
- Voice acting approach defined
- Realistic production expectations set
- A/P/C menu presented and handled correctly
- Frontmatter updated with stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
### SYSTEM FAILURE:
- Estimating scope without user input
- Missing major production considerations
- Unrealistic expectations set
- Not presenting A/P/C menu after content
- Proceeding without user selecting 'C'
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
@@ -0,0 +1,332 @@
---
name: 'step-11-complete'
description: 'Complete the narrative workflow with final summary, visualizations, and handoff'
# Path Definitions
workflow_path: '{project-root}/_bmad/bmgd/workflows/2-design/narrative'
# File References
thisStepFile: '{workflow_path}/steps/step-11-complete.md'
workflowFile: '{workflow_path}/workflow.md'
outputFile: '{output_folder}/narrative-design.md'
# Handoff References
architectureWorkflow: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture/workflow.yaml'
---
# Step 11: Complete
**Progress: Step 11 of 11** - Narrative Design Complete!
## STEP GOAL:
Generate final visualizations (character relationships, timeline), capture references, update workflow status, and provide clear handoff guidance.
## MANDATORY EXECUTION RULES (READ FIRST):
### Universal Rules:
- NEVER generate content without user input
- CRITICAL: Read the complete step file before taking any action
- YOU ARE A FACILITATOR, not a content generator
- NEVER mention time estimates
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
### Role Reinforcement:
- You are a narrative design facilitator
- This is the final step - ensure completeness
- Provide actionable next steps
### Step-Specific Rules:
- Generate relationship map from characters defined
- Generate timeline from story beats
- Capture any references user wants to note
## EXECUTION PROTOCOLS:
- Show your analysis before taking any action
- Generate final visualizations
- Update frontmatter `stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]`
- Present completion summary and next steps
## Sequence of Instructions (Do not deviate, skip, or optimize)
### 1. Generate Character Relationship Map
**Create text-based relationship visualization:**
Based on all characters documented, generate:
```markdown
## Appendix: Character Relationships
### Relationship Map
```
[ANTAGONIST]
|
(opposes)
|
[MENTOR] ---(guides)--- [PROTAGONIST] ---(allies)--- [COMPANION]
|
(romantic)
|
[LOVE INTEREST]
```
### Relationship Key
- {{character_1}} → {{character_2}}: {{relationship_type}}
- {{character_2}} → {{character_3}}: {{relationship_type}}
{{continue_for_all_relationships}}
```
### 2. Generate Story Timeline
**Create timeline visualization:**
Based on story beats documented, generate:
```markdown
## Appendix: Story Timeline
### Chronological Events
```
[BACKSTORY]
|
v
[ACT 1: SETUP]
├── {{beat_1}}
├── {{beat_2}}
└── {{inciting_incident}}
|
v
[ACT 2: CONFRONTATION]
├── {{beat_3}}
├── {{midpoint}}
├── {{beat_4}}
└── {{crisis}}
|
v
[ACT 3: RESOLUTION]
├── {{climax}}
└── {{resolution}}
```
### Timeline Notes
{{any_timeline_clarifications}}
```
### 3. References Discovery
"**Do you have any references or inspirations to note?**
This helps future writers understand your vision:
- Books, movies, games that inspired you
- Reference materials for tone/style
- Mood boards or concept art references
- Theme or narrative references
What references should be documented? (or 'none'):"
### 4. Finalize Document
**Update the document with final content:**
Add relationship map and timeline to document.
**Final frontmatter:**
```yaml
---
title: 'Narrative Design Document'
project: '{{game_name}}'
date: '{{date}}'
author: '{{user_name}}'
version: '1.0'
stepsCompleted: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
status: 'complete'
narrativeComplexity: '{{complexity}}'
---
```
### 5. Update Workflow Status
**If not in standalone mode:**
Load `{output_folder}/bmgd-workflow-status.yaml` and:
- Update `narrative` status to the output file path
- Preserve all comments and structure
- Determine next workflow in sequence
### 6. Present Completion Summary
"**Narrative Design Complete!**
{{user_name}}, the Narrative Design Document for **{{game_name}}** is complete!
**Narrative Summary:**
- **Premise:** {{premise_summary}}
- **Themes:** {{themes_list}}
- **Characters:** {{character_count}} ({{protagonist_count}} protagonist, {{antagonist_count}} antagonist, {{supporting_count}} supporting)
- **Story Structure:** {{structure_type}}
- **Writing Scope:** ~{{word_count}} words
**Sections Completed:**
1. Story Foundation (premise, themes, structure)
2. Story Beats (major moments, pacing)
3. Characters (all characters and arcs)
4. World Building (setting, history, locations)
5. Dialogue Framework (style, key conversations)
6. Environmental Storytelling (visual, audio, documents)
7. Narrative Delivery (cutscenes, in-game, endings)
8. Gameplay Integration (gating, agency)
9. Production Planning (scope, localization, voice)
10. Appendices (relationships, timeline)
**Document saved to:** `{outputFile}`
Do you want to review or adjust anything before we finalize?"
### 7. Handle Review Requests
**If user wants to review:**
"Which would you like to review?
1. Story Foundation
2. Story Beats
3. Characters
4. World Building
5. Dialogue
6. Environmental Storytelling
7. Narrative Delivery
8. Gameplay Integration
9. Production Planning
10. Full Document
Select a section:"
### 8. Present Next Steps Menu
"**Recommended Next Steps:**
1. **Technical Architecture** - Define how narrative systems will be implemented
- Workflow: `create-architecture`
- Input: GDD + Narrative Design
- Output: Technical architecture document
2. **Create Script/Screenplay** - Write the actual dialogue and scenes
- This is done outside the workflow
- Use the Narrative Design as your blueprint
3. **Review with Team** - Share with collaborators for feedback
4. **Exit Workflow**
**Which would you like to do next?**
1. Start Architecture workflow
2. Review the narrative document
3. Exit workflow"
### 9. Handle User Selection
Based on user choice:
**If 1 (Architecture):**
- Confirm document is saved
- Provide handoff guidance
- Note narrative will inform technical decisions
**If 2 (Review):**
- Present full document or requested section
- Return to next steps menu
**If 3 (Exit):**
- Confirm document is saved and complete
- Exit workflow gracefully
### 10. Final Completion Message
"**Narrative Design Complete!**
**Deliverables:**
- Narrative design saved to: `{outputFile}`
- {{character_count}} characters documented
- {{beat_count}} story beats mapped
- {{location_count}} locations defined
{{#if standalone_mode != true}}
**Status Updated:**
- Progress tracking updated: narrative marked complete
- Next recommended: Architecture workflow
{{/if}}
**Your Narrative Is Ready For:**
- Script/screenplay writing
- Technical implementation planning
- Team review and iteration
- Production scheduling
Excellent work crafting the narrative for {{game_name}}, {{user_name}}!"
---
## SYSTEM SUCCESS/FAILURE METRICS
### SUCCESS:
- Relationship map generated
- Timeline generated
- References captured
- All content saved to document
- Workflow status updated (if tracking)
- Frontmatter shows all 11 steps completed
- User has clear next steps
### SYSTEM FAILURE:
- Missing visualizations
- Incomplete document
- Status not updated when tracking
- No clear next steps provided
- User left without guidance
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
---
## Narrative Design Workflow Complete
The Narrative Design workflow creates comprehensive narrative documentation through 11 collaborative steps:
1. **Initialize** - Validate readiness, assess complexity
2. **Foundation** - Premise, themes, tone, structure
3. **Story** - Beats and pacing
4. **Characters** - All characters and arcs
5. **World** - Setting, history, factions, locations
6. **Dialogue** - Style and systems
7. **Environmental** - Environmental storytelling
8. **Delivery** - Narrative delivery methods
9. **Integration** - Gameplay-narrative connection
10. **Production** - Scope and planning
11. **Complete** - Visualizations and handoff
This step-file architecture ensures consistent, thorough narrative design with user collaboration at every step.
@@ -0,0 +1,195 @@
# {{game_name}} - Narrative Design Document
**Author:** {{user_name}}
**Game Type:** {{game_type}}
**Narrative Complexity:** {{narrative_complexity}}
---
## Executive Summary
### Narrative Premise
{{narrative_premise}}
### Core Themes
{{core_themes}}
### Tone and Atmosphere
{{tone_atmosphere}}
---
## Story Structure
### Story Type
{{story_type}}
**Structure used:** (3-act, hero's journey, kishōtenketsu, episodic, branching, etc.)
### Act Breakdown
{{act_breakdown}}
### Story Beats
{{story_beats}}
### Pacing and Flow
{{pacing_flow}}
---
## Characters
### Protagonist(s)
{{protagonists}}
### Antagonist(s)
{{antagonists}}
### Supporting Characters
{{supporting_characters}}
### Character Arcs
{{character_arcs}}
---
## World and Lore
### World Overview
{{world_overview}}
### History and Backstory
{{history_backstory}}
### Factions and Organizations
{{factions_organizations}}
### Locations
{{locations}}
### Cultural Elements
{{cultural_elements}}
---
## Dialogue Framework
### Dialogue Style
{{dialogue_style}}
### Key Conversations
{{key_conversations}}
### Branching Dialogue
{{branching_dialogue}}
### Voice and Characterization
{{voice_characterization}}
---
## Environmental Storytelling
### Visual Storytelling
{{visual_storytelling}}
### Audio Storytelling
{{audio_storytelling}}
### Found Documents
{{found_documents}}
### Environmental Clues
{{environmental_clues}}
---
## Narrative Delivery
### Cutscenes and Cinematics
{{cutscenes}}
### In-Game Storytelling
{{ingame_storytelling}}
### Optional Content
{{optional_content}}
### Multiple Endings
{{multiple_endings}}
---
## Integration with Gameplay
### Narrative-Gameplay Harmony
{{narrative_gameplay}}
### Story Gates
{{story_gates}}
### Player Agency
{{player_agency}}
---
## Production Notes
### Writing Scope
{{writing_scope}}
### Localization Considerations
{{localization}}
### Voice Acting
{{voice_acting}}
---
## Appendix
### Character Relationship Map
{{relationship_map}}
### Timeline
{{timeline}}
### References and Inspirations
{{references}}
@@ -0,0 +1,58 @@
# Narrative Design Workflow
**Comprehensive narrative design for story-driven games**
## Overview
This workflow creates detailed narrative content for games with significant story elements. It covers story structure, character development, world-building, dialogue systems, environmental storytelling, and production planning.
## Workflow Structure
The workflow uses a step-file architecture for modular, stateful execution:
1. **Step 1: Initialize** - Validate readiness, load GDD, assess narrative complexity
2. **Step 1b: Continue** - Resume existing narrative work
3. **Step 2: Foundation** - Define premise, themes, tone, and story structure
4. **Step 3: Story** - Map story beats and pacing
5. **Step 4: Characters** - Develop all characters and their arcs
6. **Step 5: World** - Build world, history, factions, and locations
7. **Step 6: Dialogue** - Define dialogue style and systems
8. **Step 7: Environmental** - Plan environmental storytelling
9. **Step 8: Delivery** - Design narrative delivery methods
10. **Step 9: Integration** - Plan gameplay-narrative integration
11. **Step 10: Production** - Scope, localization, and voice acting
12. **Step 11: Complete** - Final summary and handoff
## State Tracking
Progress is tracked in the narrative document frontmatter:
```yaml
stepsCompleted: [1, 2, 3, ...] # Array of completed step numbers
```
## Starting the Workflow
To begin, load and execute step-01-init.md:
```
{workflow_path}/steps/step-01-init.md
```
## Critical Rules
- **NEVER** generate narrative content without user input
- **ALWAYS** facilitate user creativity - help them craft THEIR story
- **NEVER** mention time estimates
- **ALWAYS** present options and wait for user selection
- **FOLLOW** the step sequence exactly - no skipping or optimizing
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`
## Agent Role
You are a narrative design facilitator:
- Draw out the user's story vision
- Help weave user's ideas into cohesive narrative
- Focus on what the user wants to create
- The goal is for users to feel THEY crafted the narrative
@@ -0,0 +1,51 @@
# Narrative Design Workflow
name: narrative
description: "Narrative design workflow for story-driven games. Creates comprehensive narrative documentation including story structure, character arcs, world-building, dialogue systems, and production planning."
author: "BMad"
# Critical variables from config
config_source: "{project-root}/_bmad/bmgd/config.yaml"
output_folder: "{config_source}:output_folder"
user_name: "{config_source}:user_name"
communication_language: "{config_source}:communication_language"
document_output_language: "{config_source}:document_output_language"
game_dev_experience: "{config_source}:game_dev_experience"
date: system-generated
# Workflow components - Step-file architecture
installed_path: "{project-root}/_bmad/bmgd/workflows/2-design/narrative"
instructions: "{installed_path}/workflow.md"
template: "{installed_path}/templates/narrative-template.md"
validation: "{installed_path}/checklist.md"
# Smart input file references
input_file_patterns:
gdd:
description: "Game Design Document with mechanics and systems"
whole: "{output_folder}/*gdd*.md"
sharded: "{output_folder}/*gdd*/index.md"
load_strategy: "INDEX_GUIDED"
brief:
description: "Game Brief with vision (optional)"
whole: "{output_folder}/*brief*.md"
sharded: "{output_folder}/*brief*/index.md"
load_strategy: "INDEX_GUIDED"
# Output configuration
default_output_file: "{output_folder}/narrative-design.md"
# Workflow metadata
version: "2.0.0"
paradigm: "step-file-architecture"
features:
- "Step-file architecture for modular execution"
- "Narrative complexity assessment"
- "Character development facilitation"
- "World-building guidance"
- "Dialogue system design"
- "Environmental storytelling planning"
- "Production scope estimation"
- "State tracking via frontmatter"
standalone: true