Everything you need is here. Start with START HERE below.
COMBAT_SYSTEM_SUMMARY.md ← Read this first
Assets/Scripts/Maze/Combat/QUICK_START.md
COMBAT_REFERENCE.md ← Keep this open
| Document | Purpose | Read When |
|---|---|---|
| Combat/README.md | Full feature overview + setup | Understanding the system deeply |
| Combat/ARCHITECTURE.md | Class diagrams + data flow | Understanding relationships |
| Combat/INTEGRATION_EXAMPLE.md | Code snippets to copy-paste | Implementing integration |
| Combat/IMPLEMENTATION_CHECKLIST.md | What's done, what's left | Planning your work |
| Combat/COPY_PASTE_EXAMPLES.cs | Code templates | Quick examples |
1. Create Monster asset (2 min)
Right-click > Create > Monster > Set stats > Save to Resources/Monsters/
2. Create Weapon asset (2 min)
Right-click > Create > Weapon > Set bonuses > Save to Resources/Items/Weapons/
3. Create Armor asset (2 min)
Right-click > Create > Armor > Set defense > Save to Resources/Items/Armor/
4. Update MazeSceneBuilder (5 min)
Load resources, create agents with equipment, pass retreatThreshold
5. Update MazeGenerator (2 min)
Spawn encounters in rooms
6. Test (2 min)
Play & watch agents interact with monsters
See COMBAT_SYSTEM_SUMMARY.md for full code.
Phase 1: Setup (Today)
Phase 2: Combat (Next)
Phase 3: Polish (Later)
✅ Done
🔨 Skeleton (Expand)
❌ Not Done Yet
Quick lookup:
// Create a character
var stats = new CharacterStats();
var sheet = new CharacterSheet(stats);
// Equip items
sheet.EquipWeapon(ironSword);
sheet.EquipArmor(leatherArmor);
// Get effective stats (includes bonuses)
float atk = sheet.GetEffectiveAttack();
// Create agent with character
var agent = new MazeAgent("Agent_0", startRoom, sheet);
// Spawn monsters
var encounter = new MonsterEncounter();
encounter.SpawnMonsters(new[] { goblin }, 1, 3);
room.Encounter = encounter;
// Evaluate threat
float cr = encounter.GetPerceivedChallengeRating(agent.CharacterSheet);
// Resolve combat (when implemented)
var outcome = CombatResolver.ResolveCombat(agent, encounter);
See COMBAT_REFERENCE.md for full API.
| Issue | Solution |
|---|---|
| Compile errors about CharacterSheet | Unity hasn't recompiled yet. Wait or press Ctrl+Shift+R |
| Resources not loading | Ensure assets are in Resources/Monsters/, Resources/Items/Weapons/, etc. |
| Agents don't have equipment | Pass CharacterSheet to MazeAgent constructor |
| Agents don't retreat | Set lower retreatThreshold (e.g., 0.8 instead of 1.5) |
| Combat doesn't happen | Implement MazeAgentController trigger for room with encounter |
| Dead agents still moving | Call agent.Die() when defeated |
Incomplete information — Agents see 60-100% of monsters (not exact count)
Retreatable — Agents can choose not to fight
Extensible equipment — Easy to add new item types
Per-instance stats — Monsters are templates, instances get copied stats
Separate combat resolution — CombatResolver is independent
MazeAgent
└─ CharacterSheet
└─ CharacterStats
└─ Weapon/Armor
└─ Item
AutonomousAgentBrain (peek & retreat)
└─ MonsterEncounter
└─ Monster
└─ CharacterStats + Items
Room
└─ MonsterEncounter
CombatResolver (skeleton)
└─ MazeAgent + MonsterEncounter
All documentation is in this folder:
COMBAT_SYSTEM_SUMMARY.md — Big pictureCOMBAT_REFERENCE.md — API lookupQUICK_START.md — Immediate setupINTEGRATION_EXAMPLE.md — Code examplesARCHITECTURE.md — Class diagramsREADME.md — Detailed guideIMPLEMENTATION_CHECKLIST.md — Progress trackingStart with COMBAT_SYSTEM_SUMMARY.md ← You are here 👈
Version: 1.0 Last Updated: 2026-08-25 Status: ✅ All foundation classes complete, skeleton for combat ready