About 2 months ago, Valve started open beta testing for Dota 2 Reborn. In case you’ve been living under a rock, Reborn is a remake of Dota 2 using the Source 2 game engine promising better performance, a slick new user interface, custom games and more.
While the community was celebrating the launch of Reborn, our team here at Dotabuff were filled with dread. It’s not that we weren’t excited about Reborn - it looks amazing and it’s clear how much work the excellent team at Valve has put into it. Our apprehension came from a different place: we knew it was a completely different game engine and would involve significant changes to the replay file format, among other things.
A lot of the data you see on Dotabuff comes from TrueSight, our replay parsing and analysis system. TrueSight downloads replays of matches and analyzes them, turning raw binary data into useful information. TrueSight allows us to show a lot more information for every match: who killed who, charts of gold and experience over time, item purchase times, which lane players were in, where wards were placed, etc. It’s especially important for Esports matches, and as a tool for players who like reviewing their matches after they’ve played. As time goes on, we continue to build more sophisticated features that depend on this data.
With the launch of Reborn, the fears that we expected became reality: the replay file format had completely changed. Suddenly we were unable to get any of this awesome data from matches played on Source 2. Not only does this prevent us from showing you extra details on a per-match basis, but also reduces our ability to show long-term trends like hero lanes, vision and damage stats, etc. This obviously isn’t acceptable, so we went to work.
From the start, we made a few key decisions about how we’d approach Source 2 replay parsing:
We’d start work immediately. We actually began working on documenting and parsing the Source 2 replay format before Reborn was even released. We discovered an early replay of a match played on Source 2 and were off to the races. We understood some simpler parts of the file format before it even launched.
We’d make it a major focus of our engineering team and bring in people to help. Dotabuff is in a unique position in that we both have the financial ability and motivation to work hard on this problem. Thanks to the support of Plus subscribers, we’ve been able to devote hundreds of paid person-hours to the effort, both with our full-time developers on staff and a contractor who’s focusing entirely on Source 2.
We’d make it open source. We strongly believe that replay parsing is incredibly important to the community. It helps improve broadcast analysis, provide better tools for teams and helps reveal important trends in the game. We had to open source our work: the benefit to the community is much more important than any competitive advantage we’d gain from keeping it private, plus it’s just the right thing to do. You can find all of our source 2 replay parsing code on Github. It’s written in Go. We’ve also been collaborating with authors of other replay implementations, like Java.
Today I’m pleased to say that our efforts have paid off and we’re releasing initial TrueSight support for Source 2:
Plus subscribers (whose matches are automatically analyzed with TrueSight) can now play a match in Source 2 and see the same detailed analysis that they’re used to.
Plus subscribers will also have all of the Reborn matches they’ve played to date analyzed. We’ve been saving your replays in anticipation of this moment and have gone back and analyzed them all! This might seem trivial (“who cares about a match you played 2 months ago”) but we have some killer new features in development that depend on having TrueSight data for your matches. When we show how your Blink Dagger purchase time on Earthshaker has improved over the past 3 months, we’d prefer to have all the data!
When leagues begin playing Esports matches on Source 2, they too will all be parsed automatically, and made available to everyone.
This is essentially an Alpha release. There will be a few bugs here and there. We’ve had to rewrite a lot of complex logic and despite excessive amounts of testing, it’s still a lot of new code. We’re continuing to save replays and will go back and re-parse everything again (and again, and again, if necessary) if any significant bugs are discovered. Please report bugs in this forum thread.
There are still some parts of the replay that aren’t well understood and work on our open source parser continues! We’re going to continue investing our time and money to understand the entire replay file format. Come take a look if you’re a software developer or interested in replays!
Reborn is still in beta and the replay format might change. We’re committed to rolling with the punches and making sure that all of your matches get analyzed.
We’re excited about Reborn and it feels great to release initial TrueSight support for Source 2. We have a lot of great features in development today and the next 6-12 months will be very exciting.
I'd personally like to extend a massive THANK YOU to Plus subscribers - you help keep Dotabuff online and allow us to innovate. This really is a case where your support directly helps benefit the community as a whole, and we’re grateful to be a part of that.
If you've never heard of it, Dotabuff Plus is our premium service for players who want to get the most out of every game. Support from Plus subscribers allows us to wake up every day and work hard to make sure Dota 2 has the best match analysis and personal improvement tools of any game. In return, Plus subscribers get a number of great premium features with advanced data delivered quickly and reliability and presented in a great user experience.