ROSH: The Alpha Draft Assistant

Really Outstanding Synergy for Heroes has arrived!

STRATZ
STRATZ
14 min readJun 3, 2023

--

Can you beat the Alpha?

Welcome back to the STRATZ Supdate cycle! We hope you’ve all had a lovely few months, as we here at STRATZ have been trailblazing new mega-features and preparing for a glorious year of updates! If you’ve been paying attention in our Discord, you already know that several big releases have taken place since the last official Supdate in February — with the most epic being our new GPT-powered localization manager, supertongue!

supertongue is both all lowercase, and all powerful, in that it allows both A.I. and our community to collaborate on ensuring that STRATZ has 100% coverage across (counting…) 24 languages, with the ability to add any others that you demand!

Sorry right-to-left language readers; while supertongue supports you, STRATZ.com isn’t built to handle your formatting needs just yet. That said, we almost never get requests for this, so if you want it, let us know!

Additionally, we have another big public project underway that is henceforth unannounced, but will surface in the coming weeks!

And while the future is always looking good here at STRATZ, today we get to release, after several weeks in a semi-private alpha, the mighty ROSH! If you haven’t yet been introduced to ROSH, sit back and enjoy the ride.

I’m waiting for you…muhaha!

ROSH stands for Really Outstanding Synergy for Heroes (🎉) — a name coined by the late and great Fantôme, back when ROSH was but a whimsical fantasy…not the nightmare he’s become! It’s powered by a combinatorics algorithm we call TrueSynergy, which basically just looks at every hero in your draft, and measures their collective win rate, match count, synergy, and counter values, then outputs their combined and individual…True Synergy.

TrueSynergy is always up to date — to the nearest day(s) for win and pick rates, and to the nearest week(s) for synergy and counter scores. The reason that more than one day or week may be included in the dataset is to ensure that the match counts meet our minimum thresholds: 1000 for win/pick rates, and 100 for synergy/counter values.

Since there are 15,252 combinations of heroes (synergy pairs and counter pairs), we don’t require as high a match count as we do for win and pick rates, as there aren’t enough matches played in the world to get high match counts for all hero combos in a timely dataset.

TrueSynergy accounts for the contribution of each individual hero within the draft, but when combined, the values from all heroes on each team are added together to determine each Team TrueSynergy. On their own, each Team TrueSynergy represents how effectively each team synergized their picks, and countered their enemy’s picks. A positive Team TrueSynergy indicates that your overall draft is strong, while a negative value indicates a weak draft. The difference between the two Team TrueSynergies shows the difference in strength between the two drafts.

This difference, called the Team TrueSynergy Differential (creative, we know), is the most important value in ROSH, as it directly correlates to the projected win probability for each team. We tested how well the Team TrueSynergy Differential correlates with win rate across 1,000,000 matches (about a days worth), and it looks something like this…

x-axis: Team TrueSynergy range (up to):: y-axis: Win %

Basically, as Team TrueSynergy Difference goes up, so does win rate, peaking around +60. Things get a little out of sorts with extremely high Team TrueSynergy Diffs, though that’s almost certainly a result of there being extremely low match counts within those ranges (often containing only a handful of matches total in the 100+ range), as shown below.

y-axis: % of total matches in dataset

When all matches were measured, the team with a higher Team TrueSynergy Difference had about a 58% chance to win. Achieving a Team TrueSynergy Diff of around 40 or more will result in your team winning more than 2/3 of your matches.

We’ve been running lots of tests on TrueSynergy and some other new analytics that we’re experimenting with, and will be publishing a detailed blog about the results once everything is ready.

Now let’s look at your new content! ROSH currently consists of two pages: Analysis and Training.

The Analysis page is an anything-goes draft experimentation and review tool. You can use it to load drafts from completed matches, or play around with ideas like which heroes combine well together, how to play out specific draft scenarios, to find ways to counter particularly problematic heroes — whatever you’d like! In Analysis mode, all the data from your draft is available at all times.

Meanwhile, your Training page is where you “play ROSH”, and there are two modes you can do this with: Practice and Versus. Both modes are played in a life-like simulated Captain’s Mode draft, complete with accurate timers, draft rounds, and first pick and faction selections.

In Practice mode, you control both factions, giving you the opportunity to try to counter yourself, or experiment with variations in a data-free environment. You can also play with a friend, and switch between picks! At the end of the draft, you can see all data, and reflect on your decisions.

In Versus mode, you’ll start by selecting the difficulty of the Bot you’ll be playing against. There are 5 difficulty levels, with the incredibly challenging Alpha difficulty being the hardest. While it might be tempting to jump straight into a match against the Alpha bot, you’ll probably find that a more human-like difficulty is more motivating to play against. The Alpha Bot can be defeated, but it’s very challenging — we estimate that no more than 1 in 100 drafts will result in the Alpha being defeated, even against strong players.

Important: Don’t forget to set the Rank that you want to play with in ROSH; this applies to both pages and both Training modes. Combining all ranks, which is the default setting, won’t result in a real-world draft environment. Likewise, using a Rank that you won’t benefit from analyzing probably won’t result in as productive use of your training time.

Let’s take a closer look at your new pages, starting with Analysis.

Should I pick Muerta, or Muerta?

There’s a lot to cover here, but thankfully, the first time you use ROSH, you’ll be greeted with a brief introduction for each page. You can always revisit the introductory material by toggling it on in your Settings.

Speaking of Settings, let’s take a look at them.

Behold!

The Settings for the web version (currently the only version) of ROSH are simple: a toggle to show or hide the intro, and controls for how heroes are “Qualified” to be recommended by ROSH. Heroes are both qualified in general, and by position.

The Hero Position Qualifications gives you the options to adjust the minimum Hero Pick Rate (PR) and Position PR. The Hero PR is the lowest overall pick rate that a hero can have and be recommended by ROSH, while the Position PR is the lowest permissible percentage of matches where each hero played the position which they’re being considered for.

So for example, in the Legend bracket, Bristleback had a 6.0% overall pick rate (68th of all heroes) yesterday, so he will be qualified to be recommended by ROSH with the settings shown above. However, also in Legend, Bristleback is played as an Offlaner in almost 90% of his matches, which means that’s the only position ROSH will consider him qualified to play, since his second-most played position, Mid, is only selected 5.5% of the time, which is less the 20% Position PR. If you want ROSH to be completely indiscriminate regarding hero pick rate and position, set both values to 0.

Next up, the Advantage Chart.

Lookin’ mighty Dire over there

The Advantage Chart shows both the adjusted win rate for all picked heroes by minute, from 20 to 60 minutes, and the percentage of matches that ended during each of those minutes for those heroes, from the last week (specific to your selected rank, of course). The win rate values displayed are adjusted by the Team TrueSynergy Differential, but the curvature of the line itself is purely derived from the hero win rates.

To ensure a relatively smooth line, we’ve combined data from the minute before, during, and after each minute, since outliers can create weird spikes sometimes, particularly when heroes with relatively low match counts from the prior week are being graphed.

Just below the Advantage Chart, you’ll find the faction headers, which contain several bits of information.

On the Analysis page, you can freely select bans any time you’d like by clicking the “Select Bans” button alongside the faction that you want to assign bans from.

On the right side of the Radiant faction header, you can see three numbers. The grey number (7.0) on top with the lock icon is the original Team TrueSynergy. This is the sum of the TrueSynergy values of heroes that the Radiant team picked, specifically at the time when they were picked. Since TrueSynergy factors all picked heroes, any hero except for the very last pick is liable to have a different TrueSynergy at the end of the draft than they did when they were picked. You’ll also see these grey numbers below Sand King and Jakiro, also with locks; these are each of those heroes’ Original TrueSynergies.

Tip: If your current Team TrueSynergy is higher than your original Team TrueSynergy, then you’ve improved your draft over time and/or your opponent was unsuccessful in countering your picks!

The white-ish number (7.2) below the grey number is the Radiant’s current Team TrueSynergy. This value updates as the draft progresses, and represents the overall strength of your draft so far. You can also see Sand King and Jakiro’s current TrueSynergy values under their images.

The gold number (+3.5) is the Team TrueSynergy Differential, which in this case is shown on Radiant’s side, since they have a 3.5 point advantage at the moment.

Now let’s see how you pick your heroes…

Illusions or clones…

There are three ways to pick a hero. First, you can simply select a hero in your recommendation column. This column is scrollable, and contains all heroes.

Second, you can use the hero search input box. This will quickly filter down to the hero you want to select.

Lastly, you can click the foursquare grid icon on the right side of the hero search input box, which will bring up the full standard Hero Directory. While the Hero Directory is active, you can also type out the name of your hero, just like in Dota!

Also, if you hover over one of the hero options, you’ll see a tooltip that shows the synergy and counter values for this hero with all other currently picked heroes in your draft. Of course, this tooltip is only available on the Analysis page.

But what happens after you’ve picked a hero? Oh my…

Luck > Intelligence

Once you’ve made a pick, the columns under the hero updates to show several new things. The first is the current and original TrueSynergy values for the hero, as discussed. Just underneath those, you’ll find the Swap Recommendation rows. These rows show you the change in TrueSynergy that would occur if you were to swap this hero into another position. If the swap would be favorable, the swap row lights up, as you can see with ES and Ogre’s support position swap. Clicking on any of these swap rows will result in the hero swapping to that position.

Also, if you hover over the hero graphic after you’ve picked, you’ll see a small button appear in the top right with an X — click this if you’d like to unpick that hero. This is only available on the Analysis page.

Under the Swap Rows is the Picked Log, which shows all 5 Radiant and Dire positions, with heroes filled in for the positions that have been picked. The numbers next to each hero is either their synergy or counter score with the hero in that column. The number shown next to the hero who’s in that column is that hero’s win rate in that position yesterday (+ more days if necessary, as described earlier). You can sum all the numbers in each heroes’ Picked Log to calculate their current TrueSynergy.

Pro Tip: If you prefer, you can scan the Picked Log horizontally to see each hero’s synergy/counter scores with all other picked heroes, since each hero is always displayed in the same row.

At any time during the draft, you can click the Reset button in the top right corner next to Settings to clear your picks.

But what if you want to use the Analysis page to load a match?

Just as ROSH predicted… :)

To review a completed match, just load up the match id in the search box on the top left. Once the data arrives (instantaneously, of course), you’ll have the entire completed draft to review. If you’d like to play it back, use the “Prev” and “Next” buttons that become available after you’ve loaded a match.

Alongside the draft playback controls, you’ll find several details relating to your match, like the outcome and score, duration, lobby and game mode, region, and date and time.

If you’d like to see who a better pick would have been for one or more positions, you can use the X button that’s hidden over top of the hero graphics to unpick a hero, and see the top choices. Mess around all you’d like, then just refresh the page if you want to see the real match draft again without having to manually repick each hero.

Now, if you look closely at the screenshot above, you’ll notice that there’s a small yellow info icon next to some of the heroes’ positions. Let’s take a closer look…

Spirit Breaker isn’t a midlaner?

Well I’ll be darned; Timber isn’t really a position 1, and SB isn’t usually a 2. Don’t worry, ROSH still understands how well these heroes can be played in these roles (even though that Timber pick isn’t looking so hot), but you will see this warning for any hero you pick that isn’t Qualified, which we introduced you to earlier. If you think too few heroes are qualifying for your lanes, you can just lower your Position Qualifications in Settings.

Now, onto the Training page!

Practice makes pancakes

The first thing you’ll want to do when you arrive on your Training page is set your mode. Practice mode lets you control both factions, letting you draft either against yourself or a friend.

Reminder: Don’t forget to pick your Match Rank before drafting!

In Versus mode, you’ll select a bot difficulty that you’d like to play against. Since both Practice and Versus are very similar overall, we’ll just focus on Versus mode.

Important: You must login to your Steam account in order to play Versus mode.

Pick a bot, any bot

When picking a difficulty, you’ll notice that there are some numbers in boxes under each option. The four 0s in the top row are your personal win rate for each difficulty, specific to this rank. They are your win percentage, your total win count, loss count, and abandon count. Abandons occur when you don’t complete a draft, for whatever reason, and don’t count against your win percentage.

The Global 0% you see below those numbers will not remain 0%, as they’re the global win rate of all ROSH players! We previously had values from our alpha testers, but those were deleted for the public release. Good luck with your personal record!

Recommendation: Start with Easy Difficulty, even if you’re an experienced drafter. You’ll want to get a sense for how things work before moving up to more challenging difficulties. Also note that even the lower difficulty bots are designed to be intelligent, and you might be surprised how good of a fight even the Medium Camp can put up!

Ready..Set….ROSH!

When you’re ready to begin, click the “Start Drafting” button. After a 3 second timer, the battle shall commence!

As you can see in the screenshot above, the timer works the same as Captain’s Mode in Dota. You’ll be able to watch as the Bot picks their bans and picks, and you’ll be able to select your heroes in the same ways that you can on the Analysis page. This time, however, you won’t see any information about your picks! Instead, the only data you’ll see during the draft is the Team TrueSynergy values at the top of the selection section (lots of fun names in this app 😄).

Ez

Once the draft is live, the Reflection Section will update to show the picks and bans that have been made during each round. The round numbers are labeled so that you can get used to your pro draft round-referencing lingo.

Radiant picks and bans are shown under the green lines, with Dire under the orange lines. The position that each hero was picked for is also shown, and updated with a fancy indicator if a swap is made.

Pro Tip: have trouble seeing certain colors? STRATZ has full support for various color disabilities!

Speaking of which — in Versus mode, you can swap at most 1 time before each of your pick phases. The reason that swaps are limited is to prevent swap abuse, where you simply keep swapping heroes around trying to find the best position combinations. Instead, if you want to make a swap, you’ll need to invest in it!

P.s. be careful of your opponent swapping heroes, which you will start to encounter on the hardest difficulties…muhaha

Peezy

Once the draft is complete, the “Reveal Top Alternative Picks” button becomes active. Let’s see what it does…

Woah!

Yes, with the click of a button your Reflection Section comes to life! Here, you can check up to the top 5 picks and bans that were available at the time that each selection was made. The original TrueSynergy for each pick/ban, and each prospective pick/ban, is shown underneath each hero.

Also, revealing your top alternative picks also unveils all the other draft data on the page, giving you access to all the data you would normally see on the Analysis page.

When you’re ready to play again, just click… “Play Again”! Don’t forget to change the difficulty, or any settings, prior to starting a new draft, if you want.

Last but not least, we’d like to thank all our community alpha testers for their testing, bug reports, and feedback along these past few weeks; you guys are awesome as always and ROSH is much better because of you!

As many of you know, we’re considering turning ROSH into a fully-featured Draft Assistant similar to the currently unmaintained STRATZ+. This would make ROSH be able to function live in your games, and would remain entirely private, never accessing any other players’ stats. ROSH doesn’t need to know who you’re playing with and against; it’s good enough by itself!

We hope you love your new Draft Trainer. See you again soon!

Roar!!!

Enjoy keeping up with what’s happening at STRATZ? Follow us on Medium, Twitter, or Facebook to get notifications of our latest Supdates! If you want to get more involved, join us on Discord!

DiscordTwitterFacebook

Did you miss our last Supdate? Behold, the new Hero Talents page!

Thanks for reading!

Eric Phy

--

--