Lanes Are In My Ears And In My Eyes

Ben Steenhuisen
datdota
Published in
2 min readFeb 11, 2018

One of the newest features I’ve been tinkering with on datdota is that of lane classification. It’s a deceptively difficult task to get right — mostly because of the inherent complexity, but also because the public often disagrees on how certain game performances would be classified. Some of the issues related to this include:

  • lane swaps
  • roaming vs unsuccessful jungling (perhaps due an enemy roaming hero like Riki / Bounty / Enchantress)
  • courier sniping supports
  • predetermined movement (once a Meepo hits level 3/4/5 they head to the jungle and give the lane to a support for example)
  • a hero dies repeatedly (so spends a lot of time in base or walking from base), and then possibly abandons the lane
  • a mid aggressive hero (Queen of Pain or Puck for example) gets a specific rune and wants to gang a side lane with it, so spends a lot of time out of lane

Despite this, I’ve come up with a decent few workarounds and iterations to the point where I’d like to start exposing the data, initially as a filterable Lane Composition page. That’s not to say the data is close to error-free, there’s loads of unusual cases where a hero does something wonky that might need consideration (for example Team Liquid have apparently run a triple roaming + midlaner + offlane setup before).

Right now the data available is a bit verbose for general use:

  • % spend in each region of map by the 5/10/15 minute mark
  • Primary lane for first 5 minutes
  • Classification for that lane (is it safelane, offlane, defensive jungle, aggressive jungle, roaming)
  • Secondary lane for minutes 5–10 mins (for example, support or roaming heroes that end up taking over midlane or offlane if the core wants to go elsewhere)

Potential page impacts:

  • [new page] Matchfinder: by laning setup
  • [new page] Laning Setup head-to-head
  • [addition] Individual match pages
  • [filter option] Frames
  • [filter option] Items
  • [filter option] Heroes (basic & performance by Elo)
  • [filter option] Players (basic, unique heroes, records, player-hero combos, player-team combos)
  • [new] Players -> Laning (looking for some hierarchical data visualizations if anyone is interested in writing some tweet at me!)

In Other News

I’ve also discovered a few bugs related to neutral creeps dying (which only affects the Frame data). I’ll hopefully try fix sometime in the weeks after Katowice.

The Factional Advantage page is live, showing that Radiant & First Pick is as strong as ever (!); as well as which teams are making waves.

Next up is skill/talent decisions, match length distributions, item progressions and more.

Cheers,

Noxville

twitter | join us on [discord.gg / datdota]

--

--

Ben Steenhuisen
datdota

Dota 2 statsman and occasional caster | runs @datdota