---
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/tasks/advanced-elicitation.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
- 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.
