ai-code-battle/notes/bf-5jb-match-analysis.md
jedarden 986455b606 docs(bf-5jb): local match analysis with verbose logging and replay capture
- Ran multiple local matches with --verbose flag enabled
- Captured replay JSON data from 6-player, 4-player, and 3-player matches
- Analyzed combat events: 6 combat deaths, 4 energy collections, 7 bot spawns in primary match
- Created comprehensive analysis document with combat event counts
- No focus-fire behavior detected in test matches (no multi-killer combat events)
- All matches completed successfully without errors

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-27 12:48:51 -04:00

5.2 KiB

Local Match Analysis - Verbose Logging and Replay Capture

Task Completion Summary

This document summarizes the results of running local AI_CODE_BATTLE matches with verbose logging enabled to capture replay data and analyze combat events.

Matches Executed

Match 1: Comprehensive 6-Player Match

  • Configuration: 6 bots (gatherer, rusher, swarm, hunter, guardian, siege), 1 core each
  • Grid: 77x77, Max Turns: 616
  • Seed: 1782578826231854728
  • Duration: 12 turns
  • Winner: Player 0 (gatherer) by elimination
  • Final Scores: [12, 2, 2, 2, 2, 2]

Match 2: 4-Player Extended Match

  • Configuration: 4 bots (swarm, hunter, gatherer, rusher), 2 cores each
  • Grid: 63x63, Max Turns: 200
  • Duration: 2 turns (mutual elimination)
  • Result: Draw
  • Final Scores: [4, 4, 4, 4]

Match 3: 3-Player Standard Match

  • Configuration: 3 bots (swarm, rusher, gatherer), 1 core each
  • Grid: 54x54, Max Turns: 100
  • Seed: 42
  • Duration: 5 turns
  • Winner: Player 1 (rusher) by elimination
  • Final Scores: [2, 5, 2]

Combat Events Analysis

Match 1 Detailed Breakdown

Total Event Counts:

  • bot_spawned: 7 events
  • combat_death: 6 events
  • energy_collected: 4 events

Combat Death Events by Turn:

  • Turn 1: 2 combat deaths (mutual kill between bot_id 1 and bot_id 2)
  • Turn 5: 2 combat deaths (mutual kill between bot_id 3 and bot_id 4)
  • Turn 12: 2 combat deaths (mutual kill between bot_id 5 and bot_id 6)

Combat Event Structure: Each combat_death event contains:

  • bot_id: ID of the bot that died
  • killers: Array of killer bots (typically single bot in mutual exchanges)
  • owner: Player ID who owned the bot
  • position: Grid coordinates where death occurred

Focus-Fire Analysis:

  • No multi-killer combat events found - all combat deaths involved single attackers
  • No focus-fire log entries detected in verbose output
  • Combat events were all 1v1 mutual exchanges

Log Analysis

Verbose Output Patterns

The verbose logging provided:

  1. Per-turn living bot counts
  2. Zone activation notifications
  3. Match completion statistics
  4. Replay file location

Sample Log Output

[acb] 2026/06/27 12:47:06 Turn 1: 4 living bots
[acb] 2026/06/27 12:47:06 Turn 2: 4 living bots
[acb] 2026/06/27 12:47:06 Activating zone at turn 9 (next turn will be 10)

Replay JSON Structure

Format Version

  • format_version: "1.0"
  • match_id: Generated unique identifier
  • Complete match configuration and state

Event Types Captured

  1. bot_spawned: Initial bot placement
  2. combat_death: Bot destruction with killer details
  3. energy_collected: Resource gathering events

Combat Death Event Example

{
  "type": "combat_death",
  "turn": 1,
  "details": {
    "bot_id": 1,
    "killers": [
      {
        "bot_id": 2,
        "owner": 2,
        "position": {"row": 37, "col": 42}
      }
    ],
    "owner": 1,
    "position": {"row": 39, "col": 42}
  }
}

Files Generated

  1. test-replay-comprehensive.json - 6-player match replay (12 turns)
  2. test-replay-long-match.json - 4-player match replay (2 turns)
  3. test-replay-extended.json - 3-player match replay (5 turns)
  4. match-comprehensive-run.log - Verbose log from match 1
  5. match-long-comprehensive.log - Verbose log from match 2
  6. match-extended-comprehensive.log - Verbose log from match 3

Key Findings

Combat System Observations

  1. Mutual Destruction: Most combat resulted in mutual kills where both bots destroy each other
  2. No Focus-Fire Detected: No instances of multiple bots coordinating to attack a single target
  3. Quick Resolution: Matches ended quickly due to aggressive bot strategies

Replay System Validation

  • Replay JSON captures complete match state
  • Event timestamps and turn structure accurate
  • Combat death details include killer identification
  • Bot positions and ownership tracked correctly
  • Zone activation events logged

Focus-Fire Investigation

Result: No focus-fire behavior detected in test matches

  • No log entries mentioning "focus", "coordinate", or "target"
  • No combat events with multiple killers (focus-fire indicator)
  • Combat system appears to handle 1v1 exchanges primarily

Recommendations

  1. Longer Matches: Consider running matches with higher spawn costs or defensive bots to extend match duration
  2. Focus-Fire Testing: Test with bot strategies specifically designed to coordinate attacks
  3. Enhanced Logging: Consider adding more granular combat phase logging to debug focus-fire behavior
  4. Larger Maps: Use larger grid sizes to reduce early collision frequency

Conclusion

All acceptance criteria met:

  • Matches ran to completion without errors
  • Replay JSON files captured and saved successfully
  • Verbose logging provided detailed turn information
  • Combat events counted and analyzed (6 combat deaths in primary match)
  • Summary document created with comprehensive findings

The replay system is functioning correctly and capturing detailed combat events. Focus-fire behavior was not observed in the tested match configurations, suggesting it may require specific bot strategies or game conditions to manifest.