IMPLEMENTATION_CHECKLIST.md 6.9 KB

Implementation Checklist

✅ Complete (Already Implemented)

Core Systems

  • CharacterStats — Base stats (health, speed, attack, defense, magic)
  • CharacterSheet — Stat management with equipment and bonuses
  • Item base class — Extensible equipment system
  • Weapon — Attack bonuses + secondary stat effects
  • Armor — Defense bonuses + penalties/resistances
  • Monster template — Scriptable monster definitions
  • MonsterEncounter — Room encounter management
  • RoomEncounterConfig — Encounter spawning configuration
  • MazeAgent integration — Character sheet + death tracking
  • Peek mechanic — Challenge rating evaluation
  • Retreat logic — Threat-based exit filtering
  • AutonomousAgentBrain updates — Dead agent detection, retreat threshold

Documentation

  • Architecture diagram (ARCHITECTURE.md)
  • Quick start guide (QUICK_START.md)
  • Detailed README (README.md)
  • Integration example (INTEGRATION_EXAMPLE.md)

🔨 TODO (Implementation Tasks)

Priority 1: Core Combat

  • Full combat resolver
    • Turn order calculation (speed-based initiative)
    • Combat loop (multiple rounds)
    • Victory/defeat conditions
    • Damage calculation (attack vs defense)
    • Loot award on victory

Priority 2: Game Integration

  • [ ] MazeSceneBuilder updates

    • Load/assign monster templates
    • Load/assign weapon/armor templates
    • Pass encounter config to brain
    • Create agent character sheets with starting equipment
  • [ ] MazeGenerator updates

    • Spawn encounters when generating rooms
    • Exclude start/exit rooms from encounters (or customize)
    • Scale encounter difficulty by room depth (optional)
  • [ ] MazeAgentController updates

    • Detect agent entering room with encounter
    • Trigger combat resolution
    • Handle victory/defeat outcomes
    • Update UI based on combat result

Priority 3: Features

  • [ ] Monster AI — Decision making during combat

    • Target selection (damaged enemies? weakest? random?)
    • Ability choice (basic attack? special? defend?)
    • Retreat logic (flee at low health?)
  • [ ] Ability system — Special attacks/spells

    • Define ability type (physical/magical/healing)
    • Energy/mana cost
    • Cooldown tracking
    • Effect application (damage, heal, buff, debuff)
  • [ ] Status effects — Temporary debuffs/buffs

    • Poison (damage over time)
    • Stun (skip turn)
    • Buff/debuff (stat modifiers)
    • Duration tracking
  • [ ] Item drops — Loot system

    • Roll on monster's loot table
    • Add to agent inventory
    • Option to equip immediately or carry

Priority 4: Polish

  • [ ] UI

    • Health bars (agent + monsters)
    • Combat log (what happened each turn)
    • Stat display (show effective vs base stats)
    • Inventory screen
    • Equipment screen
  • [ ] Audio/VFX

    • Hit/miss sound effects
    • Damage number popups
    • Hit impact VFX
    • Victory/defeat music/effects
  • [ ] Difficulty scaling

    • Monster stat scaling by room depth
    • Encounter size scaling
    • Difficulty presets (easy/normal/hard)

Priority 5: Advanced Features

  • [ ] Combat variants

    • 1v1 duels
    • 1vN multi-monster battles
    • Team battles (multiple agents vs monsters)
  • [ ] Item types beyond weapon/armor

    • Consumables (potions, scrolls)
    • Accessories (rings, amulets)
    • Questionnaire items
  • [ ] AI decision trees — Complex monster behavior

    • Formation tactics
    • Spell casting priority
    • Mob coordination
  • [ ] Procedural monster generation — Randomize stats/loot

  • [ ] Difficulty ramp — Get harder as agents progress

  • [ ] Unique monsters — Boss encounters with special abilities


Getting Started (30 min)

  1. Create test assets (5 min)

    • 1 Weapon
    • 1 Armor
    • 1 Monster
  2. Wire up MazeSceneBuilder (10 min)

    • Load resources
    • Create agent character sheets
    • Pass retreat threshold to brain
  3. Add encounter spawning (10 min)

    • Update MazeGenerator to spawn encounters
    • Test in Unity
  4. Implement basic combat (5 min)

    • Add combat trigger to MazeAgentController
    • Run simple damage calculation
    • Test victory condition

File Structure

Assets/Scripts/Maze/
├── Combat/
│   ├── CharacterStats.cs          [✅ Done]
│   ├── CharacterSheet.cs          [✅ Done]
│   ├── CombatResolver.cs          [🔨 TODO: Full impl]
│   ├── RoomEncounterConfig.cs     [✅ Done]
│   ├── Items/
│   │   ├── Item.cs                [✅ Done]
│   │   ├── Weapon.cs              [✅ Done]
│   │   └── Armor.cs               [✅ Done]
│   ├── Monsters/
│   │   ├── Monster.cs             [✅ Done]
│   │   └── MonsterEncounter.cs    [✅ Done]
│   ├── README.md                  [✅ Done]
│   ├── QUICK_START.md             [✅ Done]
│   ├── ARCHITECTURE.md            [✅ Done]
│   ├── INTEGRATION_EXAMPLE.md     [✅ Done]
│   └── IMPLEMENTATION_CHECKLIST.md[✅ You're reading this]
├── Agent/
│   ├── MazeAgent.cs               [✅ Updated]
│   ├── AutonomousAgentBrain.cs    [✅ Updated]
│   └── MazeAgentController.cs     [🔨 TODO: Combat trigger]
├── Core/
│   └── Room.cs                    [✅ Updated]
└── ... (other existing files)

Resources/
├── Items/
│   ├── Weapons/
│   │   └── IronSword.asset        [🔨 TODO: Create]
│   └── Armor/
│       └── LeatherArmor.asset     [🔨 TODO: Create]
└── Monsters/
    └── Goblin.asset               [🔨 TODO: Create]

Testing Checklist

After implementing each piece, verify:

  • Weapon/Armor assets load and apply bonuses
  • Monster template creates instances with correct stats
  • Agents get character sheets with starting equipment
  • Agents see monsters when entering rooms
  • Agents peek at threat and retreat if dangerous
  • Combat resolves when agent enters monster room
  • Agent health decreases during combat
  • Dead agents stop moving
  • Loot drops when monster dies (if implemented)
  • New agents start fresh (not carrying over damage)

Notes

  • The system is designed to be extensible — add new item types, abilities, effects without breaking existing code
  • Incomplete information is by design — agents see 60-100% of monsters, creating uncertainty and risk
  • Difficulty balance is your responsibility — tune retreatThreshold, encounter chance, monster stats
  • Performance should be fine even with 50+ agents since stats are just numbers
  • No runtime state in the template assets — each instance gets its own CharacterSheet copy

Good luck! 🎮