
Why did I win? Teaching the game to explain itself

The match recap used to retell a game in pretty prose that taught you nothing. This is about replacing that with a real breakdown: a verdict, a causal chain, ranked factors tied to real numbers, and a lesson for the loser.
Here is the thing that finally bothered me enough to fix it. You would run a simulated match, win it, read the recap, and come away knowing exactly nothing about why you won. The old recap was flavor prose. It retold the game the way a hype video does, with mood and momentum and a satisfying finish, and it was genuinely nice to read. But I would close it and could not have told you whether I won because of the lanes, the draft, a Roshan timing, or pure luck. A coach that cannot show its reasoning is not a coach. It is a scoreboard with opinions. So I sat down to teach the game to explain itself.
The recap that taught you nothing
When you learn Dota from your own games, the whole point is the causal question. Not what happened, but why it happened, and which of the many things that happened actually mattered. A replay that just narrates events in order hides that. Ten things go right and ten things go wrong in every game, and if you cannot tell which two or three of them decided the result, you will keep repeating the ones that lost you the other games.
My old recap had exactly this problem. It described the match beautifully and explained it not at all. It would tell you a fight was tense and the base fell, and leave you to guess whether that was the cause or just the last domino. For a tool that is supposed to help you get better, that is close to worthless. Reading it felt good. Learning from it was impossible.
A verdict, then the chain that earned it
So in 0.6.2 the recap now opens with a coach breakdown of why the winning team won. It starts with a one-line verdict, a single sentence stating the thesis of the game. Then it backs that thesis up with a causal chain that traces the match the way a real analyst would, from how the lanes went, through what that did to the economy, through the key objectives, all the way to the close. The idea is that you should be able to follow one thread from the first few minutes to the base falling, and see how each link pulled the next.
Underneath the chain, the recap ranks the decisive factors by how much each one actually moved the game, and ties every one to a real number from the match. Not vibes. The net-worth gap, the kill lead, tower and Roshan control, the timings. If a factor is near the top of the list, it is because the numbers say it did more work than the ones below it. That ranking is the part I care about most, because it is the difference between a story and an explanation.
The lesson is for the team that lost
A breakdown that only flatters the winner is half a coach. The team that lost is the one with something to learn, so every recap now ends with the lesson for the losing side, stated as what they needed to do differently. It names the mistake and it names the fix, in plain language, not in the abstract.
And the mistakes it calls out are the real recurring ones, the patterns you actually see in your own games. Won the lanes but never converted the lead into objectives. Finished ahead on gold but kept losing the fights that mattered. Let the game run long without ever hitting the item timings that were supposed to close it. Those are three of the most common ways a good position turns into a loss, and if the recap can put a name to the one that got you, that is a lesson you can carry into the next draft.
Winning without the gold, and saying so
There is a specific kind of win that the old recap flattened, and it is one of the most instructive results in Dota. The team that is behind on net worth and wins anyway. That happens because gold is not the game. Execution, positioning, and picking the right fights can beat a bigger bank account, and when they do, that is the lesson, not an asterisk.
So comeback wins and games won despite a net-worth deficit are now called out explicitly. If a team wins on execution rather than economy, the recap reads as exactly that instead of pretending the richer team should have won and got unlucky. I wanted the honest version. Sometimes the scoreboard says one thing and the game says another, and the coach should be brave enough to point at the game.
Cutting the pretty part on purpose
To make room for all this, I removed something I liked. The old narrative-detail block, the one that retold the match in flavor prose, is gone. That was a hard little delete because it was the part that read the best. But once the analysis explained the why and the engagement timeline already covered the what, the flavor block was just repeating the game a third time in a prettier font. It was filler, and filler in a coaching tool is worse than nothing because it buries the signal.
This is a running lesson for me as one person building this in spare time. The instinct is always to add. The harder and usually better move is to cut the thing that is charming but not load-bearing, so the useful part has room to breathe. The recap is shorter now and says more.
And the small fix that started it: naming the jargon
A little before this, in 0.6.1, I did something that in hindsight was the same idea in miniature. The captain playbook throws a lot of metrics at you. Draft fit, Coherence, Discipline, Script focus, Strat clash, intents, and more. In the first few weeks those sat there as confident-looking numbers with no explanation, which is its own kind of scoreboard with opinions. If you did not already know what Script focus meant, the coaching was just jargon at you.
So every one of those stats now has a small info icon you can hover or tap to see what it actually means. It is a tiny change and it is not glamorous, but it comes from the same conviction as the whole recap rewrite. A coach owes you its reasoning. If I am going to grade your draft on Coherence, the least I can do is tell you what Coherence is.
One honest closing note. The match engine is an approximation and it is still improving, so the causal chain is my best reading of a simulated game, not gospel, and I get things wrong. But I would rather show you flawed reasoning you can argue with than a polished result you cannot question. Explaining itself is the whole job now, and that feels like the right direction to keep getting wrong in.