On Math and Modeling — Ursa’s Earthshock vs Fury Swipes

January 30, 2013

Some of you might remember this post on Reddit full of Dota mechanics math from late last year.  Shortly before the whole DBR storm came up, discussion about this post popped up independently from a couple different sources, so I thought I’d chime in.  There’s this big disagreement over whether theorycrafting has its place as a useful way to improve your play.  My position is yes, it can be a great way for us to test whether our judgments about the game are correct.  But it should always be used to supplement human judgment and never as a replacement for human judgment.  This is particularly true for Dota because it is curiously one of the few RPG-esque games that emphasize qualitative decisions over quantitative decisions.  So let’s move on to the subject at hand:

s = time spent hitting target, d = basedamage, t = total attacks = s×(1+as)/170

total damage = 15t2 + t×(15+d)

This means Ursa’s damage scales quadratically with both the time he can spend hitting one target and his attack speed, meaning that if he worries about getting outcarried he should probably completely ignore pure damage items and mostly build attack speed for DPS. This also means that evasion is particularly effective against Ursa.

For level one Fury Swipes you only need to replace 15 with 7.5, so Fury Swipes doesn’t actually scale that well ~ which makes me wonder, why do people build Ursa (lvl 10) 1-4-4-1, and not 4-4-1-1, since his slow is almost as strong as Brewmaster’s (but much more spammable) and he can burst down pretty much anyone with that build and a blink dagger, with no fear of them getting away due to 4 seconds of 55% slow. Or even when jungling, 4-2-3-1 should still be better than 1-4-4-1. (I’d also get all other skills before lvl 2 ult)

For example the burst damage (Earthshock + Overpower attacks) of lvl 10 Ursa with 4-2-3-1, vlads and blink is 240+12.5×42 + 4×(12.5+76+1083×0.05) = 1010, and he’ll obviously get more auto attacks in, since the slow lasts for 4 seconds, while the 4 Overpower attacks are done after 1 second, so overall it should be enough damage to kill everyone at that point within a few seconds.

I haven’t actually tried those builds, but in theory they look much better than the standard “max Overpower and Fury Swipes above all else”. I actually think Ursa might be a decent hero if you max Earthshock early.

(emphasis mine)

Ignore the first part if you want.  The summary is that attack speed is more important to Ursa’s overall DPS than straight damage.  I don’t think this is of huge importance to us since most of Ursa’s midgame purchases tend to be oriented around reducing his susceptibility to kiting, particularly blink dagger and BKB though there are other, somewhat less popular options.

What’s really interesting here is the actually rather obvious but often overlooked fact that Fury Swipes suffers from diminishing returns.  At first glance it looks obvious.  The first rank gives 15 additional damage per swipe and each additional rank only gives 5 additional damage per swipe, but the problem with viewing it this way is that we don’t care that the second, third, and fourth points of Fury Swipes are weaker than the first; what matters is how they stack up against points in the other abilities.  A more mathematical way of looking at it is that the first point establishes the y-intercept, and every additional point establishes the slope.

For another example, take Gyrocopter’s Rocket Barrage.  The first point of Rocket Barrage gives you 11 damage per rocket, and each additional point only gives you 4 damage per rocket.  Looking at it this way, skilling Rocket Barrage past the first point looks like a waste.  But if you work out the math, each additional point of Rocket Barrage is worth 120 extra damage, which is actually pretty strong scaling.  Of course, the value of that 120 damage depends on you being able to position yourself so it’s directed exclusively towards an enemy hero, but it’s not a trivial damage gain despite 4 being so much smaller than 11.

Regardless, the guy’s math appears correct and Fury Swipes does indeed have weak scaling.  But it’s a peculiar skill because the amount of damage it adds depends on how long you can continue attacking the same target and scales in a funky way.  If we want to straight up compare it to Earth Shock we have to create a scenario and see how the damage plays out in two different builds.

For Ursa there are three relevant scenarios: jungling, Roshan, and killing enemy players.  Fury Swipes will hands-down beat Earthshock in the first two, but we’re going to put them aside for now.  As for the last, we’re going to use a scenario where Ursa gets an Earth Shock + X number of attacks on a target.  At the end of those attacks, we tally up the damage of the two builds.  The lower the damage, the more likely the target managed to escape.  Ursa’s big counter is being kited, so what we’re focusing on is putting out as much burst damage before the target escapes to safety.

We’re going to use very simplified builds that completely ignore Overpower and Enrage.  We assume whatever rank of Overpower we have is the one we need to manage however many attacks we’re landing.  The only difference between the two builds is one has 1 point in Earthshock and 2 in Fury Swipes and the other has 2 in Earthshock and 1 in Fury Swipes.  For the sake of simplicity we’re going to assume that the target has a sufficient armor level that it’s physical and magical damage reduction are identical.

Each point of Fury Swipes adds an additional 5 damage per attack.  What this looks like over 4 attacks is this:

1st Attack — 5 Damage

2nd Attack –10 Damage

3rd Attack — 15 Damage

4th Attack — 20 Damage


Total — 50 Damage

Incidentally, each additional point of Earthshock also adds 50 damage, so we know if an encounter lasts 4 attacks the two builds are equivalent in damage output, and if the fight lasts longer than 4 attacks, Fury Swipes pulls ahead.

One thing to keep in mind is that there’s a maximum number of attacks our simulated fight can reach because eventually the target will run out of HP.  If we’re looking at a 1Earthshock/2 Fury Swipes build at level 10, and assume that Ursa’s base damage at this point is 60 and the target has 1,000 HP, it will take Ursa 9 attacks to chew through that HP ((10 * 9^2 + 9*(10+60))*.75 if you want to check my math).  Realistically, this is probably an underestimate of his potency, since it assumes no Vlad’s, no Phase Boots, no other items of any kind, and probably undershoots natural damage growth (it also ignores Earthshock damage, and shorts him 2 skill points; 1/4/2/1 = 8).

So point-for-point, Earthshock is stronger in fights of 1 to 4 attacks, Fury Swipes in fights of 5 to 9 attacks.  But we’re still neglecting the fact that Earthshock provides a slow and the potency of the slow grows 10% each rank.  How do our builds compare if the additional point of Earth Shock allows for just one additional autoattack during the fight?

Assuming again a base damage of 60, the 5th attack will do 285 extra damage.  That pretty definitively outpaces the growth of Fury Swipes, and it ignores any additional item benefits that will only tip the scale in favor of Earthshock.  Earthshock’s slow could also allow allies to catch up to the target to add their own damage or contribute to the CC chain.

You might say that Earthshock is a bad skill because it’s too hard to hit with.  This is an outdated notion that ignores the buff Earthshock received in 6.75 in reducing its cast time from .5 to .3.  To continue the comparison with Brewmaster’s Thunder Clap from the original quote, Earthshock actually has a .1 shorter cast time and only a slightly smaller radius.  If Thuder Clap is accepted as an integral part of Brewmaster play I see no reason the same should not apply to Ursa.

Now returning to the question of jungle and Roshan viability.  I think there’s a compelling case to be made for a laning Ursa to max Earthshock before Fury Swipes, but that ignores that Fury Swipes is a big component to Ursa’s damage against neutrals.  Can a build with only 1 point in Fury Swipes jungle quickly enough to be viable in most games?  I don’t know.  You’d have to time the competing builds to get a good idea of just how much efficiency you’re losing, and then make a judgment call on whether the loss is worth the benefit.  If a 1/3/1/1 start isn’t viable, maybe a 0/3/2/1 would be an acceptable compromise.  But that’s just another set of tests and another judgment call.

As for Roshan, is the fastest Roshan possible that big of a deal for Ursa?  He’s going to be off the map for quite a while either way, and either his opponents will think to guard the Rosh pit or they won’t.  I guess there’s the possibility that a build that skimps on Fury Swipes might make the fight take just long enough that the opponents will get suspicious and stop it, but is that possibility significant enough on its own to justify a different skill build?  Again, it’s a judgment call.  Granted, it’s one we could approach statistically if we had enough samples of early game Ursa matches.

One of the most subtly cool things about Dota is that it appears to be designed from the ground up in a way that emphasizes qualitative decisions over quantitative decisions.  For instance, the Assault Cuirass vs Heart comparison that gets brought up in the Reddit post.  If the items were straight stat sticks, it’d be easy.  You want survivability?  Find where you are on the chart and pick the appropriate item.  But in actuality we have to weigh in the worth of the Heart’s HP regen passive, specifically is our character evasive enough to be able to activate it?  Are the Assault Cuirass’ attack speed and armor reduction auras something our team needs to amplify our damage?  There’s rarely a straight comparison to be made.  Nearly everything is situational.

But breaking things down to math is still important when we need to re-evaluate our intuitions.  Shortly after Keeper of the Light came out, I was involved in a brief argument over the value of Chakra.  They said it was an outdated skill now that item-based mana solutions are more readily available than they were in the path.  I pointed out that in terms of sheer additional mana/sec, Chakra blows everything out of the water.  Now maybe that amount of mana is overkill for your team, or maybe Keeper just isn’t a good fit for your lineup.  It still helps to have an accurate mental image as to what 300 mana (minus 85 if you’re worried about net) every 16 seconds actually is.

Anyway, with skill builds being mentioned here and in the upcoming API patch, next post will likely look at how we can categorize skill builds in a more useful way.


Correction: As many people have pointed out, Fury Swipes applies to the first hit.  I wasn’t sure whether it would or not and couldn’t find confirmation, so I tested it before the post but my test was in error.  The correct values should be in place now, assuming I caught everything.


Dota 2 Test Patch Notes — API Upgrades

January 30, 2013

Patch Notes.  Of note to us

– Added Captain’s Mode Picks and Bans.
– Added ability upgrade order and times to each player.
– Added inventory for additional units (Lone Druid’s Spirit Bear).
– Added an API for getting match details in the order they were recorded.

Picks and Bans are pretty cool.  At some point during the downtime the API was updated to include information on game modes, so we’ll be able to do some Hero picks and success rates by mode, skill level, and now ban/pick order for CM.  Perhaps RD and SD might eventually get similar treatments.

Ability upgrade order and times is nice.  Item purchase order has a higher priority for me, but you take what you can get.

Spirit Bear is kinda minor in the general scheme of things but welcomed nonetheless.  Lone Druid item analysis is pretty much impossible without it.

I don’t know exactly what the last point entails, but my guess is that this is for collecting every game that exists one by one without having to build a match list through GetMatchHistory first.  It’s a necessary addition, but my concern is that match skill level has not previously been included in match information; you had to get it through GetMatchHistory.  Assuming I’m even correct about what the new API is for, I think finding the match skill level is still possible, but it would require 2 calls per match instead of the previous 1.04 calls.  This would be an undesirable state of affairs for everyone involved, but until more details come out we’ll just have to wait and see.

If my assumptions about what the new API is for are correct, I hope it has (or will eventually have) filtering options.  This isn’t a big deal if you’re just building a database of every game, but if you’re just trying to get a workable sample it would be nice to be able to skip bot games, abandoned games, and be able to exclusively get matches in certain brackets or featuring certain heroes as was possible with GetMatchHistory.

Unrelated, there will hopefully be an article or two coming later tonight.  Next few should finally be on stuff not related to the privacy drama.

The Death of Dota 2 Statistics Has Been Greatly Exaggerated

January 28, 2013

There’s been a lot of misinformation going about DotaBuff’s closing (and current potential not-closing), the privacy setting, and what it means for statistical collection in Dota 2.  I don’t claim to have all the answers, but here’s the facts as I know them to be.

You can divide DotaBuff into three features:

  1. Everything that existed before the unveil of DotaBuff Rating and DotaBuff Plus
  2. The new features unveiled with DotaBuff Plus, i.e. spirit bear items, skill builds, hero win rates by DBR, chat logs, etc.
  3. DotaBuff Rating

Let’s take them one by one and see how the privacy changes affect them.

1 is easy in that the answer is “not at all.”  You can check CyborgMatt’s mock-up for yourself.  Virtually every stat DotaBuff aggregated is available through the API.  You won’t be able to see the names of private players in a match, but every match is still available so you can still have hero win rates and item usage rates.  You won’t be able to see your personal stats and match history without disabling your own person privacy settings.

2 is a bit trickier, at least at the moment.  As far as I know, most of these features were created through replay parsing.  Anyone could theoretically do this, but DotaBuff’s replay parser is likely significantly more advanced than any other parser outside of Valve.  Parsing through hundred’s of thousands of matches per day is also a rather extreme feat that should not be trivialized.

Aside from this, you previously could grab match replays through an entry in the API which appears to have been disabled.  Without access to this DotaBuff would no longer be able to do any match parsing.

My assumption is that this has been disabled until Valve can find a way to make replays mesh with their new privacy policy.  I don’t personally know the details of what information replays store, but this post suggests that previously you could use replays as a way to bypass the privacy setting.  I expect this functionality will eventually be returned which will allow for all parsing features to be replicated.

One other twist is that there were a few new DotaBuff Plus features that were dependent on DBR, specifically the hero win rates and skill build by DBR bracket.  These features can be replicated using the in-game skill brackets that are available through the API.  Admittedly, these are match measurements rather than player, but the difference is relatively negligible.

3 is absolutely broken.  Unless something drastic changes or something new comes to light, it will stay broken.

So let’s look at this from the perspectives of DotaBuff and Valve.

DotaBuff came out with DotaBuff Plus.  On one hand, their operation is pretty massive, and they need some way to offset expenses.  On the other hand, there’s no reason to believe that this was a non-profit organization.  Ultimately, I see no reason to laud or impugn their motives.  Ultimately it’s just business.

DotaBuff Plus came with a lot of features, but the shining star was clearly everything related to DBR.  Regardless of your personal opinions on a visible MMR, it was far and away the most capable feature of driving subscriptions, and DotaBuff likely knew this.  It was also the feature that future competing stat sites would not be able to compete with.  Having it killed off puts a big damper on their financial plans, and however you feel about those plans, killing them would put a damper in being able to cover their server expenses if nothing else.

That being said, they don’t appear to have thought of any contingency plans for if/when Valve took issue with DBR.  A bad move on their part because that when turned out to be “very quickly.”

The obvious question is why was Valve so quick to respond?  DotaBuff Plus and DBR get announced and within days Valve suddenly announces a privacy setting AND the re-release of the API.  Both things have likely been in the works for a while, but the timing can only be seen as a response to DotaBuff’s announcement.

One reason suggested for this is that DotaBuff Plus in some way is the culprit, either that Valve didn’t like the attempt to monetize or that it somehow put them in an undesirable legal position.  I can’t really say much about this explanation, but in the absence of evidence I don’t find it very compelling.

Other people point out that DotaBuff was using a backdoor method to get their information.  Yeah, but it was basically an open secret that their stat aggregation wasn’t entirely on the up and up since before they were even called DotaBuff.  Valve had to have known what they were doing and neglected to do anything about it until now.  This explanation might serve as a pretext for Valve’s actions, but I don’t believe it is what drove them.

My preferred explanation is that Valve feels they cannot allow a public MMR to exist that they do not tightly control.  DBR broke that rule, and Valve transcended Valve Time and broke DBR.  So why is Valve so controlling when it comes to public MMR?

1. They want to tightly control how and when any kind of ratings get displayed in order to prevent poisonous behavior

Yes, I called DBR “relatively innocuous,” and it’s certainly less toxic than the way HoN handled ratings, but I can understand that weak assurance being not good enough.  There was nothing stopping DotaBuff from changing their policies in the future, so cutting off their access was much safer.

2. DBR undermines their plans for the future development of the game

Some have said that they have no problem with All Pick being a serious competitive environment.  Fine, there’s no accounting for taste.  What’s not ok is the primary competitive outlet for a game having absolutely no party size requirements or restrictions.

Some people claim that stacking isn’t actually a good way to boost your win rate.  There’s a kernel of truth to that, but only a kernel.  In reality, stacks have a built-in matchmaking handicap that compensates for their (assumed) superior coordination.  Many groups can’t quite live up to this handicap and experience sub-50% win rates.  Meanwhile, there’s a relatively small number of groups that can easily outperform the handicap and maintain massive win rates.  As of now this isn’t that big of an issue.  Group handicaps are likely a work in progress, and no system will ever be perfect.  If you suddenly turn the main matchmaking queue into a quest to get the highest DBR you’ll spur plenty of competition, but the most productive outlet for this competition will be to come up with a group design that best games the group matchmaking handicap.  This is a completely unacceptable state of affairs.  Any matchmaking with a visible MMR should either be 5v5 or solo queue.

Aside from that, one thing most people neglect to consider is that every matchmaking option is essentially in competition with all the matchmaking options.  The quality of your matches is dependent on how many people are looking for a match at the same time, and every alternative game mode will be drawing people away from your queue.  A visible personal rating is a feature that will draw many people to a mode, and having it in general matchmaking makes it significantly more difficult for Valve to test future matchmaking additions in a controlled environment.  Along these lines, I stand by my previous position that public matchmaking with a visible MMR will compete for player attention with any ranked 5v5 mode.  5v5 is the harder mode to get running.  The barriers to entry are higher, and it becomes very difficult to keep low end play rates high enough to keep low end matches sufficiently balanced, which in turn erodes match quality and leads to further low end player loss, etc.  5v5 needs to receive priority attention before any kind of solo matchmaking with a visible rating is implemented, and DBR interferes with this.

3. DBR could represent a potential security risk

The joke goes that Valve doesn’t want DBR because it would expose the fact that their matchmaking doesn’t work.  Besides the typical D-K Overdrive conspiracy theory, there could actually be some truth to this.  Valve presumably does not want its competitors knowing how its matchmaking system functions.  DBR provides a list of matches along with a relatively generic rating system.  If you find matches that don’t make sense within DBR, you could potentially use them to infer how the matchmaking system actually works.

I honestly find this one to be a bit of stretch.  1 and 2 are sufficient alone, but I guess it’s possible that DBR represents a potential security break in the future.

In any case, where we stand is this.  All the stats we’re used to are still there.  MMR is back to being completely hidden instead of partially, imperfectly revealed.  DotaBuff may or may not survive, but even if they go down the competition now has all the tools to replicate what they’ve done until this point.  That being said, no one is close to the scale of DotaBuff, so losing them would still be a loss in the short term.  I personally feel that Valve’s implied stance on public MMR is justified regardless of the implications.

DotaBuff Rating: First Thoughts (And maybe last)

January 25, 2013

Good news is that the official API came back up today.  Bad news is I’m still running into the same bug from however many months ago, but apparently the API is in for a major overhaul in the next couple of weeks, so things look to be back on track (oh god I have to look at code again)

Anyway, DBR came out along with some extra site features.  It’s still too early to tell what the new Dota2 privacy setting will mean for the future.  Some rumors suggest that it’ll be pretty devastating to DotaBuff’s plans,  but for now it doesn’t appear to be interfering with much (though it may or may not be currently bugged).  In any case, DBR would have been calculated from DotaBuff’s backlog of matches so the privacy setting would only prevent future DBR adjustments at worse.  So taking everything as it is at the moment, how is DBR looking?

Update: DotaBuff claims the privacy changes will shut them down

The most important thing is that DotaBuff appears to be keeping personal DBR completely private.  This definitely lessens some of the concerns about DBR being used to flame at hero selection.  Had DBR lookup of other accounts been a DotaBuff Plus feature, it’d only be a matter of time before someone would make a script to look up and report the ratings of everyone in the game.  Whether this would pan out for any number of reasons is unclear, but it’s a headache that Valve would prefer to avoid entirely.  That’s not to say there aren’t downsides to DBR as is.  I still stand by everything I said in The Insignificance of Pub Stats, Part 3, but DBR’s current implementation is at least far more innocuous than it could have been.

I feel the most misleading aspect of DBR is that it appears to be heavily inflated by dead accounts.  A DBR distribution by active accounts would likely present a far clearer picture.  It would also be less flattering for most of us, and maybe this played into the decision.  For whatever it’s worth, I have access to the DBR of one account that solo queues between Normal and High and it’s 96th percentile.  Assuming this is accurate (which is a risky assumption; more data points would be necessary to ensure this particular account isn’t an outlier in some fashion) then combined with my normal/high/very high measurements it suggests two things

  1. There are a lot of dead accounts, and the majority of them are somewhere in normal.  This is almost certainly true.
  2. Of the players that are active, High and Very High players play far more regularly than Normal players.  This is also likely true.

Unfortunately we have no way to tell right now which is the stronger force.  Well, at least I have no way to tell right now.  Maybe DotaBuff knows.

The other silly thing I keep running into is that people are ascribing way too much certainty into the pure numbers of the system without understanding the unit of measurement.  It’s not like we have a block of matchmaking skill sitting somewhere in a vacuum sealed jar.  The skill difference represented by 100 points in any particular matchmaking system is completely arbitrary, unique to that particular matchmaking system unless explicitly designed otherwise, and not even necessarily constant at all points in the distribution (in other words, the extremes might be subjected to warping).

Finally, there’s one other issue I want to address.  One of the responses to my Insignificance articles is that while the individual rating might not always matter, skill plateau’s do matter.  I believe the particular example was that all SC2 pros would make it to the grandmaster ladder.  And I do grant you that something like this is true even in Dota.

The problem is that while every pro player might hit this plateau (or would eventually hit this plateau provided they used matchmaking often enough), not everyone who hits that plateau is going to be capable of being a pro player.  This is especially true in Dota where hero specialization, All Pick, and pre-made stacks are all ways to to game the rating system, which makes the predictive power of any particular plateau pretty unreliable.

The more insidious effect is that there may be people who are below that plateau who are capable of playing at and beyond that plateau provided they ever make it into the right environment for honing their skills, that right environment being organized games.  But if we’ve made a big deal about the plateau then some of the people recruiting for organized games might begin to only recruit people who hit the plateau in matchmaking.  This would stunt the development of the community in a really bad way.

So yeah, maybe DBR allows us to make really broad judgments of a player’s current skill, but we should always emphasize that on a narrow scope these judgments are imprecise and that they are a measurement of current results and not actual potential.

DBR vs Valve

January 23, 2013

I’ve received a few questions about my thoughts on the upcoming DotaBuff Rating.  Most of my general feelings about personal public matchmaking stats are covered in the recent Insignificance of Pub Stats series, with MMR being discussed primarily in part 3, but DBR was enough of a significant development that it warranted its own post.

I say ‘was’ because apparently Valve has some feelings on the subject that supersede my own.

– Added a privacy setting in the UI so that players can specify whether they want to allow external 3rd party websites to be able to access their match history (defaulted to private).

I don’t know to what extent this will hinder Dotabuff, but in other places I had described DBR as Pandora’s box.  Possibly I got my myths mixed up and it was really Icarus flying too close to the sun.  Time will tell.

As for me, this is potentially going to make future stat aggregation even harder.  Not like it’s been easy these past few months, but I admit I’m a little worried.

In any case, the patch has some other cool changes.  All Random is in, Least Played not removes double the heroes, and Troll Warlord.  Practice vs Bots is also a good quality of life change to the UI for new players.

Edit: I don’t have intimate knowledge of how information gets passed from Valve to Dotabuff so this is speculation, but what I do know is that Dotabuff creates most of their information from match results, so the big question is what happens to a match result when some of the players are set to private and others are set to public.

Option #1: Match information cannot be obtained if any of the players are set to private.  This is the nuclear option and basically threatens Dotabuff’s entire existence.

Option #2: Match information can be obtained as long as any of the players are set to public.  This makes the privacy setting a toothless placebo.  I feel there’s basically no chance Valve would go with this, but I include the option for the sake of completeness.  Though it is possible that Dotabuff is capable of bypassing the privacy setting through their unique access method, which would effectively be this option.

Option #3:All match information can be obtained, but the player name and account ID entries are filtered out for anyone with a private account.  This allows Dotabuff to continue to exist, but to use it for your match history you would have to set your account to public.  I don’t know for certain whether public accounts would still be able to have a DBR under this system, but I would suspect that any subsequent DBR would likely be less accurate.

I’m kinda leaning towards 3 being the most likely outcome, which is actually nice from my end because it wouldn’t inconvenience me at all.  I just want to know the match MMR rating and am perfectly content leaving all of the player information completely anonymous.


Reports from the Dev forum suggest that Valve definitely went with option 3, so stat aggregation and Dotabuff will be able to continue.  Despite my comment, it’s unsure whether the anonymous account IDs are consistent over matches or not.  As was pointed out in the comments, consistent IDs would allow DBR to continue to exist.

Update #2:

Quoting from here:

It remains trivial to associate a player’s match history with their Steam profile

Not sure if this was intentional or not, but it seems that:

– The account_id of a player who has their match history set to private doesn’t change between games.
– You now have a player’s matchmaking history, but don’t know who they are.
– Replay files contain a player’s steam 64 id.
– Assuming you have one replay file in which the player has a unique name and have collected the data for that game, you’ve now linked a steam profile to a “new” account_id.
– You match history is now public again.

If accurate, it sounds like it might be trivial for DotaBuff to bypass the privacy filter entirely.  Though maybe they’ll quietly and voluntarily respect the privacy filter so they can keep their DBR while Valve can maintain a stance in favor of player privacy.

The Dota 2 Metagame

January 21, 2013

Some more item stuff coming later this week, but I want to tidy up some things first.  In the meanwhile, I thought I’d take some time to talk about the concept of a metagame and how it pertains to Dota, specifically how to strategize during the hero selection phase.

A lot of you might be groaning because the very mention of metagames means we’re veering dangerously close to League of Legends territory.  But I think the comparison is an important one to make.  I often hear about LoL players that are too intimidated to try Dota because they simply don’t understand the game.  By explaining the metagame, these players can have an easier time making the transition.  Not that this is a wasted exercise for the Dota crew either.  You can dramatically improve your public matchmaking win rate by just picking intelligently.  Taking a step back to ask why we pick certain heroes and lane them in certain ways also helps move us beyond just copying what works, so we can come up with new groupings that challenge the established conventions.

The most important starting point for understanding the Dota metagame, especially if you’re coming from a LoL background, is that most of the heroes in the game simply do not need items to function.  This is by no means a statement that CS is unimportant.  Instead, what you should take from it is that in LoL you farm items during the laning phase to gain an item advantage which leads to map control.  In Dota, you fight to establish map control during the laning phase in order to safely farm items to gain an item advantage so you can break into their base.  Your lane compositions dictate your plan for establishing that map control.

We can essentially divide Dota’s laning phase into 3 roles: carries, semi-carries, and supports.  Carries scale exponentially with gold and often have a weak or vulnerable laning phase.  Semi-carries scale primarily from leveling up their abilities.  Supports can contribute to fights without either an item or level advantage.  Like most things in Dota these categories are not rigidly defined.  Some heroes are essentially carry/semi-carry hybrids (Lycan, Templar Assassin).  Some semi-carries can function perfectly well as supports and vice versa (Nyx Assassin, Shadow Shaman).  Sometimes you’ll even see characters used as the premier carry for one team and the hardest support for another (Sven).

In Who is the Most Farm Dependent Hero?, I attempted to measure CS scaling.  While there are some issues primarily rising from the small sample size, shifts in how Normal/High/Very High play the game, and emerging trends during 6.74 (Bounty Hunter is likely too high, for example, and Tiny is likely too low) I’m generally pretty happy with how it turned out.


Most of 1-30 are carries.  They need a protected source of farm to become relevant to the game.  Some adjustments I would make

Lycan and Ursa are kinda unique in that they were successfully played as farming junglers, and because so much of their damage came from their abilities instead of their item builds they were practically semi-carries.  This data was from 6.74 and since then they have both been nerfed.

Doom is not a carry, but he’s definitely a semi-carry with a very vulnerable laning phase.

Bounty Hunter gets played as a semi-carry more often than not in high level play, but is usually treated as a carry in lower skill environments.

Recent patches have shifted Spirit Breaker to a more dedicated semi-carry role.

Alchemist is definitely a carry, but was weak in 6.74.

Tiny is now almost exclusively played as a carry.  His Aghanim’s upgrade was still new at this point of the game and has completely redefined how he is played.

Sven is still a weird case, but his post-6.74 buffs have made him much more viable as a carry.

Most of 30-60 are semi-carries.  They don’t necessarily need protected CS, but they do need a reliable source of levels to effectively influence the game.  This one can be tricky because the line between a dedicated semi-carry and a support can get awfully vague.  Also, some of 60-90 are semi-carries whose level of farm does not heavily influence the game like Dark Seer.

One last bit of information for any readers new to Dota.  The Safe lane is the bottom lane for Radiant and top lane for Dire.  It’s called safe because the creeps naturally clash much closer to your tower and is also important because it has the most setups for pulling neutral creeps into the lane so that your minions will tank them.  The Hard lanes are on the sides of the map and tend to leave you exposed and without any pull options.

So with those roles established, let’s see how lane setups evolve.


The most obvious setup from a new players perspective and also the most common setup in lower level Dota.  Ideally you would have 1 carry in the safe lane, one semi-carry in the hard lane, and a semi-carry or a hybrid like Templar Assassin in the center lane getting solo exp.  Let’s look at the dangers of using this setup.

1. Many 5-man compositions will have at least one weak sidelane in the 2-1-2.

2. Your Carry+Support will be facing a 2-man lane, forcing your Support to babysit full-time.  This leaves them unable to use neutral pulls to get extra farm and control the lane equilibrium.

3. You can’t use junglers effectively.

Defensive Tri-lane

This setup exploits the weaknesses of the 2-1-2 and can come in a couple variations.  Variations on this setup become relatively common in higher level matchmaking.

The basic idea is that you commit yourself to having a weak hardlane.  You stick a solo semi-carry or support in the lane to try to get as many levels as possible out of it while playing relatively safely.  If your opponents stick with a 2-1-2 they might have a difficult time forcing a sturdy hardlaner out of exp range, while on the other end of the map their 2 person hardlane is now having to deal with 3 heroes.  If they contest the lane, 3 should beat 2 consistently unless there’s a huge disadvantage in picks or skill.  If they give up the lane your supports now have the ability to pull neutrals with impunity and roam for mid pressure and rune control.

The other big variation of this is to use a carry/support/jungler.  The Jungler can provide tri-lane support when necessary and farm unimpeded when they aren’t needed.  Your support can then neutral pull and this effectively gives all five of your heroes some source of farm and levels.

Aggressive Tri-lane

Primarily this works as a counter to the Defensive Tri-lane, but can also counter 2-1-2 setups.  Your goal is to send a strong 3-man kill lane to your hard lane and make it impossible for their hard carry to farm.  Ideally you also send a good 1v1 carry like Lone Druid, Clinkz, or Weaver to your safe lane where they take advantage of a 1v1 against their hard lane solo, but this can be composition dependent.  Some variations can also include an aggressive jungler as your third.

This setup is relatively uncommon in random matchmaking because it requires the most coordination, but it’s definitely quite viable if executed correctly.

One big advantage to this strategy is that it can let you effectively farm a hard carry in each of your sidelanes.  This gives your team incredible late-game scaling if the opposing team can’t figure out a way to shut down either of your lanes.


Occasionally you will see a dual mid in organized play, but it’s extremely rare in public play.  This typically gets used to create a kill lane situation with an otherwise uncommon mid like Kunkka or Brewmaster.

2 hard lane, 1 safe lane, 1 jungler is a thing, but probably shouldn’t be.  It usually just means your team got greedy during picks, and it’s got huge vulnerabilities against every other setup.

Double jungle occasionally gets used in pubs, but it’s more of a gimmicky fun-time strat than anything else.


So how can we use this information during picks in general matchmaking?

  • For the most part you can assume your team is going to go 2-1-2 unless you see a jungler.  You can try to convince them to try other stuff out, but prepared to be met with confusion or silence.
  • Don’t pick a hard carry unless you’re sure you’ll have a source of farm.  If you think you have a farm source but doubt it’s security at least try to pick a strong laning carry like Viper, Drow, Luna, Naix, Lone Druid, etc.
  • Cultivate a list of heroes that work as flex picks.  Decent in a 2v2 hard lane, capable of handling a hard lane solo, can contribute to a defensive trilane while pulling.  Lots of heroes are viable at all of these (as least in your typical random matchmaking environment), and it’ll help protect you from having games ruined by bad picks.
  • If your team isn’t accomplishing anything in a 2 man hard lane, try to convince them to switch to a defensive tri-lane (or just tell your lane partner to play cautiously while getting safe levels and make the switch yourself).  It’s almost always better to win one side lane than it is to lose/tie both side lanes.
  • If you’re a jungler and you don’t put any pressure on lanes for the first 20 minutes, don’t be surprised if your team collapses.  This is quite frankly inexcusable at every level of play.
  • As a solo hard laner, don’t tunnel vision on getting farm.  Get whatever CS you can without risking death, and focus on getting the levels you need to accomplish things in other parts of the map.  Usually this means getting your ult and immediately moving to another lane to accomplish something with it.
  • Don’t get caught up in protecting towers, particularly as a hard laner.  If they really want your tier 1, there’s very little you can do solo to prevent it and just hanging under it is asking to get dived.  If you can teleport in to punish someone diving on a teammate, by all means, but your outer towers are ultimately expendable so don’t waste resources defending one against impossible odds.

On a related note, No Tidehunter ran a somewhat unconventional 5-carry strategy today that surprised a lot of people but makes perfect sense if you think about it in these turns.  Their lanes were Templar Assassin Mid, Lone Druid solo-Safe, and a Naix/Sven/Gyrocopter aggressive tri-lane.  This was against a Nyx Assasin Mid, Weaver Hard, and Luna/Shadow Demon safe lane with Chen in the jungle.

Their picks sound greedy, but TA vs Nyx is an even matchup, and TA syngerizes quite well with what they were trying to accomplish.  Lone Druid vs Weaver is a favorable matchup for the Druid, especially in the safe lane.  That leaves No Tidehunter’s unconventional aggressive tri-lane vs 3DMAX’s safe lane + jungler.

The first thing to consider is that Sven and Gyrocopter aren’t exactly the hardest of carries.  On my chart they came in at 40 and 41, so they don’t need a ton of farm to be effective.

More importantly, both Sven and Gyro have really useful abilities for roaming out of an aggressive tri-lane.  Sven has a very strong stun, and Gyro’s Rocket Barrage will tear up anyone who is isolated as the Chen quickly found out.  Homing Missile -> Storm Bolt -> Rocket Barrage is basically a guaranteed kill on anyone who gets caught out, and all you need for the combo is a level 2 on Gyro.

Finally, one last thing to consider that isn’t immediately obvious is that both Sven and Gyro have built-in cleaves.  As a support team, this allows them to quickly clear stacked jungle camps in the mid game in order to catch up on levels.  This really wasn’t necessary in today’s game, but it’s a nice option to have in your pocket just in case.

So while it looks like a really unconventional draft, it actually follows the basic principles of an aggressive tri-lane comp.  It’s a pretty good example of using flexible characters like Sven and Gyrocopter to create a lineup that the enemy team is incapable of countering.

Progress on the Replay Parsing Front

January 18, 2013

Cyborgmatt has a post up detailing a new demo parser made by Statman Bruno from Dota-Academy.com.  I’ll probably look into it soon, but for my purposes I’m still limited by the difficulty of gathering enough demo files and the impossibility of getting skill level information short of copy and pasting matchID’s from the in-game client.  Admittedly, that sounds like something I might do, so I guess what I’m saying is nothing is certain at this juncture.

There are still limitations.  Some might be temporary and others not so temporary, but I still think this is the first step to making the kind of team and personal evaluation stats I mentioned in the latter half of The Insignificance of Pub Stats, Part 2.