We're seeing some capacity limits, so parts of the site may be slow or briefly unavailable while we work on an upgrade. Please try again later, or join our Discord for updates.
Discord
Dev blog
Release notes

The Trust Update: making the whole match believable

Dota Captain
7 min read

A one-person dev blog post on the Trust Update, whose whole theme is making everything the match sim shows you something you can actually believe. It walks through the rebuilt map, the world outside the fights, smarter AI captains, and role-aware builds.

For weeks there was a gap in Dota Captain that quietly bugged me every time I opened a match. The sim would give you a result, and the result was often reasonable, but the way it showed you that result did not feel real. Heroes teleported across the map instead of walking. A gank would somehow catch people who were nowhere near each other. The stuff that happens between fights, the Tormentor, the shrines, Roshan, barely existed. And here is the thing about a simulation: it only teaches you if you trust it. If the picture on screen is obviously fake in five small ways, you stop believing the sixth, even when the sixth is right. So this update, the biggest one I have shipped, has a single theme running through everything. Trust. I wanted the whole match, not just the score at the end, to be something you could actually believe.

The map is alive now

The old map was the part I was least happy with. Heroes did not travel, they appeared. A squad would gank a lane with no sense of anyone actually getting there. When someone died, the little marker just blinked out, as if the body evaporated and the map moved on. None of it was wrong in the sense of the numbers, but it read as fake, and fake is the enemy of a teaching tool.

So I rebuilt the live map from the ground up. Heroes now walk real routes to where they are going. When a smoke squad commits to a kill, they converge on the target before the hit lands, so you can watch the trap close instead of seeing it teleport shut. Sieges assemble at the tower rather than materializing there. And when a hero falls, the body stays where it fell until the respawn timer runs out, so the map tells you not just who died but where, and how long that space is going to be empty.

That last detail matters more than it sounds. Half of Dota is reading the map for absence. A dead offlaner is a window: their tower is soft, their jungle is free, their lane is yours for the next thirty seconds. If the sim hides the body, it hides the lesson. Leaving the fallen where they fell is a small thing to code and a big thing to learn from.

The world outside the fights started to matter

Dota is not only teamfights, and for a while the sim more or less pretended it was. The objectives that good players build whole games around were thin or missing. That is a real gap, because at a certain level the map objectives are the game, and the fights are just the price you pay to take them.

So the world fights back now. Tormentor grants a real Aghanim's Shard, which means killing it is not a checkbox, it is a genuine power spike for the hero who gets it. Wisdom Shrines swing experience, so the timing of who goes to claim them actually shifts the game. And Roshan drops more than just an Aegis, so the pit is a richer decision than a single second life.

If you take one transferable idea from this section, take that objectives are power, not points. A Shard or a shrine or a Roshan drop changes what a hero can do in the next fight, which changes whether that fight even happens. Modeling those rewards honestly is what lets the sim connect a quiet map play at minute twenty to a won fight at minute thirty, which is exactly the kind of causal thread I want the tool to teach.

AI captains that actually have a plan

Drafting against the AI used to feel a little hollow, because the AI did not really know the heroes. It could fill a lineup, but it was not reasoning about matchups the way a captain does, and it was not honest about what it was comfortable playing.

Now the AI captains draft with a plan. They carry full counter and synergy knowledge across all 127 heroes, so a pick is a response to what you have shown, not just a name pulled from a hat. They make honest comfort picks instead of theoretically optimal ones they would never actually run. And the reasoning is readable, so you can follow why a captain took what it took instead of being handed a lineup and told to trust it.

That readability is the whole point of the trust theme applied to the draft. A recommendation you cannot inspect is just an assertion. When the captain can tell you it grabbed a hero to answer your safelane carry, and you can see that logic hold up, you learn the matchup even in a game you never queue for. The plan being visible is what turns a draft bot into a draft teacher.

Builds that know the role you drafted

Here is a mistake the old recommended builds made, and it is a mistake plenty of real players make too. It treated a hero as one thing. But the same hero is a completely different game as a farming core than as a roaming support, and handing you a carry build on a hero you drafted to support is worse than useless, because it is confidently wrong.

Recommended builds now adapt to the role you actually drafted. The same hero builds one way as a core, chasing net worth and fight-winning items, and a different way as a support, leaning into utility and enabling the rest of the team. The build follows the job, not just the portrait.

I also spent real time on the items page itself, because a build you do not understand is a build you cannot learn from. It now explains what every item actually does inside the sim, not what it does in a wiki, but how the engine values it, and the catalog is current to patch 7.41 with retired items clearly flagged so you are not planning around something Valve already deleted. And the post-match coach debrief tries to answer the question every player asks after a loss, was it the draft or was it the execution, so you know which mistake to actually fix.

Two things I wrote about separately

Two of the biggest pieces of this update grew large enough to earn their own posts, so I will only point at them here rather than re-explaining. The first is the caster booths. The match is now called by real two-person booths, and getting two voices to trade lines and actually tell the story of a game was a whole project of its own.

The second is honesty in the fights themselves. Fights are honest now, in the sense that every kill has a body and assists go to heroes who were genuinely there when it happened, with pacing that sits closer to real Dota. That change threaded into a lot of the map work above, and it deserved its own writeup, so it got one.

If either of those catches your interest, they are worth reading on their own. I mention them here mostly so this post does not pretend the map and the objectives happened in a vacuum. They are all part of the same push to make the match believable end to end.

Honest about what this is

I want to be straight about the size of this. Dota Captain is a one-man project I build in spare time, and the Trust Update tried to do a lot for one person: a rebuilt map, a living world of objectives, smarter captains, role-aware builds, honest fights, real casters. Some of that landed cleanly. Some of it I will be fixing for weeks, because the moment you make things look real, every remaining seam gets more obvious, not less.

The match engine is still an approximation, and it always will be. It does not know everything a real game knows, it makes calls I disagree with when I go back and read them, and there are edges I have not gotten to. When I ship a change that makes the picture more believable, I am also raising the bar for the next bug report, and honestly, a lot of this update came from exactly those reports. People telling me what looked wrong is the reason the map walks and the bodies stay.

So that is the Trust Update. Not a claim that the sim is right, but a claim that it is now honest about what it is showing you, which is the only ground a teaching tool can stand on. Trust is earned in small, believable details, and I am going to keep chasing them. Thanks for playing, and thanks, especially, to everyone who told me when it looked fake.

Release notesMatch engine