mirror of
https://github.com/Donchitos/Claude-Code-Game-Studios.git
synced 2026-06-27 04:51:46 +00:00
Game Studio Agent Architecture — complete setup (Phases 1-7)
48 coordinated Claude Code subagents for indie game development: - 3 leadership agents (creative-director, technical-director, producer) - 10 department leads (game-designer, lead-programmer, art-director, etc.) - 23 specialist agents (gameplay, engine, AI, networking, UI, tools, etc.) - 12 engine-specific agents (Godot, Unity, Unreal with sub-specialists) Infrastructure: - 34 skills (slash commands) for workflows, reviews, and team orchestration - 8 hooks for commit validation, asset checks, session management - 11 path-scoped rules enforcing domain-specific standards - 28 templates for design docs, reports, and collaborative protocols Key features: - User-driven collaboration protocol (Question → Options → Decision → Draft → Approval) - Engine version awareness with knowledge-gap detection (Godot 4.6 pinned) - Phase gate system for development milestone validation - CLAUDE.md kept under 80 lines with extracted doc imports Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
193
docs/examples/README.md
Normal file
193
docs/examples/README.md
Normal file
@@ -0,0 +1,193 @@
|
||||
# Collaborative Session Examples
|
||||
|
||||
This directory contains realistic, end-to-end session transcripts showing how the Game Studio Agent Architecture works in practice. Each example demonstrates the **collaborative workflow** where agents ask questions, present options, and wait for user approval rather than autonomously generating content.
|
||||
|
||||
---
|
||||
|
||||
## 📚 **Available Examples**
|
||||
|
||||
### [Session: Designing the Crafting System](session-design-crafting-system.md)
|
||||
**Type:** Design
|
||||
**Agent:** game-designer
|
||||
**Duration:** ~45 minutes (12 turns)
|
||||
**Complexity:** Medium
|
||||
|
||||
**Scenario:**
|
||||
Solo dev needs to design a crafting system that serves Pillar 2 ("Emergent Discovery Through Experimentation"). The agent guides them through question/answer, presents 3 design options with game theory analysis, incorporates user modifications, and iteratively drafts the GDD with approval at each step.
|
||||
|
||||
**Key Collaborative Moments:**
|
||||
- Agent asks 5 clarifying questions upfront
|
||||
- Presents 3 distinct options with pros/cons + MDA alignment
|
||||
- User modifies recommended option, agent incorporates immediately
|
||||
- Edge case flagged proactively ("what if non-recipe combo?")
|
||||
- Each GDD section shown for approval before moving to next
|
||||
- Explicit "May I write to [file]?" before creating file
|
||||
|
||||
**Learn:**
|
||||
- How design agents ask about goals, constraints, references
|
||||
- How to present options using game design theory (MDA, SDT, Bartle)
|
||||
- How to iterate on drafts section-by-section
|
||||
- When to delegate to specialists (systems-designer, economy-designer)
|
||||
|
||||
---
|
||||
|
||||
### [Session: Implementing Combat Damage Calculation](session-implement-combat-damage.md)
|
||||
**Type:** Implementation
|
||||
**Agent:** gameplay-programmer
|
||||
**Duration:** ~30 minutes (10 turns)
|
||||
**Complexity:** Low-Medium
|
||||
|
||||
**Scenario:**
|
||||
User has a complete design doc and wants the damage calculation implemented. Agent reads the spec, identifies 7 ambiguities/gaps, asks clarifying questions, proposes architecture for approval, implements with rule enforcement, and proactively writes tests.
|
||||
|
||||
**Key Collaborative Moments:**
|
||||
- Agent reads design doc first, identifies 7 spec ambiguities
|
||||
- Architecture proposed with code samples BEFORE implementation
|
||||
- User requests type safety, agent refines and re-proposes
|
||||
- Rules catch issues (hardcoded values), agent fixes transparently
|
||||
- Tests written proactively following verification-driven development
|
||||
- Agent offers options for next steps rather than assuming
|
||||
|
||||
**Learn:**
|
||||
- How implementation agents clarify specs before coding
|
||||
- How to propose architecture with code samples for approval
|
||||
- How rules enforce standards automatically
|
||||
- How to handle spec gaps (ask, don't assume)
|
||||
- Verification-driven development (tests prove it works)
|
||||
|
||||
---
|
||||
|
||||
### [Session: Scope Crisis - Strategic Decision Making](session-scope-crisis-decision.md)
|
||||
**Type:** Strategic Decision
|
||||
**Agent:** creative-director
|
||||
**Duration:** ~25 minutes (8 turns)
|
||||
**Complexity:** High
|
||||
|
||||
**Scenario:**
|
||||
Solo dev faces crisis: Alpha milestone in 2 weeks, crafting system needs 3 weeks, investor demo is make-or-break. Creative director gathers context, frames the decision, presents 3 strategic options with honest trade-off analysis, makes recommendation but defers to user, then documents decision with ADR and demo script.
|
||||
|
||||
**Key Collaborative Moments:**
|
||||
- Agent reads context docs before proposing solutions
|
||||
- Asks 5 questions to understand decision constraints
|
||||
- Frames decision properly (what's at stake, evaluation criteria)
|
||||
- Presents 3 options with risk analysis and historical precedent
|
||||
- Makes strong recommendation but explicitly: "this is your call"
|
||||
- Documents decision + provides demo script to support user
|
||||
|
||||
**Learn:**
|
||||
- How leadership agents frame strategic decisions
|
||||
- How to present options with trade-off analysis
|
||||
- How to use game dev precedent and theory in recommendations
|
||||
- How to document decisions (ADRs)
|
||||
- How to cascade decisions to affected departments
|
||||
|
||||
---
|
||||
|
||||
## 🎯 **What These Examples Demonstrate**
|
||||
|
||||
All examples follow the **collaborative workflow pattern:**
|
||||
|
||||
```
|
||||
Question → Options → Decision → Draft → Approval
|
||||
```
|
||||
|
||||
### ✅ **Collaborative Behaviors Shown:**
|
||||
|
||||
1. **Agents Ask Before Assuming**
|
||||
- Design agents ask about goals, constraints, references
|
||||
- Implementation agents clarify spec ambiguities
|
||||
- Leadership agents gather full context before recommending
|
||||
|
||||
2. **Agents Present Options, Not Dictates**
|
||||
- 2-4 options with pros/cons
|
||||
- Reasoning based on theory, precedent, project pillars
|
||||
- Recommendation made, but user decides
|
||||
|
||||
3. **Agents Show Work Before Finalizing**
|
||||
- Design drafts shown section-by-section
|
||||
- Architecture proposals shown before implementation
|
||||
- Strategic analysis presented before decisions
|
||||
|
||||
4. **Agents Get Approval Before Writing Files**
|
||||
- Explicit "May I write to [file]?" before using Write/Edit tools
|
||||
- Multi-file changes list all affected files first
|
||||
- User says "Yes" before any file is created
|
||||
|
||||
5. **Agents Iterate on Feedback**
|
||||
- User modifications incorporated immediately
|
||||
- No defensiveness when user changes recommendations
|
||||
- Celebrate when user improves agent's suggestion
|
||||
|
||||
---
|
||||
|
||||
## 📖 **How to Use These Examples**
|
||||
|
||||
### For New Users:
|
||||
Read these examples BEFORE your first session. They show realistic expectations for how agents work:
|
||||
- Agents are consultants, not autonomous executors
|
||||
- You make all creative/strategic decisions
|
||||
- Agents provide expert guidance and options
|
||||
|
||||
### For Understanding Specific Workflows:
|
||||
- **Designing a system?** → Read session-design-crafting-system.md
|
||||
- **Implementing code?** → Read session-implement-combat-damage.md
|
||||
- **Making strategic decisions?** → Read session-scope-crisis-decision.md
|
||||
|
||||
### For Training:
|
||||
If you're teaching someone to use this system, walk through one example turn-by-turn to show:
|
||||
- What good questions look like
|
||||
- How to evaluate presented options
|
||||
- When to approve vs. request changes
|
||||
- How to maintain creative control while leveraging AI expertise
|
||||
|
||||
---
|
||||
|
||||
## 🔍 **Common Patterns Across All Examples**
|
||||
|
||||
### Turn 1-2: **Understand Before Acting**
|
||||
- Agent reads context (design docs, specs, constraints)
|
||||
- Agent asks clarifying questions
|
||||
- No assumptions or guesses
|
||||
|
||||
### Turn 3-5: **Present Options with Reasoning**
|
||||
- 2-4 distinct approaches
|
||||
- Pros/cons for each
|
||||
- Theory/precedent supporting the analysis
|
||||
- Recommendation made, decision deferred to user
|
||||
|
||||
### Turn 6-8: **Iterate on Drafts**
|
||||
- Show work incrementally
|
||||
- Incorporate feedback immediately
|
||||
- Flag edge cases or ambiguities proactively
|
||||
|
||||
### Turn 9-10: **Approval and Completion**
|
||||
- "May I write to [file]?"
|
||||
- User: "Yes"
|
||||
- Agent writes files
|
||||
- Agent offers next steps (tests, review, integration)
|
||||
|
||||
---
|
||||
|
||||
## 🚀 **Try It Yourself**
|
||||
|
||||
After reading these examples, try this exercise:
|
||||
|
||||
1. Pick one of your game systems (combat, inventory, progression, etc.)
|
||||
2. Ask the relevant agent to design or implement it
|
||||
3. Notice if the agent:
|
||||
- ✅ Asks clarifying questions upfront
|
||||
- ✅ Presents options with reasoning
|
||||
- ✅ Shows drafts before finalizing
|
||||
- ✅ Requests approval before writing files
|
||||
|
||||
If the agent skips any of these, remind it:
|
||||
> "Please follow the collaborative protocol from docs/COLLABORATIVE-DESIGN-PRINCIPLE.md"
|
||||
|
||||
---
|
||||
|
||||
## 📝 **Additional Resources**
|
||||
|
||||
- **Full Principle Documentation:** [docs/COLLABORATIVE-DESIGN-PRINCIPLE.md](../COLLABORATIVE-DESIGN-PRINCIPLE.md)
|
||||
- **Workflow Guide:** [docs/WORKFLOW-GUIDE.md](../WORKFLOW-GUIDE.md)
|
||||
- **Agent Roster:** [.claude/docs/agent-roster.md](../../.claude/docs/agent-roster.md)
|
||||
- **CLAUDE.md (Collaboration Protocol):** [CLAUDE.md](../../CLAUDE.md#collaboration-protocol)
|
||||
121
docs/examples/reverse-document-workflow-example.md
Normal file
121
docs/examples/reverse-document-workflow-example.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# Reverse Documentation Workflow Example
|
||||
|
||||
## Scenario
|
||||
Developer built a working skill tree system but never wrote a design doc.
|
||||
Code exists in `src/gameplay/skills/`, but `design/gdd/` has no skill-system.md.
|
||||
|
||||
---
|
||||
|
||||
## Session Transcript
|
||||
|
||||
**User:**
|
||||
```
|
||||
I have a working skill tree system in src/gameplay/skills/ with about 1200 lines
|
||||
of code. I never wrote a design doc. Can we create one from the implementation?
|
||||
```
|
||||
|
||||
**Game-Designer (reads code, analyzes):**
|
||||
```
|
||||
I've analyzed your skill tree implementation. Here's what I found:
|
||||
|
||||
STRUCTURE:
|
||||
- 3 skill trees: Combat, Survival, Tech
|
||||
- 5 tiers per tree (unlock via level + prerequisites)
|
||||
- Total 45 skills (15 per tree)
|
||||
- Cost: skill points (1 per level, can respec for gold)
|
||||
|
||||
MECHANICS:
|
||||
- Passive skills (stat bonuses)
|
||||
- Active skills (abilities with cooldowns)
|
||||
- Synergy bonuses (cross-tree unlocks at tier 4+)
|
||||
|
||||
IMPLEMENTATION DETAILS:
|
||||
- Data-driven (JSON files in assets/data/skills/)
|
||||
- Save-compatible (skill state serialized)
|
||||
- UI shows locked/unlocked/available states
|
||||
|
||||
QUESTIONS before I draft the design doc:
|
||||
|
||||
1. **Design Intent:** Was the 3-tree structure meant to represent player archetypes
|
||||
(fighter/survivor/engineer) or playstyle flexibility?
|
||||
|
||||
2. **Respec Cost:** Respec costs gold - is this meant to:
|
||||
- Discourage frequent respecs (commitment to builds)?
|
||||
- Create a gold sink (economy balance)?
|
||||
- Or should it be free (experimentation encouraged)?
|
||||
|
||||
3. **Synergy System:** Cross-tree synergies appear at tier 4. Was this:
|
||||
- Intentional (reward hybrid builds late-game)?
|
||||
- Or emergent (accidentally creates hybrid meta)?
|
||||
|
||||
4. **Balance Philosophy:** I see some skills are clearly better (tier-5 passive
|
||||
is +50% damage). Is this:
|
||||
- Power fantasy (late-game should feel OP)?
|
||||
- Or unbalanced (needs tuning)?
|
||||
```
|
||||
|
||||
**User:**
|
||||
```
|
||||
Good questions! Here's the intent:
|
||||
|
||||
1. Yes, the 3 trees are archetypes but I want flexibility
|
||||
2. Respec should be cheap - I want experimentation
|
||||
3. Synergies were intentional - hybrid builds are a feature
|
||||
4. Yeah, tier 5 is meant to be powerful, but +50% might be too much
|
||||
```
|
||||
|
||||
**Game-Designer:**
|
||||
```
|
||||
Perfect, that clarifies the vision. Let me draft the design doc:
|
||||
|
||||
[Shows draft of design/gdd/skill-system.md]
|
||||
|
||||
SECTIONS:
|
||||
1. Overview (3-tree system, hybrid-friendly, respec-encouraged)
|
||||
2. Design Pillars:
|
||||
- Archetype clarity (each tree has identity)
|
||||
- Build flexibility (no lock-in, cheap respec)
|
||||
- Synergy rewards (cross-tree combinations viable)
|
||||
3. Detailed Design (tree structure, unlock rules, respec)
|
||||
4. Balance Framework (tier power curve, synergy limits)
|
||||
5. Edge Cases (respec during combat? max skills? cap?)
|
||||
6. Dependencies (UI, save system, tutorial)
|
||||
7. Acceptance Criteria (all trees viable, 10+ hybrid builds, clear tooltips)
|
||||
8. Open Questions:
|
||||
- Should respec cost scale with level or stay flat?
|
||||
- Tier 5 damage bonus: tune to +30% or keep +50%?
|
||||
|
||||
**May I write this to design/gdd/skill-system.md?**
|
||||
```
|
||||
|
||||
**User:**
|
||||
```
|
||||
Yes, write it. But let's tune tier 5 to +30% and make respec cost scale.
|
||||
```
|
||||
|
||||
**Game-Designer:**
|
||||
```
|
||||
✅ Written to design/gdd/skill-system.md
|
||||
✅ Marked as [REVERSE-DOCUMENTED FROM IMPLEMENTATION]
|
||||
✅ Added TODO: Update tier-5 passive to +30% in assets/data/skills/combat-tree.json
|
||||
✅ Added TODO: Implement scaling respec cost formula
|
||||
|
||||
Next steps:
|
||||
- Run /balance-check to validate skill tree progression curve?
|
||||
- Create ADR documenting why 3 trees instead of 5?
|
||||
- Update tutorial to explain hybrid synergies?
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Key Observations
|
||||
|
||||
1. **Agent asked clarifying questions** - didn't just describe code
|
||||
2. **Separated intent from implementation** - user corrected "accidental" imbalance
|
||||
3. **Design doc captures "why"** - not just "what the code does"
|
||||
4. **Identified missing pieces** - edge cases not in code
|
||||
5. **Flagged follow-up work** - balance tuning, ADRs, tutorial
|
||||
|
||||
## Outcome
|
||||
|
||||
The design doc now exists and **matches reality** while also capturing the **intended vision**. Future changes will reference this doc, and new team members understand the *why* behind decisions.
|
||||
262
docs/examples/session-design-crafting-system.md
Normal file
262
docs/examples/session-design-crafting-system.md
Normal file
@@ -0,0 +1,262 @@
|
||||
# Example Session: Designing the Crafting System
|
||||
|
||||
**Context:** Solo indie dev, week 2 of project, needs to design the crafting system mentioned in the game pillars.
|
||||
|
||||
**Starting State:**
|
||||
- Game concept and pillars defined
|
||||
- Engine set up (Godot 4.6)
|
||||
- Core combat system designed but not implemented yet
|
||||
- Pillar 2: "Emergent Discovery Through Experimentation"
|
||||
|
||||
**Session Duration:** ~45 minutes
|
||||
**Turns:** 12
|
||||
**Outcome:** Complete crafting system GDD ready for implementation
|
||||
|
||||
---
|
||||
|
||||
## Turn 1: User Initiates Design
|
||||
|
||||
**User:**
|
||||
> I need to design the crafting system. Pillar 2 is "Emergent Discovery Through Experimentation", so I want players to discover recipes by trying combinations.
|
||||
|
||||
## Turn 2: Agent Asks Clarifying Questions
|
||||
|
||||
**Agent (game-designer):**
|
||||
> I'll help design the crafting system with discovery at its core. Before proposing mechanics, I need to understand your vision:
|
||||
>
|
||||
> 1. **Discovery Method**: Should recipes be pure trial-and-error, or should there be hints/clues to guide players?
|
||||
> 2. **Failure Punishment**: When players try an invalid combination, what happens?
|
||||
> - Materials completely lost (harsh)
|
||||
> - Materials partially refunded (moderate)
|
||||
> - No cost to experiment (forgiving)
|
||||
> 3. **Progression**: Does crafting skill improve over time? If so, what does higher skill unlock?
|
||||
> 4. **Scope**: How central is crafting to the game? Core pillar feature or supporting system?
|
||||
> 5. **Reference Games**: Any crafting systems you love or hate? (Minecraft, Terraria, Stardew Valley, Potion Craft?)
|
||||
|
||||
## Turn 3: User Provides Context
|
||||
|
||||
**User:**
|
||||
> 1. I want hints that unlock gradually - start with pure discovery, earn hints through skill
|
||||
> 2. Moderate punishment - waste materials but gain partial XP
|
||||
> 3. Yes, skill unlocks hint system and improves success rates
|
||||
> 4. Core feature - one of the three main loops (combat, exploration, crafting)
|
||||
> 5. Love Potion Craft's deduction mechanic. Hate Minecraft wikis being mandatory.
|
||||
|
||||
## Turn 4: Agent Presents Options
|
||||
|
||||
**Agent:**
|
||||
> Perfect context! Based on "emergent discovery" + "deduction over wikis" + "Potion Craft inspiration", here are three mechanical approaches:
|
||||
>
|
||||
> **Option A: Pure Randomized Discovery**
|
||||
> - **Mechanics**: Try any 2-4 ingredient combo, roll for success based on compatibility
|
||||
> - **Hint System**: None - players document discoveries manually
|
||||
> - **Pros**:
|
||||
> - Maximum emergent discovery
|
||||
> - Community can share findings without breaking core loop
|
||||
> - Aligns strongly with "experimentation" pillar
|
||||
> - **Cons**:
|
||||
> - High frustration for completionists
|
||||
> - Low skill expression (mostly RNG)
|
||||
> - Players may feel "wiki is required" despite your intent
|
||||
> - **Aligns with Pillars**: ✅✅ Emergent Discovery, ⚠️ Meaningful Choices (randomness reduces agency)
|
||||
>
|
||||
> **Option B: Tag-Based Deduction System (Potion Craft-style)**
|
||||
> - **Mechanics**: Each ingredient has hidden "tags" (Fire, Water, Healing, Damage, etc.)
|
||||
> - Recipes require specific tag combinations
|
||||
> - At Skill 0: No tags visible, pure experimentation
|
||||
> - At Skill 5: Can inspect items to see 1 tag
|
||||
> - At Skill 10: See 2 tags, etc.
|
||||
> - **Hint System**: Tags ARE the hint system, unlocked by skill
|
||||
> - **Pros**:
|
||||
> - Rewards observation and pattern recognition (skill expression!)
|
||||
> - Progressive scaffolding - accessible to all player types
|
||||
> - Creates "aha!" moments when patterns click
|
||||
> - No wiki needed - everything discoverable in-game
|
||||
> - **Cons**:
|
||||
> - More complex to implement (tag system + UI)
|
||||
> - Requires careful tag design to avoid degeneracy
|
||||
> - **Aligns with Pillars**: ✅✅ Emergent Discovery, ✅✅ Meaningful Choices
|
||||
>
|
||||
> **Option C: Ingredient Compatibility Matrix**
|
||||
> - **Mechanics**: Each ingredient pairs well/poorly with others
|
||||
> - Success rate = compatibility score
|
||||
> - Skill 0: No compatibility shown, ~30% base success
|
||||
> - Higher skill: See color-coded compatibility (red/yellow/green)
|
||||
> - **Hint System**: Visual compatibility indicators unlock with skill
|
||||
> - **Pros**:
|
||||
> - Simple to implement and understand
|
||||
> - Clear progression arc (skill = more information)
|
||||
> - Feels fair (players understand why they failed)
|
||||
> - **Cons**:
|
||||
> - Less emergent than tag system (more prescriptive)
|
||||
> - Optimal recipes more obvious once you have hints
|
||||
> - **Aligns with Pillars**: ✅ Emergent Discovery, ✅ Meaningful Choices
|
||||
>
|
||||
> **My Recommendation: Option B (Tag-Based Deduction)**
|
||||
>
|
||||
> **Reasoning:**
|
||||
> - It's the only option that creates TRUE emergent discovery through systems interaction
|
||||
> - Players develop mastery by learning tag patterns, not memorizing recipes
|
||||
> - The progressive reveal (tags unlock with skill) serves both Explorers (discovery) and Achievers (progression)
|
||||
> - Potion Craft proved this works and is satisfying
|
||||
> - Avoids wiki-dependency because the deduction is solvable in-game
|
||||
>
|
||||
> Which option resonates with your vision? Or should I explore a hybrid?
|
||||
|
||||
## Turn 5: User Decides with Modification
|
||||
|
||||
**User:**
|
||||
> Option B feels perfect, but I want to add: failed attempts should give hints about which tags were WRONG, not just which were right. Like "You added Fire, but this recipe needs Water instead."
|
||||
|
||||
## Turn 6: Agent Incorporates Feedback and Drafts
|
||||
|
||||
**Agent:**
|
||||
> Excellent modification! That adds a deduction game on TOP of the tag discovery. Now failed attempts aren't just "waste" - they're valuable information.
|
||||
>
|
||||
> Let me draft the **Overview** and **Player Fantasy** sections:
|
||||
>
|
||||
> ---
|
||||
>
|
||||
> ## Overview
|
||||
>
|
||||
> The crafting system uses a tag-based deduction mechanic where players experiment with ingredient combinations to discover recipes. Each ingredient has 1-3 hidden tags (Fire, Water, Earth, Air, Healing, Damage, Poison, etc.). Recipes require specific tag combinations. Failed attempts waste materials but provide feedback ("This needs Water, not Fire") that teaches players tag patterns. As crafting skill increases, players unlock the ability to inspect ingredients to see their tags directly, transforming pure experimentation into informed deduction.
|
||||
>
|
||||
> ## Player Fantasy
|
||||
>
|
||||
> "I'm an alchemist-scientist discovering nature's hidden patterns. Each failed potion teaches me something new about how elements interact. Over time, I develop intuition - I can look at a mushroom and KNOW it contains Earth and Poison tags before even testing it. I don't need recipes from a wiki; I understand the RULES that generate recipes, and I can create my own solutions."
|
||||
>
|
||||
> **Target MDA Aesthetics**:
|
||||
> - Discovery (primary): Uncovering hidden tag patterns
|
||||
> - Challenge (secondary): Deduction puzzle
|
||||
> - Expression (tertiary): Creating custom recipes once rules are mastered
|
||||
>
|
||||
> ---
|
||||
>
|
||||
> Does this capture your intent? Should I continue to **Detailed Rules**?
|
||||
|
||||
## Turn 7: User Approves and Requests Next Section
|
||||
|
||||
**User:**
|
||||
> Yes, that's perfect! Continue to Detailed Rules.
|
||||
|
||||
## Turn 8: Agent Drafts Rules, Asks About Edge Case
|
||||
|
||||
**Agent:**
|
||||
> Drafting Detailed Rules...
|
||||
>
|
||||
> ---
|
||||
>
|
||||
> ## Detailed Rules
|
||||
>
|
||||
> ### Core Loop
|
||||
> 1. Player selects 2-4 ingredients from inventory
|
||||
> 2. Player activates crafting station
|
||||
> 3. System checks ingredient tags against recipe database
|
||||
> 4. **If exact tag match**: Success! Recipe learned, item created, full XP awarded
|
||||
> 5. **If partial match** (some tags correct): Failure. Feedback: "Close! This needs [missing tag]." Materials consumed, 40% XP awarded, recipe marked as "Discovered (Incomplete)"
|
||||
> 6. **If no match**: Failure. Feedback: "Incompatible. Try replacing [wrong tag] with [needed tag]." Materials consumed, 15% XP awarded
|
||||
>
|
||||
> ### Tag System
|
||||
> - 12 core tags: Fire, Water, Earth, Air, Healing, Damage, Poison, Light, Dark, Metal, Plant, Magic
|
||||
> - Each ingredient has 1-3 tags (simple ingredients have 1, rare ingredients have 3)
|
||||
> - Each recipe requires 2-6 total tags (basic potions need 2, advanced need 6)
|
||||
> - Tag combinations must be unique (no two recipes with identical tag sets)
|
||||
>
|
||||
> ### Skill Progression
|
||||
> - Skill 0-4: No inspection ability. Pure experimentation.
|
||||
> - Skill 5-9: Can inspect ingredients to see 1 tag
|
||||
> - Skill 10-14: Can see 2 tags per ingredient
|
||||
> - Skill 15+: Can see all tags per ingredient
|
||||
>
|
||||
> ### XP Gain
|
||||
> ```
|
||||
> success_xp = base_xp * recipe_complexity^1.3
|
||||
> failure_xp_partial = success_xp * 0.40
|
||||
> failure_xp_none = success_xp * 0.15
|
||||
> ```
|
||||
>
|
||||
> Where `recipe_complexity` = number of unique tags required (2-6)
|
||||
>
|
||||
> ---
|
||||
>
|
||||
> **Question before I continue:** What happens if a player discovers a tag combination that DOESN'T match any recipe in the database? Should we:
|
||||
> A) Allow it and create "junk items" (player wasted materials)
|
||||
> B) Always provide feedback steering toward valid recipes
|
||||
> C) Procedurally generate a minor potion for any valid tag combo not in the DB
|
||||
>
|
||||
> This affects the "experimentation" feel - option A is harsh but realistic, option C rewards all experimentation.
|
||||
|
||||
## Turn 9: User Resolves Edge Case
|
||||
|
||||
**User:**
|
||||
> Option C - let's procedurally generate minor potions. If someone finds Fire+Water (not a designed recipe), give them "Warm Water" that restores 5 HP. Rewards experimentation even when "off the beaten path."
|
||||
|
||||
## Turn 10: Agent Completes Remaining Sections
|
||||
|
||||
**Agent:**
|
||||
> Perfect! That keeps experimentation always rewarding. Updating rules with that edge case...
|
||||
>
|
||||
> [Agent continues drafting Formulas, Edge Cases, Dependencies, Tuning Knobs, and Acceptance Criteria sections, showing each and incorporating minor feedback]
|
||||
>
|
||||
> [After all sections complete]
|
||||
>
|
||||
> Complete crafting system GDD ready. Here's the summary:
|
||||
>
|
||||
> **8 Required Sections:**
|
||||
> ✅ Overview - Tag-based deduction system
|
||||
> ✅ Player Fantasy - Alchemist-scientist discovering patterns
|
||||
> ✅ Detailed Rules - Core loop with tag matching and feedback system
|
||||
> ✅ Formulas - XP curves, success rates, skill thresholds
|
||||
> ✅ Edge Cases - Procedural minor potions for non-recipe combos, inventory full, skill at max
|
||||
> ✅ Dependencies - Requires inventory system, integrates with progression system
|
||||
> ✅ Tuning Knobs - XP rates, skill thresholds, tag count per ingredient, feedback verbosity
|
||||
> ✅ Acceptance Criteria - Players discover 10 recipes in 30 minutes without wiki, skill progression feels meaningful
|
||||
>
|
||||
> **Delegations Made:**
|
||||
> - Consulted `systems-designer` for XP curve formula validation
|
||||
> - Consulted `economy-designer` for material cost balancing
|
||||
>
|
||||
> May I write this to `design/gdd/crafting-system.md`?
|
||||
|
||||
## Turn 11: User Approves Writing
|
||||
|
||||
**User:**
|
||||
> Yes, write it!
|
||||
|
||||
## Turn 12: Agent Writes File and Offers Next Steps
|
||||
|
||||
**Agent:**
|
||||
> ✅ Created `design/gdd/crafting-system.md`
|
||||
>
|
||||
> **Next Steps:**
|
||||
> 1. Run `/design-review design/gdd/crafting-system.md` to validate against 8-section standard
|
||||
> 2. Create data file structure in `assets/data/` for ingredients and recipes
|
||||
> 3. When ready to implement, use `/team-combat` pattern but for crafting (game-designer → gameplay-programmer → ui-programmer → qa-tester)
|
||||
>
|
||||
> Would you like me to run the design review now, or would you prefer to read it first?
|
||||
|
||||
---
|
||||
|
||||
## Session Summary
|
||||
|
||||
**What Worked Well:**
|
||||
- Agent asked clarifying questions upfront instead of guessing
|
||||
- Presented 3 distinct options with clear pros/cons and pillar alignment
|
||||
- User's modification ("wrong tag feedback") was incorporated immediately
|
||||
- Edge case (non-recipe combos) was flagged proactively, not assumed
|
||||
- Each section was shown for approval before moving to next
|
||||
- Explicit permission requested before writing file
|
||||
|
||||
**Key Collaborative Moments:**
|
||||
- Turn 2: Agent asked 5 questions to understand vision
|
||||
- Turn 4: Agent presented 3 options, made recommendation but deferred to user
|
||||
- Turn 5: User modified recommended option, agent incorporated it
|
||||
- Turn 8: Agent caught edge case and asked rather than assuming
|
||||
- Turn 9: User's choice (procedural potions) changed design direction
|
||||
- Turn 10: Agent requested approval before writing file
|
||||
|
||||
**Files Created:**
|
||||
- `design/gdd/crafting-system.md` (complete 8-section GDD)
|
||||
|
||||
**Context Usage:** ~35% (estimated)
|
||||
**User Satisfaction:** High - user made all creative decisions, agent provided expert guidance
|
||||
296
docs/examples/session-implement-combat-damage.md
Normal file
296
docs/examples/session-implement-combat-damage.md
Normal file
@@ -0,0 +1,296 @@
|
||||
# Example Session: Implementing Combat Damage Calculation
|
||||
|
||||
**Context:** Solo indie dev, week 4 of project, implementing gameplay systems.
|
||||
|
||||
**Starting State:**
|
||||
- `design/gdd/combat-system.md` exists and reviewed
|
||||
- Godot 4.6 project set up with basic scene structure
|
||||
- No gameplay code written yet
|
||||
- Sprint goal: "Implement core combat damage calculation"
|
||||
|
||||
**Session Duration:** ~30 minutes
|
||||
**Turns:** 10
|
||||
**Outcome:** Working damage calculator with tests, ready for integration
|
||||
|
||||
---
|
||||
|
||||
## Turn 1: User Requests Implementation
|
||||
|
||||
**User:**
|
||||
> Implement the damage calculation system from design/gdd/combat-system.md. The formula is in section 4.
|
||||
|
||||
## Turn 2: Agent Reads Design and Asks Clarifying Questions
|
||||
|
||||
**Agent (gameplay-programmer):**
|
||||
> I've read `design/gdd/combat-system.md`. The damage formula is:
|
||||
>
|
||||
> ```
|
||||
> final_damage = base_damage * (1 + attack_stat * 0.1) * crit_multiplier * type_effectiveness * (1 - target_defense)
|
||||
> ```
|
||||
>
|
||||
> Before implementing, I need to clarify some details that aren't specified in the doc:
|
||||
>
|
||||
> **Architecture Questions:**
|
||||
> 1. Should `DamageCalculator` be a static utility class (no state, just calculations) or an autoload singleton?
|
||||
> 2. Where should `base_damage` come from? (Weapon data? Character stats? Ability data?)
|
||||
> 3. Where should `type_effectiveness` values live? (Per weapon? Per damage type? Separate data file?)
|
||||
>
|
||||
> **Spec Ambiguities:**
|
||||
> 4. Should `attack_stat` be clamped to a range? (Prevents exponential scaling bugs)
|
||||
> 5. The doc says "critical hits do 2x damage" but doesn't specify rounding. Should I `floor()`, `ceil()`, or `round()` the final damage?
|
||||
> 6. What happens if `target_defense` >= 1.0? (100% mitigation or higher) Should damage go negative or clamp to 0?
|
||||
>
|
||||
> **Integration:**
|
||||
> 7. I don't see a design doc for the Health/HP system. Should I create a minimal one, or is that coming separately?
|
||||
>
|
||||
> Please clarify so I can implement this correctly the first time.
|
||||
|
||||
## Turn 3: User Resolves Ambiguities
|
||||
|
||||
**User:**
|
||||
> 1. Static utility - no state needed
|
||||
> 2. Base damage from Weapon resource. I'll create a simple Weapon class.
|
||||
> 3. Type effectiveness in a separate data file `assets/data/combat_damage.json`
|
||||
> 4. Yes, clamp attack_stat to 0-100
|
||||
> 5. Use `floor()` to round down to integers
|
||||
> 6. Clamp damage to minimum of 1 (always do at least 1 damage, even with 100% defense)
|
||||
> 7. Create a minimal health component - just current_hp, max_hp, and take_damage() method
|
||||
|
||||
## Turn 4: Agent Proposes Architecture
|
||||
|
||||
**Agent:**
|
||||
> Got it! Here's my proposed architecture:
|
||||
>
|
||||
> **Files I'll create:**
|
||||
> ```
|
||||
> src/gameplay/combat/damage_calculator.gd # Static damage formula
|
||||
> src/gameplay/combat/health_component.gd # HP tracking node component
|
||||
> src/gameplay/combat/weapon.gd # Weapon resource
|
||||
> assets/data/combat_damage.json # Type effectiveness values
|
||||
> design/gdd/health-system.md # Minimal health doc
|
||||
> tests/combat/test_damage_calculator.gd # Unit tests
|
||||
> ```
|
||||
>
|
||||
> **Architecture Details:**
|
||||
>
|
||||
> **DamageCalculator** (static class):
|
||||
> ```gdscript
|
||||
> class_name DamageCalculator
|
||||
> extends RefCounted
|
||||
>
|
||||
> static func calculate_damage(
|
||||
> attacker_stats: Dictionary,
|
||||
> weapon: Weapon,
|
||||
> defender_stats: Dictionary,
|
||||
> is_crit: bool = false
|
||||
> ) -> int:
|
||||
> # Implementation here
|
||||
> return floori(final_damage)
|
||||
> ```
|
||||
>
|
||||
> **HealthComponent** (node component):
|
||||
> ```gdscript
|
||||
> extends Node
|
||||
> class_name HealthComponent
|
||||
>
|
||||
> signal health_changed(old_hp: int, new_hp: int)
|
||||
> signal died()
|
||||
>
|
||||
> @export var max_hp: int = 100
|
||||
> var current_hp: int:
|
||||
> set(value):
|
||||
> # Clamp and emit signals
|
||||
>
|
||||
> func take_damage(amount: int) -> void:
|
||||
> current_hp -= amount
|
||||
> if current_hp <= 0:
|
||||
> died.emit()
|
||||
> ```
|
||||
>
|
||||
> **Weapon** (resource):
|
||||
> ```gdscript
|
||||
> extends Resource
|
||||
> class_name Weapon
|
||||
>
|
||||
> @export var base_damage: float
|
||||
> @export var damage_type: String # "physical", "fire", "ice", etc.
|
||||
> ```
|
||||
>
|
||||
> **combat_damage.json**:
|
||||
> ```json
|
||||
> {
|
||||
> "crit_multiplier": 2.0,
|
||||
> "attack_stat_min": 0,
|
||||
> "attack_stat_max": 100,
|
||||
> "type_effectiveness": {
|
||||
> "physical": { "armored": 0.5, "flesh": 1.0, "crystal": 1.5 },
|
||||
> "fire": { "armored": 1.0, "flesh": 1.2, "crystal": 0.3 }
|
||||
> }
|
||||
> }
|
||||
> ```
|
||||
>
|
||||
> **Question:** This architecture makes `DamageCalculator` easily testable (pure function, no dependencies). The `HealthComponent` uses signals for VFX/SFX hookup. Does this match your expectations, or should I change anything before implementing?
|
||||
|
||||
## Turn 5: User Approves with Minor Change
|
||||
|
||||
**User:**
|
||||
> Looks good, but change `attacker_stats` and `defender_stats` to proper typed dictionaries or classes. I don't want untyped Dictionary bags floating around.
|
||||
|
||||
## Turn 6: Agent Refines Architecture
|
||||
|
||||
**Agent:**
|
||||
> Absolutely - type safety is important. I'll create a `CharacterStats` resource:
|
||||
>
|
||||
> ```gdscript
|
||||
> extends Resource
|
||||
> class_name CharacterStats
|
||||
>
|
||||
> @export var attack_stat: int = 0 # 0-100
|
||||
> @export var defense: float = 0.0 # 0.0-1.0 (0-100% mitigation)
|
||||
> @export var armor_type: String = "flesh" # for type effectiveness lookup
|
||||
> ```
|
||||
>
|
||||
> Then `DamageCalculator.calculate_damage()` signature becomes:
|
||||
> ```gdscript
|
||||
> static func calculate_damage(
|
||||
> attacker: CharacterStats,
|
||||
> weapon: Weapon,
|
||||
> defender: CharacterStats,
|
||||
> is_crit: bool = false
|
||||
> ) -> int
|
||||
> ```
|
||||
>
|
||||
> Much cleaner. May I proceed with implementation?
|
||||
|
||||
## Turn 7: User Approves Implementation
|
||||
|
||||
**User:**
|
||||
> Yes, implement it.
|
||||
|
||||
## Turn 8: Agent Implements and Reports
|
||||
|
||||
**Agent:**
|
||||
> Implementation complete! Here's what I created:
|
||||
>
|
||||
> **Files Created:**
|
||||
> - ✅ `src/gameplay/combat/damage_calculator.gd` (82 lines)
|
||||
> - ✅ `src/gameplay/combat/health_component.gd` (45 lines)
|
||||
> - ✅ `src/gameplay/combat/weapon.gd` (12 lines)
|
||||
> - ✅ `src/gameplay/combat/character_stats.gd` (16 lines)
|
||||
> - ✅ `assets/data/combat_damage.json` (validated JSON)
|
||||
> - ✅ `design/gdd/health-system.md` (minimal 8-section doc)
|
||||
>
|
||||
> **Rules Enforcement Results:**
|
||||
>
|
||||
> The `gameplay-code` rule automatically flagged 2 issues during implementation:
|
||||
> 1. ❌ `crit_multiplier` was hardcoded as `2.0` in damage_calculator.gd
|
||||
> - **Fixed:** Moved to `combat_damage.json` and loaded from config
|
||||
> 2. ❌ `HealthComponent` had direct `print()` debug output
|
||||
> - **Fixed:** Removed hardcoded debug, added proper signals instead
|
||||
>
|
||||
> The `data-files` rule validated:
|
||||
> - ✅ `combat_damage.json` is valid JSON
|
||||
> - ✅ Naming convention matches `[system]_[name].json`
|
||||
> - ✅ All values have comment documentation
|
||||
>
|
||||
> **Implementation Notes:**
|
||||
> - Attack stat is clamped in `calculate_damage()` before use
|
||||
> - Damage always returns minimum of 1 (per your requirement)
|
||||
> - Type effectiveness defaults to 1.0 if combo not found in config
|
||||
> - All numeric values loaded from `combat_damage.json` for designer tuning
|
||||
>
|
||||
> **Manual Testing:**
|
||||
> I created a quick test scene and validated:
|
||||
> - Base damage: 10, attack_stat: 50 → Damage: 15 ✓
|
||||
> - Same but with crit → Damage: 30 ✓
|
||||
> - With 50% defense → Damage: 15 (before defense) → 7 (after) ✓
|
||||
> - With 100% defense → Damage: 1 (clamped) ✓
|
||||
>
|
||||
> **Next Steps - Your Choice:**
|
||||
> A) I can write formal unit tests now (recommended - verification-driven development)
|
||||
> B) You can review the code first via `/code-review src/gameplay/combat/damage_calculator.gd`
|
||||
> C) Skip tests for now and integrate into actual combat
|
||||
>
|
||||
> What would you like?
|
||||
|
||||
## Turn 9: User Requests Tests
|
||||
|
||||
**User:**
|
||||
> A - write unit tests. Cover all the edge cases.
|
||||
|
||||
## Turn 10: Agent Writes Tests and Completes
|
||||
|
||||
**Agent:**
|
||||
> Unit tests created: `tests/combat/test_damage_calculator.gd`
|
||||
>
|
||||
> **Test Coverage (8 tests):**
|
||||
> ```
|
||||
> ✓ test_damage_basic_calculation() - Verify formula with known values
|
||||
> ✓ test_damage_with_crit() - Critical hits double damage
|
||||
> ✓ test_damage_with_defense() - Defense reduces damage correctly
|
||||
> ✓ test_damage_type_effectiveness() - Type modifiers apply
|
||||
> ✓ test_damage_min_clamp() - Never goes below 1
|
||||
> ✓ test_damage_attack_stat_clamp() - Attack stat clamped to 0-100
|
||||
> ✓ test_damage_missing_type_combo() - Defaults to 1.0 if not in config
|
||||
> ✓ test_damage_rounding() - Verifies floor() behavior
|
||||
> ```
|
||||
>
|
||||
> **Test Results:**
|
||||
> ```
|
||||
> Running tests/combat/test_damage_calculator.gd...
|
||||
> ✓ All 8 tests PASSED
|
||||
> Execution time: 12ms
|
||||
> ```
|
||||
>
|
||||
> **Code Review Self-Check:**
|
||||
> - ✅ All tests follow `test_[system]_[scenario]_[expected]` naming
|
||||
> - ✅ Arrange/Act/Assert structure used
|
||||
> - ✅ No external state dependencies
|
||||
> - ✅ Each test is independent and can run in any order
|
||||
>
|
||||
> **System is ready for integration!**
|
||||
>
|
||||
> Files you can now commit:
|
||||
> ```bash
|
||||
> git add src/gameplay/combat/*.gd
|
||||
> git add assets/data/combat_damage.json
|
||||
> git add design/gdd/health-system.md
|
||||
> git add tests/combat/test_damage_calculator.gd
|
||||
> git commit -m "Implement damage calculation system per design/gdd/combat-system.md"
|
||||
> ```
|
||||
>
|
||||
> The `validate-commit` hook will check:
|
||||
> - ✅ Design doc referenced in message
|
||||
> - ✅ JSON validity
|
||||
> - ✅ No hardcoded values (already fixed)
|
||||
>
|
||||
> Ready to commit?
|
||||
|
||||
---
|
||||
|
||||
## Session Summary
|
||||
|
||||
**What Worked Well:**
|
||||
- Agent read design doc first, identified 7 ambiguities upfront
|
||||
- Didn't assume or guess - asked for clarification on every unclear point
|
||||
- Proposed full architecture for user approval before writing code
|
||||
- Incorporated user's type safety feedback immediately
|
||||
- Rules caught issues automatically and agent fixed them transparently
|
||||
- Tests written proactively following verification-driven development
|
||||
- Agent offered next-step options rather than assuming what user wants
|
||||
|
||||
**Key Collaborative Moments:**
|
||||
- Turn 2: Agent identified 7 spec gaps and asked rather than guessing
|
||||
- Turn 4: Full architecture proposal shown before implementation
|
||||
- Turn 5: User requested type safety, agent adapted
|
||||
- Turn 8: Agent transparently reported rule violations and fixes
|
||||
- Turn 10: Agent verified all acceptance criteria with tests
|
||||
|
||||
**Files Created:**
|
||||
- 4 source files (damage_calculator, health_component, weapon, character_stats)
|
||||
- 1 config file (combat_damage.json)
|
||||
- 1 design doc (health-system.md)
|
||||
- 1 test file (test_damage_calculator.gd)
|
||||
|
||||
**Context Usage:** ~25% (focused implementation task)
|
||||
**User Satisfaction:** High - spec ambiguities resolved early, no rework needed
|
||||
360
docs/examples/session-scope-crisis-decision.md
Normal file
360
docs/examples/session-scope-crisis-decision.md
Normal file
@@ -0,0 +1,360 @@
|
||||
# Example Session: Scope Crisis - Strategic Decision Making
|
||||
|
||||
**Context:** Solo indie dev, week 8 of project (month 2), approaching Alpha milestone.
|
||||
|
||||
**Crisis:**
|
||||
- Alpha milestone is in 2 weeks
|
||||
- Crafting system (Pillar 2) not yet implemented
|
||||
- Lead programmer says full crafting will take 3 weeks
|
||||
- Investor demo at Alpha - must show all pillars
|
||||
|
||||
**Session Duration:** ~25 minutes
|
||||
**Turns:** 8
|
||||
**Outcome:** Strategic scope decision with documented ADR
|
||||
|
||||
---
|
||||
|
||||
## Turn 1: User Escalates Problem to Creative Director
|
||||
|
||||
**User:**
|
||||
> We have a problem. Alpha is in 2 weeks. The crafting system (Pillar 2 "Emergent Discovery") isn't implemented yet. Lead programmer says it'll take 3 weeks to implement fully. But the investor demo is at Alpha and they need to see both pillars (Combat + Crafting). What should I do?
|
||||
|
||||
## Turn 2: Creative Director Gathers Full Context
|
||||
|
||||
**Agent (creative-director):**
|
||||
> This is a classic pillar vs. schedule conflict - exactly what I'm here to help resolve. Let me gather the full context before recommending options.
|
||||
>
|
||||
> First, let me review the relevant documents:
|
||||
> - `production/milestones/alpha.md` (milestone definition)
|
||||
> - `design/pillars.md` (what's non-negotiable)
|
||||
> - `design/gdd/crafting-system.md` (what was designed)
|
||||
> - `production/sprints/sprint-current.md` (current work)
|
||||
>
|
||||
> [Reads documents]
|
||||
>
|
||||
> **Context Understood:**
|
||||
> - Pillar 2: "Emergent Discovery Through Experimentation" (crafting is primary expression)
|
||||
> - Alpha success criteria: "All pillars demonstrated in playable form"
|
||||
> - Investor demo purpose: Validate vision and secure next funding round
|
||||
> - Current crafting design: Tag-based deduction system with 12 tags, ~50 recipes, progressive hint unlocking
|
||||
>
|
||||
> **Clarifying Questions:**
|
||||
> 1. Is the Alpha date **hard** (investor won't reschedule) or **soft** (we could ask for 1 more week)?
|
||||
> 2. What's the **minimum crafting** that still demonstrates Pillar 2? (One recipe? Ten recipes? Full tag system?)
|
||||
> 3. What **breaks** if crafting is cut entirely from Alpha? (Does the game still make sense?)
|
||||
> 4. How **critical** is this investor relationship? (Nice-to-have funding vs. make-or-break for project survival?)
|
||||
> 5. What's the **team status**? (Burned out from crunch? Fresh and could push if needed?)
|
||||
|
||||
## Turn 3: User Provides Decision Context
|
||||
|
||||
**User:**
|
||||
> 1. Hard date - investor flying in specifically for demo, can't reschedule
|
||||
> 2. I think minimum is: discovery mechanic working (tag system) + 10 recipes. Doesn't need polish.
|
||||
> 3. Without crafting, Alpha only shows combat. That's 50% of the vision - investor might think it's just another combat game
|
||||
> 4. Make-or-break. This investor is our only lead. No funding = project dies.
|
||||
> 5. Just me solo, I'm not burned out yet.
|
||||
|
||||
## Turn 4: Creative Director Frames the Decision
|
||||
|
||||
**Agent:**
|
||||
> Thank you. Now I understand what's truly at stake. Let me frame this decision properly:
|
||||
>
|
||||
> **The Core Question:**
|
||||
> Do we deliver full crafting and slip Alpha, deliver simplified crafting and make Alpha, or cut crafting and risk the investor not seeing our full vision?
|
||||
>
|
||||
> **What's Really at Stake:**
|
||||
> - **Vision Integrity**: Can investor see Pillar 2 at all?
|
||||
> - **Schedule Trust**: Do we keep our commitment to Alpha date?
|
||||
> - **Project Survival**: No funding = no game
|
||||
> - **Quality Standards**: Is "rough but working" acceptable for this demo?
|
||||
>
|
||||
> **Decision Criteria (in priority order for this scenario):**
|
||||
> 1. **Investor Confidence** (highest - project survival depends on this)
|
||||
> 2. **Pillar Representation** (high - they need to see the full vision)
|
||||
> 3. **Schedule Integrity** (medium - matters, but less than funding)
|
||||
> 4. **Polish Quality** (lowest - vertical slice can be rough)
|
||||
>
|
||||
> Now let me present three strategic options...
|
||||
|
||||
## Turn 5: Creative Director Presents Options with Analysis
|
||||
|
||||
**Agent:**
|
||||
> **Option A: Implement Full Crafting System (3 weeks, slip Alpha by 1 week)**
|
||||
>
|
||||
> **Execution:**
|
||||
> - Implement complete tag-based system with all 50 recipes
|
||||
> - Full UI polish, all features from GDD
|
||||
> - Miss Alpha date, reschedule investor demo (+1 week)
|
||||
>
|
||||
> **Pros:**
|
||||
> - ✅ Pillar 2 fully represented with production quality
|
||||
> - ✅ No design compromises
|
||||
> - ✅ First impression is polished
|
||||
>
|
||||
> **Cons:**
|
||||
> - ❌ Breaks investor commitment (they're flying in for the original date)
|
||||
> - ❌ Signals schedule management issues ("if they slipped Alpha, will they slip release?")
|
||||
> - ❌ May damage investor trust more than rough demo would
|
||||
>
|
||||
> **Risk: CRITICAL**
|
||||
> - Investor may not reschedule (busy schedule, other opportunities)
|
||||
> - Even if they do, the slip damages credibility
|
||||
> - Unlikely to succeed given hard date constraint
|
||||
>
|
||||
> **Verdict: NOT RECOMMENDED** - The date is hard and non-negotiable
|
||||
>
|
||||
> ---
|
||||
>
|
||||
> **Option B: Simplify Crafting to Core Pillar (1.5 weeks, make Alpha)**
|
||||
>
|
||||
> **Execution:**
|
||||
> - Implement core tag discovery mechanic ONLY
|
||||
> - 10 recipes instead of 50 (enough to demonstrate the system)
|
||||
> - Basic UI (functional, not polished)
|
||||
> - No progressive hint unlock (all tags visible at Skill 0 for demo clarity)
|
||||
> - No failed-attempt feedback system (just success/fail)
|
||||
>
|
||||
> **Scope: "Vertical Slice of Pillar 2"**
|
||||
> - Players CAN discover recipes by combining tagged ingredients
|
||||
> - Players CAN learn tag patterns and deduce new recipes
|
||||
> - The SOUL of Pillar 2 is present, just unpolished
|
||||
>
|
||||
> **Pros:**
|
||||
> - ✅ Makes Alpha deadline (schedule integrity maintained)
|
||||
> - ✅ Pillar 2 demonstrated (investor sees full vision)
|
||||
> - ✅ Core mechanic is playable and provable
|
||||
> - ✅ Can use "Alpha → Beta improvement" as narrative ("here's rough, here's polished")
|
||||
>
|
||||
> **Cons:**
|
||||
> - ⚠️ First impression is "rough" (but vertical slices are expected to be rough)
|
||||
> - ⚠️ Investor might think "this feels small" (mitigation: present roadmap showing post-Alpha expansion)
|
||||
>
|
||||
> **Risk: MEDIUM**
|
||||
> - Investor might not "get" the pillar from 10 recipes (mitigation: good demo script explaining the vision)
|
||||
> - Might feel incomplete (mitigation: frame as "vertical slice proving the concept")
|
||||
>
|
||||
> **Verdict: RECOMMENDED** - Balances all constraints
|
||||
>
|
||||
> ---
|
||||
>
|
||||
> **Option C: Cut Crafting from Alpha, Focus on Combat Polish (0 weeks, make Alpha)**
|
||||
>
|
||||
> **Execution:**
|
||||
> - Deliver Alpha with only Pillar 1 (Combat) fully polished
|
||||
> - Use extra 2 weeks to super-polish combat, add content, make it shine
|
||||
> - Present crafting as "design doc + concept art" (not playable)
|
||||
>
|
||||
> **Pros:**
|
||||
> - ✅ Makes deadline with zero stress
|
||||
> - ✅ What's there is AAA-polished
|
||||
> - ✅ No risk of "half-baked" perception
|
||||
>
|
||||
> **Cons:**
|
||||
> - ❌ Pillar 2 not demonstrated (50% of vision missing)
|
||||
> - ❌ Investor sees "another combat game" - not differentiated
|
||||
> - ❌ Harder to secure funding for "potential" vs. "proven concept"
|
||||
> - ❌ If combat alone doesn't wow them, we have no fallback
|
||||
>
|
||||
> **Risk: HIGH**
|
||||
> - Investor won't see what makes this game special
|
||||
> - They might think "Combat is fine, but where's the hook?"
|
||||
> - Competing games have combat - we need to show our differentiator
|
||||
>
|
||||
> **Verdict: NOT RECOMMENDED** - Too risky for make-or-break demo
|
||||
>
|
||||
> ---
|
||||
>
|
||||
> ## My Recommendation: Option B (Simplified Crafting Core)
|
||||
>
|
||||
> **Reasoning:**
|
||||
> 1. **Investor Confidence**: Making the date we committed to shows reliability
|
||||
> 2. **Pillar Visibility**: Rough but working > polished but missing. Investors back VISION, not polish.
|
||||
> 3. **Demo Narrative**: "Here's Alpha vs. Beta progression" is compelling - shows trajectory
|
||||
> 4. **Risk Mitigation**: If crafting doesn't land, combat is still solid. If we cut crafting (Option C) and combat doesn't wow them alone, we have nothing.
|
||||
> 5. **Historical Precedent**: Hades, Dead Cells, Slay the Spire all showed rough Early Access verticals and investors loved the SYSTEMS over polish
|
||||
>
|
||||
> **What Option B Sacrifices:**
|
||||
> - Polish (acceptable for vertical slice)
|
||||
> - Feature completeness (50 recipes → 10)
|
||||
> - Progressive unlocks (deferred to post-Alpha)
|
||||
>
|
||||
> **What Option B Protects:**
|
||||
> - Schedule trust
|
||||
> - Pillar representation
|
||||
> - Vision clarity
|
||||
> - Project survival (funding secured)
|
||||
>
|
||||
> **Implementation Plan if you choose Option B:**
|
||||
> 1. I'll create an ADR documenting this scope decision
|
||||
> 2. I'll update `design/gdd/crafting-system.md` with "Alpha Scope" markers
|
||||
> 3. I'll brief gameplay-programmer on simplified implementation
|
||||
> 4. I'll create a demo script for you: how to PRESENT the 10-recipe system to show the 50-recipe vision
|
||||
>
|
||||
> **But this is your call.** You know this investor better than I do. If you believe they'll value polish over pillar representation, Option C might be right. If you think they'll forgive a 1-week slip, Option A is safest creatively.
|
||||
>
|
||||
> What's your decision?
|
||||
|
||||
## Turn 6: User Makes Decision
|
||||
|
||||
**User:**
|
||||
> Option B. The investor is technical and will appreciate the systems thinking even if it's rough. Let's simplify the crafting scope to make Alpha. Can you create the ADR and update the GDD?
|
||||
|
||||
## Turn 7: Creative Director Documents Decision
|
||||
|
||||
**Agent:**
|
||||
> Excellent decision. I'll document this thoroughly so future-you understands why we made this choice.
|
||||
>
|
||||
> **Creating:**
|
||||
> 1. ADR-007: Alpha Crafting Scope Reduction
|
||||
> 2. Updated design/gdd/crafting-system.md with Alpha/Beta scope markers
|
||||
> 3. Updated production/milestones/alpha.md success criteria
|
||||
> 4. Demo script guidance for investor presentation
|
||||
>
|
||||
> [Creates documents]
|
||||
>
|
||||
> **ADR Summary:**
|
||||
> ```markdown
|
||||
> ## Decision
|
||||
> Simplify crafting system to core tag discovery mechanic (10 recipes)
|
||||
> for Alpha milestone. Defer full implementation (50 recipes + progressive
|
||||
> unlocks) to post-Alpha.
|
||||
>
|
||||
> ## Context
|
||||
> - Alpha in 2 weeks (hard date, investor demo)
|
||||
> - Full crafting requires 3 weeks
|
||||
> - Investor demo is make-or-break for funding
|
||||
>
|
||||
> ## Consequences
|
||||
> Positive:
|
||||
> - Makes Alpha deadline, preserves investor trust
|
||||
> - Both pillars demonstrated (rough but playable)
|
||||
> - Can show Alpha→Beta improvement narrative
|
||||
>
|
||||
> Negative:
|
||||
> - First impression is "rough"
|
||||
> - Limited recipe variety
|
||||
> - Missing progressive unlock system
|
||||
>
|
||||
> ## Validation Criteria
|
||||
> We'll know this was the right choice if:
|
||||
> - Investor demo successfully shows both pillars
|
||||
> - Funding secured for next development phase
|
||||
> - Post-Alpha sprint can implement full system without rework
|
||||
> ```
|
||||
>
|
||||
> **Updated GDD Markers:**
|
||||
> ```markdown
|
||||
> ## Detailed Rules
|
||||
>
|
||||
> ### Core Loop (**ALPHA SCOPE**)
|
||||
> [Core mechanic description]
|
||||
>
|
||||
> ### Progressive Unlocks (**POST-ALPHA**)
|
||||
> [Skill-based hint system - deferred]
|
||||
>
|
||||
> ### Recipe Catalog
|
||||
> - Alpha: 10 recipes (demonstrates tag variety)
|
||||
> - Beta: 50 recipes (full content)
|
||||
> ```
|
||||
>
|
||||
> **Demo Script Guidance:**
|
||||
> ```markdown
|
||||
> ## Presenting Crafting to Investor (10-recipe Alpha)
|
||||
>
|
||||
> **Frame it as proof-of-concept:**
|
||||
> "This is a vertical slice of the crafting pillar. You'll see 10 recipes
|
||||
> here, but the SYSTEM supports unlimited recipes through tag combinations.
|
||||
> Watch how players deduce patterns..."
|
||||
>
|
||||
> **Show, don't tell:**
|
||||
> - Live demo: Discover 2 recipes on the fly
|
||||
> - Explain: "Notice Fire+Water made Steam Potion. Now the player knows
|
||||
> Fire+Water is valid. They can deduce that Fire+Earth might work..."
|
||||
> - Connect to pillar: "This is Emergent Discovery - the game teaches rules,
|
||||
> players become scientists."
|
||||
>
|
||||
> **Roadmap slide:**
|
||||
> "Alpha: 10 recipes (proof of concept)
|
||||
> Beta: 50 recipes (content expansion)
|
||||
> Release: 100+ recipes (includes community-designed recipes)"
|
||||
>
|
||||
> **Emphasize systems:**
|
||||
> "We're not making a content game, we're making a systems game. The tag
|
||||
> system can generate endless combinations. We're building a platform for
|
||||
> discovery, not a recipe database."
|
||||
> ```
|
||||
>
|
||||
> May I proceed to write these documents?
|
||||
|
||||
## Turn 8: User Approves and Agent Completes
|
||||
|
||||
**User:**
|
||||
> Yes, create all those documents and also notify the gameplay-programmer about the scope change.
|
||||
|
||||
**Agent:**
|
||||
> ✅ Complete! Created/Updated:
|
||||
> - `docs/architecture/adr-007-alpha-crafting-scope.md`
|
||||
> - `design/gdd/crafting-system.md` (added Alpha/Beta scope markers)
|
||||
> - `production/milestones/alpha.md` (updated success criteria)
|
||||
> - `production/demo-script-investor-alpha.md` (new file with presentation guide)
|
||||
>
|
||||
> **Notifications Sent:**
|
||||
>
|
||||
> To `gameplay-programmer`:
|
||||
> > "Crafting scope simplified for Alpha: Core tag mechanic + 10 recipes only.
|
||||
> > Progressive unlocks and full recipe set deferred to post-Alpha. Updated
|
||||
> > GDD has implementation guidance. Estimated 1.5 weeks to implement Alpha scope."
|
||||
>
|
||||
> To `producer`:
|
||||
> > "Strategic decision made: Simplified crafting to make Alpha deadline.
|
||||
> > ADR-007 documents rationale. Sprint plan needs updating to reflect new scope."
|
||||
>
|
||||
> **Next Steps:**
|
||||
> 1. Gameplay-programmer can start implementing simplified crafting
|
||||
> 2. You can practice demo script before investor meeting
|
||||
> 3. Producer will update sprint plan with new task breakdown
|
||||
>
|
||||
> **Validation:**
|
||||
> We'll know this decision was correct when:
|
||||
> - Alpha ships on time with both pillars playable
|
||||
> - Investor demo successfully communicates the vision
|
||||
> - Funding secured for continued development
|
||||
>
|
||||
> Good luck with the demo! This was the right call - vision over polish for this audience.
|
||||
|
||||
---
|
||||
|
||||
## Session Summary
|
||||
|
||||
**What Worked Well:**
|
||||
- Creative director read context docs before proposing solutions
|
||||
- Asked 5 clarifying questions to understand constraints
|
||||
- Framed decision properly (what's at stake, evaluation criteria)
|
||||
- Presented 3 distinct options with honest pros/cons
|
||||
- Made clear recommendation with reasoning, but deferred to user
|
||||
- Documented decision thoroughly with ADR and updated all affected docs
|
||||
- Provided demo script to help user present the decision positively
|
||||
|
||||
**Key Collaborative Moments:**
|
||||
- Turn 2: Agent gathered full context before jumping to solutions
|
||||
- Turn 3: User provided decision criteria priority (funding > schedule > polish)
|
||||
- Turn 5: Agent presented 3 options, made recommendation, but explicitly "this is your call"
|
||||
- Turn 6: User made strategic decision
|
||||
- Turn 7: Agent provided demo script to support user's presentation
|
||||
- Turn 8: Agent cascaded decision to affected parties
|
||||
|
||||
**Strategic Decision Quality:**
|
||||
- User made the final call
|
||||
- Agent provided expert analysis using game dev theory and precedent
|
||||
- Trade-offs were explicit and honest
|
||||
- Decision was documented for future reference
|
||||
- Success criteria defined for validation
|
||||
|
||||
**Files Created/Updated:**
|
||||
- ADR-007 (decision record)
|
||||
- Updated crafting GDD with scope markers
|
||||
- Updated Alpha milestone definition
|
||||
- Demo script for investor presentation
|
||||
|
||||
**Context Usage:** ~30%
|
||||
**User Satisfaction:** High - confident decision made with full information
|
||||
Reference in New Issue
Block a user