Posted on March 6, 2015
Today we fixed a subtle pathfinding bug that had been in the game for a while.
We get many reports of issues in the game, and the trickiest ones are the reports of subtle, often fleeting timing issues that result in incorrect hero or spell behavior. The bug we fixed today was inside the pathfinding system, but it manifested in extremely rare cases around blink dagger usage. We’ve seen reports of weirdness around blink dagger usage for a long time, but every time we spent some time digging into it, we couldn’t reproduce the events in those reports. A couple of weeks ago we decided to add a lot more tracking data to replays, so that the next time we received a match ID it would tell us more.
Early this week, we got lucky. Or perhaps you could say Loda got very unlucky. In Esportal Dota 2 League game #2 between The Alliance and Ninjas in Pyjamas, Loda reproduced the pathfinding bug at 18:26 game time. As Slardar, Loda had given a move to position order near some trees, and the generated path included an erroneous sharp turn at the very last step. Just as Slardar reached this last step, Loda activated his blink dagger. However, since Slardar was incorrectly trying to turn at the same moment, he was no longer within the required 11.5 degrees of facing the target position. Many players forget that your Hero does have to face towards the blink target before the blink actually starts. Exactly 0.07 seconds later, before Slardar had completed turning back towards the blink target, Loda cast Slithereen Crush, which replaced the blink dagger order. Sorry Loda!
Once we received the report of this occurring, fixing the bug was straightforward, because we finally had what we needed: a match ID containing the bug at a known time, and a new replay with the full unit and command information for each player. It took only a few hours to carefully analyze that replay and figure out exactly what was going on, compared to the many prior days fruitlessly spent combing over code and user reports looking for clues. There may still be other bugs that result in weirdness around blink daggers, and it’ll take more replays to catch them, but at least we know that this one is no more.
So, if you’re one of the many players out there that are great at noticing the really fine details in this massively complex game we all love, make sure your reports include a match ID and rough game time at which the bug occurred, since replays are now much more helpful in debugging these rare issues. That information can be the difference between a bug being fixed in a day and a bug that plagues us for months.