Every match leaves a paper trail
Updated Jul 15, 2026
Every match of Bloodlust & Harmony writes its own record. When a game ends there is a file on disk with one line per event: the match shape baked into the file name (1v1, 2v2, how many humans, how many bots) and inside it, everything that happened, in order, with timestamps.
The events split into two buckets. One is player choices: every building placed, every upgrade, every research tier, every gold piece spent and what it bought. The other is what the simulation did with those choices: damage, kills, ability casts, waves firing, status effects landing, and the match result. Low volume decisions on one side, high volume consequences on the other, so I can look at either without wading through both.
My favorite part is the economy snapshots. Every 30 seconds, and again after every purchase, the game records each player's full resources: gold, wood, stardust, income, food. Chart those over a match and you can see the exact moment someone's economy pulled ahead, or the exact bad buy that lost the game.
The bots write their homework down too. Every AI decision logs what it considered, what it rejected and why, and what it picked. When a bot does something dumb, I do not guess. I read its reasoning and fix the actual line of thinking that produced it.
There are dials for all of this. Damage can log every single hit or roll up into per-second summaries, which cuts the file size about ten times. The bot chatter can go quiet when I do not need it. And there is a performance mode that samples frame times, draw calls, and GPU cost every few seconds, tagged with the camera zoom and how many units are alive, so I can chart exactly when and why the game gets expensive.
The same feed also runs a live event viewer inside the game, color coded and filterable, which has quietly become my main debugging tool. And for playtests there is a send game data option: matches always save locally, and with the box checked the match summary also uploads to me at the end. That is how alpha games end up shaping balance even when nobody writes a bug report.
A match is only about a megabyte of very honest history. It is the cheapest testing tool I have ever built.