Camelot Combat Reporter
Camelot Combat Reporter is a cross-platform combat analysis tool for Dark Age of Camelot. It reads the game's chat.log files and turns walls of timestamped text into something you can actually learn from: structured performance breakdowns, interactive visualizations, and the kind of post-fight analysis that makes you wonder why you didn't check the logs three years ago.
The Problem
DAoC writes combat data to a log file. That's generous phrasing. What it actually writes is an unstructured stream of [12:43:07] You hit the invader for 287 damage! lines interspersed with chat spam, system messages, and the occasional guild drama you didn't ask for.
Understanding what happened in a fight--who contributed what, where the healing gaps were, which crowd control chains landed, why you died again--means scrolling through hundreds of these lines and reconstructing the timeline in your head. In competitive PvP (Realm vs. Realm), that manual analysis is the difference between repeating mistakes and fixing them.
So I automated it.
What It Does
Upload a log file, get structured data. The core analysis covers damage dealt, healing performance, player statistics, and interactive timeline visualizations that show the flow of a fight from first engage to last death.
The death analysis is where it gets specific. Deaths are categorized by type--burst damage, attrition, execution--and the pre-death timeline is reconstructed so you can see exactly what happened. Not "you died" but "you died to burst damage in a 3-second window where your healer was CC'd and your guard was down." That level of detail turns a frustrating death into something you can prevent next time.
Crowd control (CC) tracking monitors diminishing returns, CC chains, and duration efficiency. DAoC has a diminishing returns system that makes effective CC management a genuine skill ceiling, and most players have no idea how much CC time they're actually wasting. (The answer, usually, is a lot.)
Beyond that:
- Realm Ability Database. 100+ abilities across three realms with usage stats and impact metrics
- Buff and Debuff Monitoring. 40+ effect categories with uptime analysis--finds the coverage gaps where critical buffs dropped and nobody noticed
- Session Comparison. Delta calculations between sessions, tracking improvement over time
- Group Composition Analysis. Role classification, balance scoring, and recommendations for whether your group has the right mix for what you're running
- Real-Time Alerts. Configurable notifications (sound, visual, text-to-speech, Discord webhooks) triggered by combat conditions during live play
Technology
- Framework: .NET 9.0
- UI: Avalonia (cross-platform)
- Platforms: Windows, macOS (Intel and Apple Silicon), Linux
- Testing: 189 passing tests
- License: MIT
How It Connects
This is the most domain-specific project in my collection, but it exercises the same muscles as the rest: parsing structured text (like LlmsTxtKit parses llms.txt), generating analysis from raw data (like DocStratum reports validation findings), and building cross-platform .NET applications with Avalonia. The same C# language features--pattern matching for log line classification, records for immutable combat events--apply as naturally to game analysis as they do to AI tooling.
And like Rune & Rust, it exists partly because not everything needs to be about AI. Sometimes you just want to know how the Thane kept killing you.