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.
No comments:
Post a Comment