This is the original draft of the post I did for Broken Myth on Feb. 26. It is 3x as long and contains extra examples for analyzing distances and movement speed. If you haven’t read the Broken Myth version I highly recommend you start there.

We have a saying in GankStars, “Kills are worthless unless they lead to objectives.” To see how true this is, look no further than game 2 of the VIPL semi-finals, GankStars Sirius vs Alliance (Now TSM). 11 minutes into the game GankStars is up 12 to 2 in kills. On the surface, it looks like we are crushing Alliance. In reality, we are yet to take a turret and are only up about 7% in gold as a team. We end up losing this game and losing the third game. Alliance moves on to the finals and wins VIPL.



We won’t go too deep into why kills are worthless by themselves (hint: they don’t offer enough gold), instead we’ll consider an easier tool for taking objectives: timing rotations. In the finals of the recent VGL NA Qualifier, GankStars had their rematch against Ardent and in the first game they won with a perfect game (no deaths, no turrets destroyed). GS went on to win the best of 5 finals 3-0, but this match was interesting because it was GS’s most dominant yet they didn’t win with the aggressive strategy of pushing team fights that they are famous for.

For the first 15 minutes of the game GS recorded only 1 kill yet they were able to achieve a gold lead of $3.8k. This was enough to control the jungle and extend that lead to $4.5k over the next 30 seconds. The very next team fight awarded GankStars two kills and allowed them to unleash the Kraken and start their game ending push. But how did GankStars do it? They used their knowledge of rotations to take and defend objectives. They made sure Alliance was out of position and they were in position exactly when they needed to be.

For the rest of this post, I’m going to break down and quantify timing and positioning in Vainglory with specific examples from GS’s perfect game against Alliance. I won’t give away any of our secret sauce, but I’ll share with you for the first time the exact measurements of specific distances throughout the Halcyon Fold and how you can use this knowledge to dominate objectives (and the game) without the need to kill your opponent.

Measuring the Halcyon Fold

To understand rotations and timing, we need a way to measure the exact distance between any two points in the Halcyon Fold. To figure this out, I took a screenshot of Skaarf about to cast his Dragon Breath ability which has a range of 10. I then combined the screenshot with a flat map of the Halcyon Fold to create an easy to use grid. Below is the result.

All ranges in the game (attack range and the range of abilities) are measured in meters. The main area of the Halcyon Fold is 160 by 40 meters. Above I use white lines to divide the map into squares of 10 by 10 meters and red lines to divide it into 20 by 20 squares.

Conveniently, movement speed is measured in meters / second so now we can use this map, movement speeds, respawn times, teleport times, etc. to quantify timing and positioning.

Movement Speeds

When we look at all hero movement speeds, we can see that Ranged heroes have an average move speed of about 3.2 whereas Melee heroes have an average move speed of 3.1. Using these, we can solve for the most common movement patterns in the game.

Travel Paths & Travel Times

Above I have mapped seven of the most common travel paths. All the other paths we will look at are basically straight lines so they are easy to measure. We use the pythagorean theorem (A^2 + B^2 = C^2) to calculate the distances along diagonals and get the total distance. All we need to do is divide the distances by our hero’s move speed to figure out how long it will take them to reach the destination.

Above we have two charts the most common travel paths. One chart for Melee Heroes and one for Ranged Heroes. How long it takes for a hero to get from the start to the end point depends on which boots they have, so we’ve included a column for each type of boots (including without boots).

GankStars’s Perfect Game Against Alliance

First, a summary:



The left chart shows the end game stats: the heroes chosen and the number of kills, cs, gold acquired, turrets destroyed, krakens unleashed, and vains shattered for each team.

The right chart shows every instance that an objective was attempted. The time represents the moment the first hit of damage was inflicted, then we list which team is doing the damage, the objective they are doing damage to, how many heroes participated, the time those heroes spent, and the result. If they failed the objective then we say how much health was left afterwards. In this chart I only included moments where at least 1 hit of damage was done to an objective and it was not intended just to bait the enemy. I also compared the TIME SPENT numbers here with those of every other game in the match to make sure these numbers are consistent with taking objectives in other games.

GS ended the game with the Kraken push where they were only $5.1k gold ahead with 3 kills. If we crunch the numbers we see that 49% of GS’s gold lead at this push came from controlling the gold miner, 35% came from NOT giving up a turret, 10% came from the 3 kills/assists they earned, and 14% came from stealing farm in the jungle. There’s a margin of error of about 7% meaning somehow Alliance got an extra $400ish gold or 7% (probably from Flash being in Lane with Ironguard Contract).

How GankStars Got the Gold Miner First (49% of gold difference)

GankStars took the Gold Miner successfully at the 4:13 mark. Why? Because Alliance was not there to contest it.

Both team’s jungle rotations were fairly symmetrical during the first 5 minutes, meeting each other in the middle around the same time, rotating up to lane for a few seconds (right on the top of every minute mark), then going and attacking their respective backs at the same time. At 3:53 Alliance’s Vox (MICSHE) clears his lane wave and teleports back to base to buy items. When heroes teleport to base they can be seen in their base on the mini-map for exactly one frame. In addition, GS could see Vox buying items if they were watching the scoreboard. Next, GS’s Celeste (IraqiZorro) finishes clearing his wave and rotates down to the shop for the second time in the game to spend 1594 gold. This time, instead of rotating to their backs in the normal pattern, GS’s jungle team (CullTheMeek and Gabevizzle) rotate down to shop with Celeste.

The travel time to the middle shop with boots is 10.8 seconds for ranged heroes. GS needs 1.5 second to buy items and 6.5 seconds to check Alliance’s tri-bush before engaging the Gold Miner. The Gold Miner will take 5 seconds to kill with 3 heroes.

Since GS’s rotations are symmetrical to Alliance’s at this point, GS is betting on Alliance rotating to their backs. This is why GS flares Alliance’s tri-bush and attacks from inside it when attempting the Gold Miner. If Alliance was watching the scoreboard and saw GS buying items, they might have guessed they were going for the Gold Miner.

At this point, Alliance is already at their back camps using up 11.5 seconds, if they immediately move for the Gold Miner, it will take them 9.4 seconds to get to their Tri-Bush and they will need 3 seconds for 2 heroes to damage GS enough to prevent them from taking the Gold Miner.

As you can see, even if Alliance knew GS’s move, without boots Alliance would still have been just a second too late.

Wall Jumping for Fun and Profit

It’s fun to note here, that both Ardan and Koshka can jump walls with their abilities (Koshka’s A and every single one of Ardan’s abilities). Had the middle healer been spawned at this point, Alliance would only need vision from a scout trap or flare to jump the wall and reach their tri-bush 2.5 seconds earlier. This is the only way they could have intercepted GS’s Gold Miner attempt after being tipped off by the scoreboard.

Why Alliance Failed Their First Gold Miner Attempt

Now that we know how GS got the Gold Miner without fighting for it, let’s look at why Alliance failed to recover it for the rest of the game.

In Alliance’s first attempt to take the Gold Miner, they made several mistakes. The first mistake was NOT taking an opportunistic approach like GS. Instead, Alliance waited until 8:06 when the Gold Miner was about 80% full, giving them one chance to take it before it payed out to GS. This was very risky, though perhaps not very unsurprising coming from Alliance’s “40 Million Won Punch” team captain Flash. Simply attempting the Gold Miner earlier would have given them more room to work with.

Next, Alliance made the mistake of using their normal rotation, meaning they cleared their jungle and arrived at the Gold Mine about the same time as GS or in the best case scenario, GS would be on their way from the backs. But as will see below, even in Alliance’s best case scenario GS has enough time to stop them.

Finally, in watching this attempt, Alliance may have been waiting for Ardan to hit level 6 so he could use his Gauntlet to isolate his team while they took Gold Miner. Against most enemy comps this would be a good strategy, Gauntlet level 1 lasts for 4 seconds, only 1 second short of what 3 heroes need to take out the Gold Miner. But GS here has a double ranged comp making Gauntlet useless as GS can still attack from outside of it. Even worse, every hero in GS’s comp has powerful long range ultimates. Instead of giving Alliance an advantage, they allowed Catherine to get her Blast Tremor, Celeste her Solar Storm, and Kestrel her One Shot, One Kill. Stacking the deck against themselves.

Why Alliance Failed Their Next Gold Miner Attempt

Alliance’s next attempt on the Gold Miner at 12:19 was a similar situation. But here the credit should go to GS for pressuring Alliance’s 2nd turret for the minute and a half prior. This forced Alliance to wait until the Gold Miner was already 85% full and GS’s Jungle team could simply sit and wait from their Tri-Bush. Even giving up the Gold Miner to push the turret was out of the question here, because Celeste’s Solar Storm allows her to control the Gold Miner from the Lane. Alliance only chance would have been to force Celeste’s ultimate into its 66 second cooldown with an earlier Gold Miner attempt. Let’s take a look at how that could have worked.

As you can see, if Alliance failed an attempt on the Gold Miner but was able to force GS to use Solar Storm and other abilities, their best bet would be to rotate up to the Lane and spend 10 seconds clearing the wave before coming right back down to take the Gold Miner. GS’s jungle team would have had to sit idle in either tri-bush for nearly 20 seconds to be in the right position for this attempt. If they went up to Lane and then to their backs, or even just straight to their backs, GS would end up at least 2.4 seconds too late.

Why Alliance MAYBE Missed Their Only Turret Opportunity (35% of the gold difference)

As we’re learning from this match, if your team can control the Gold Miner for the game, you are 49% of the way there. To follow GankStars’s path and get another 35% of the way, you need to take out two turrets without giving up one of your own.

At 9:10 Alliance had an opportunity to take one turret and add 900 gold to their team bank account, at this point GS had just destroyed Alliance’s first turret and was in the lead $1.5k gold. Had Alliance succeeded here it would have been a very different match.

After taking Alliance’s turret, GS rotated back and down to their side of the middle shop. The turret’s explosion weakened GS’s minion wave and allowed Alliance to quickly clear them, with Alliance’s next wave about 10 meters behind their turret (half way to 2nd turret) it would take them about 10 seconds to travel the remaining 30 meters to the lane center. GankStars may have gotten a bit lucky here, because Alliance’s Koshka (iLoveJoseph) hesitated before crossing the gap from his Lane Bush to GS’s Lane Bush. At that exact moment GS’s Lane Minions arrived in the perfect position to spot him.

Here, at 9:18 you see Koshka crossing the gap in the Lane Bushes and being spotted by the first minion. Lane Minions have a vision range of about 8 meters which is how far away Koshka is from the first two. However, only the first minion has a direct line of site to see her and the angle of the bushes blocks the second minion despite Koshka not being inside of those bushes.

At the same moment Alliance’s Koshka flashed on the minimap, GS’s Celeste reversed course and headed from her tri-bush back up to the lane, spamming heliogenisi into her lane bush. Alliance immediately retreated, but should they have? Let’s look at the numbers.

In this case it was a good move to retreat. Had Alliance waited for the minion wave and gone for the turret, GS would have done enough damage to stop them just before they got going. But what if they didn’t wait for the minion wave and instead just tried to take out the turret even though it had a barrier with regeneration? For that we can go back to the numbers again.

On my YouTube channel I shared a video where I show Turret Health is about 4000. In the GankStars vs. Alliance series the average time it took for 3 heroes to kill a Turret without a barrier ranged from 5 to 7 seconds with an average of about 6. We use this number to estimate Alliance’s DPS vs the turret to be 667. When the Turret has a barrier, it starts at 800 barrier and regenerates 200 per second. To figure out the time it takes to destroy the Turret with Barrier we divide Turret Health + 800 Barrier by our damage per second (DPS) minus the the turret’s regen per second. Effectively, our DPS is reduced from 667 to 467 because the Turret gets 200 health back every second. We end up with an answer of 10.3 seconds to kill the turret with a barrier. This is not a perfect analysis but it’s close enough for our purposes right now.

Now that we know it will take us 10.3 seconds to kill a turret with barrier, we need to ask if our team can survive that long. Turrets fire on average once every 1.6 seconds, so in 10.3 seconds that’s 6 turret shots our team needs to take. To test this, I went into practice mode and equipped the same items as Alliance’s Ardan at the same level and waited until the same game time to see how many turret shots I could take. It took 7 shots for the turret to kill me. So this is possible. But would Alliance have enough time to pull this off? The time to beat is 15.5 seconds.

This isn’t looking good, however there’s one more thing we forgot to consider. If we jump the turret directly, eventually our minion wave will still catch up with us and the turret will lose it’s barrier, so let’s factor that in.

This means the turret will lose its barrier 5.6 seconds after we start attacking it and our DPS will go from 447 to 667. In 5.6 seconds we will have done 2501 damage to the turret that started with effectively 4800, leaving it with 2299. Since our time to beat is 15.5, we will only have two seconds left to finish it, and we will fail to do so. In reality, it was extremely close but Alliance made the right call here. Without changing more than just this singular moment, they could not have taken the first turret.

Key Lessons

You can gain a significant advantage ($5k lead) without even killing your opponent

Memorize how long it takes to go from the Lane and Base to different locations to improve your timing

The Tier of your enemy’s boots matters in timing rotations

Time your enemies rotations and take the Gold Miner when they are on their way to their backs

Wall jumping can save you a few seconds

Maybe you shouldn’t visit the shop before you attempt the Gold Miner

Ardan’s Gauntlet can significantly help you take the Gold Miner, unless your opponents are ranged or have long range ultimates

Be careful not to get spotted by minions when you cross between the lane bushes

At 9 minutes it’s possible to dive the 1st turret and kill it in 10.3 seconds if your enemies are far away

Sometimes the best strategy is to wait a few seconds

Controlling the Gold Mine is 49% of the battle

Keeping your turrets alive are 35% of the battle

Kills and stealing farm combined are less than 25% of the battle

If you can time the Kraken, it’s possible the only time you have to kill an opponent is to take the Vain

Special Thanks

This post required more work and more data than I have ever needed before. I couldn’t have done it without the ideas, encouragement, and information provided by the folks at Broken Myth including Keldegar and Gadianton, my colleagues on the GankStars Analyst Team Vyzeox and Wavernot, the competitive players in GankStars like FooJee and IraqiZorro, SurpriseBirthday from SEMC, and last but not least VGDragonBorne who had the idea for how to measure the Halcyon Fold with screenshots and the flat map. Also, thanks to Alliance for letting me pick on them in this post. Whenever a team loses a match there are mistakes to be found, in no way should this post detract from Alliance’s achievements.