Pseudo is a funny word. It means having the appearance of something without having the content. You’ve heard of a pseudo-intellectual, or somebody who pretends to know more than he does for status.
In Dota, unreliable isn’t always random.
Pseudo-random mechanics are those which appear unpredictable, but in reality have manipulated odds which can be abused. Critical strikes, bashes, and maims all use what is called pseudo-random distribution (PRD) instead of true-random distribution.
The impact? These abilities are more likely to activate if they have not done so in a while, and less likely to activate if they did so recently. PRD is like trying to pull the Ace of Spades from a deck of 52 cards. Everytime you draw a wrong card you remove it, reducing the amount of cards left in the deck. If you've missed fifty times, there are only two cards left. Your odds on future success go up every time you miss. Let’s take Juggernaut's Blade Dance as an example. Every time Juggernaut makes an attack against a valid target, it increases the likelihood that his ability will activate (or proc) on the following attempt.
Even though the odds of achieving a critical strike are listed as 35% at level four, the chances of getting a proc on the first try are lower. Each missed attempt will increase the odds until the ability activates, at which point it resets. So a level four Blade Dance will be have a 14% chance to activate on the first attack since the counter reset, but a 43% chance to activate on the fourth attack. It doesn’t matter how many different units Juggernaut targets or how long he waits between attacks. Juggernaut can rely more heavily on a critical if he hasn’t seen one in a while and is guaranteed a proc every seven attempts.
True random doesn't work that way. Remember Spirit Breaker's 17% bash? Until recently, that was the only bash in the game that wasn’t Pseudo-Random. This meant you could never rely on a bash, but also that chains of bashes were much more likely.
The odds of getting a bash on three consecutive, applicable attacks were about 1:200. Now, Spirit Breaker uses Pseudo-random on Greater Bash. With PRD, the odds would be closer to 1:10000. It makes a big difference. The goal of this design is to prevent players from being advantaged or disadvantaged by pure luck. PRD tempers the impacts of chance in the game.
Basically all non-guaranteed offensive abilities use Pseudo-Random: critical strikes, bashes, maims, damage return such as Axe’s Counter Helix or Legion Commander’s Moment of Courage, or attack modifiers such as Maelstrom’s Chain Lightning. In addition, damage block uses Pseudo-Random. That isn’t particularly useful to know, though.
True random is used for miss chance (evasion, blind, uphill attacks) and for random events including Omnislash targets, Ogre Magi’s Multicast, or rune spawning. Non-hero abilities also use true random, meaning the critical strike on summoned or neutral units, or Lone Druid’s Spirit Bear’s Entangling Claws.
Generally, if it adds effects to an attack, it uses PRD. If it creates a miss or modifies a casted spell, it uses true random.
There are a shocking number of ways understanding this mechanic can give you an immense advantage. Let’s start with choosing your laning build.
The second column is the probability of getting a
Bash if you are on a specific attack. The third column
show the cumulative chances, or the probability of
getting a bash on that attack or any attack prior
Consider Slardar. A mere 10% chance of a [missing skill: slardar-bash-5116] does not seem worthwhile in lane, and it wouldn’t be at pure random. As a friend of mine said recently, 10% odds of success means 90% odds of irrelevance. But with PRD, that’s not true. Slardar can count his number of non-bashes. He can count those while he is attacking creeps in order to increase his chances of a bash on a hero later on. This means he has a much greater than 10% chance to bash if he’s savvy. At level four, he gets three free attacks through the duration of Slithereen Crush.
With Slardar’s Bash, the odds of at least one bash in the first three attacks are only about one in thirteen. However, the odds of at least one bash in his fifth, sixth, and seventh attacks are one in four. By counting non-bashes until it amounts to seven attacks, Slardar can increase his chances of bashing during Slithereen Crush from 8% to 35%. That’s with only a level one bash.
This principle is true for every hero with an innate attack modifier that uses PRD. A casual point in any bash, maim, or critical strike can be leveraged to increase gank success. Supports should be aware of this principle and help time gank attempts for when bashes or maims are more likely. If you are in a 1v1 lane, a point in a PRD skill is usually worthwhile if you stack the deck in your favor, choosing to harass when your attacks are more likely to be effective.
This is especially true for Sniper. Where possible, Sniper should harass if Headshot has missed two attacks in a row: the majority of the time, he will proc a headshot on the third attack, and he is guaranteed a headshot by the sixth attack. Since this ability can activate on allies, this makes spamming attacks on allied creeps particularly effective. This way you are constantly counting up damage potential without pushing out your lane.
Sometimes cancelled attacks will queue up an ability proc, but the attack is cancelled before it hits. Whenever that animation begins, it resets the PRD counter. This is especially visible on heroes with critical hits such as Phantom Assassin’s Coup de Grace or Chaos Knight’s Chaos Strike. The obvious initial reaction is that this isn’t fair: you didn’t attack, but now future attacks are less likely to have your ability. That’s like a bus driver taking your fare but making you walk.
“ ...every cancelled attack that is not a proc adds to the counter”
The plus side is that every cancelled attack that isn’t a proc adds to the counter. Most PRD critical strikes have sounds and custom animations associated with them, making it easy to tell if you cancelled one. You can use animation cancelling to prime your critical strike. Let’s take Phantom Assassin as an example. If you are among the majority of players who opt to build Battle Fury on this hero, you can increase your jungle farming rate in the early and mid game. Every time you critical strike, simply cancel four attacks as fast as you can. It should take, in total, less than a second, but you will increase the rate at which you critical strike. Yes, you will cancel some critical strikes with this technique, but you will see more than twice as many as you cancel. Coup de Grace’s probability for a proc in the first four attacks is 28.7%, compared to 61% in the following four attacks.
The same idea can be used prepare for teamfights. If you count any PRD ability out before starting a teamfight, you’ll increase your odds of getting multiple procs while fighting. For example, if you manage to have six regular attacks as Phantom Assassin prior to a teamfight, your odds of getting a Coup de Grace proc during Phantom Strike increase to more than seven in ten. You are also about five times as likely to get two crits during those attacks. Remember the Spirit Breaker change I mentioned earlier? Consider this: if you charge after failing to bash on six attacks, you are almost guaranteed to chain a bash during your gank. Neither Charge of Darkness nor Nether Strike resets to counter for Greater Bash.
You should actively prepare the Greater Bash counter before charging to have a stun from charge, a stun from Nether Strike, and two to free attacks after Nether Strike which are about seventy percent likely to proc a Greater Bash for a third stun. Especially for a support Spirit Breaker, this is crucial to increasing gank success in the early game.
Best of all, your opponents will never be able to know when you’ve primed your hero for an engagement because you can do so in the fog of war.
PRD abilities only count up for attacks which could proc their effects. This means that you cannot gain or lose odds of a bash or critical strike while attacking a structure. One way to force favorable fights is to siege a tower while holding onto high PRD odds. If you switch to a hero, you are already prepared to proc your effects. Attacking creeps will invalidate this strategy. It works best with heroes who tank towers effectively, such as Wraith King or Juggernaut.
Another way to abuse this mechanic is to use Troll Warlord’s Berserker's Rage to store bash odds. At 10%, the average probability for stunning with Troll Warlord is fairly low. However, his ranged attacks do not impact the counter. If you attack creeps at melee range without bashing, switch to range. You can continue to attack normally on any unit without resetting your counter. Then switch to melee when you think a bash could lead to a kill. If you store after ten missed attacks, a third of attempts you will bash within two attacks of when you switch back. That means you can continue to lane and will still be able to store a likely bash.
Even manipulating PRD, you’ll still miss proc opportunities. Just because something is more likely does not mean it will always happen. Even so, a difference between engaging with a one in twenty chance to proc and a one in three chance is not easily ignored. You should not hold onto PRD counters at the expense of creep kills unless you expect an imminent opportunity to engage. You can always store up PRD advantage again.
Imagine you have a support hiding and your opponent is stepping out of place. In this case, it’s worth missing one or two creep kills to significantly increase your odds of killing the hero by preserving your favorable PRD counter. You also don’t usually want to pick up value points in PRD abilities if you are in a difficult lane (for example, Slardar offlane against a trilane). The more difficult your lane, the less likely you will be to find a good kill opportunity. If kill opportunities are not lining up with when your PRD is stacked, then you’ve wasted the skill point entirely.
The more misses you’ve racked up, the better it is to attack a hero. Random attack modifiers typically use PRD. Obviously reaching a high number of misses becomes increasingly less likely with every attack, because if you do proc your effect the counter resets. There’s a balance between trying to reach a realistic number of missed chances and still being able to expect a hit soon.
10% skills are most realistically best-saved until nine misses, which should happen about half of chains. If you try to wait for more than nine misses, you will fail on a majority of attempts and if you don’t wait until nine misses you are not maximizing your returns.
15% skills are best saved until six misses. 25% skills are best saved until three misses. 40% skills such as Headshot typically aren’t worth saving at all because they are so frequent, but if you do reach two misses, it is worthwhile to harass the nearest opponent to increase hero damage output. Just don’t put yourself in danger to do so.
Gorgon the Wonder Cow is a freelance Dota writer and esports analyst. You can find him at twitter.com/theWonderCow.
Image Source: Liquipedia
The table for Slardar and the cumulative odds of a Bash was initially wrong and has since been corrected.
jopa chlen zalupa
Я НЕ ПОНЕЛ!
Great article, Gorgon.
nice learning )
Great to have the understanding of this but I don't know if most people at any skill level would really be able to pay a lot of attention to their procs unless it's a solo Lane. I'll add that I'm in the normal skill level so I might very well be wrong.
Will test it out
Terrific article! Made easy to understand :D
Great article, I would really love to see a table to other heroes, not only Slardar, but really well done overall.
"Non-hero abilities also use true random"
So if you devour a wolf as doom, you'll get true random crit?
rly rly usefull tnx a lot
чет лень читать ;/
This is amazing with the earthshaker shadowblade crit build. you walk into the jungle, you get 5 misses on your crit, you search for opponents, go invis with the shadow blade (ofcourse you use enchant totem before you go invis) and you have a much higher chance to perform a critical strike and destroy your opponent.
Just one thing that isn't clear enough about the graph of true and pseudo random.
It's the chance to touch your proc in n "hit" right after your just proced.
Я частенько поебываю гусей.
Что делать,если не знаешь английский?
really hard to obtain any real practical relevance from the article and the subject as a whole.....many more factors to consider then just when your passive is going to proc...in game
Well. This looks complex.
Does stacking the chances for proc work if you attack something you'll 100% miss? (e.g. Windranger while windrunning)
Too much math, my brain just melted.
17% is really boys
You can make a crit on a missed attack, so nope (mb for mjolnir it does work however, i should test it ^^)
what about ogre magi's ultimate and canceling the animation on the stun. will it increase the odds or are the odds calculated after the stun goes through?
Очень интересная статья. Если вкратце, она о том, что можно искусственно получать пассивный эффект (баш, стан, крит) перед гангом или замесом. Для этого можно бить своих крипов, либо отменять атаку несколько раз - тогда следующий удар будет с эффектом. Кол-во ударов зависит от %, который имеет эффект.
This changes everything :)
I dont think the right graph on the top you have there is correct. I work with pseudorandom numbers on a daily basis. Generating pseudorandom numbers is a non-trivial task, and years of dedicated research by mathematicians have produced highly sophisticated algorithms that produce random numbers that are almost indistinguishable from true random numbers. Your average household calculator with a rng function can even give you a good binomial pseudorandom number with a 17% chance of an event happening. The notion that the rng in Dota 2 produces a distribution different from the 'real' one is HIGHLY unlikely (if it does indeed use an RNG at all), and even saying it makes you look stupid and uneducated. I'm sorry but this article is trash.
I'm trying to understand why in the pseudo random scenario you suggest that after 11 hits of not procing the event (bash, crit, etc) why is there a sharp decline in cumulative odds.
Yeah, I guess then crit doesn't work, the others might.
Ogre's ult is True Random (as the article says), so it doesn't matter if you cancel the animation.
after so many hits (11 for example), you have had so many chances/hits beforehand to proc the event that getting to such a high number without a proc is very unlikely. The graph is simply showing how likely it is for you to proc after each successive attempt (for the first time). It would be extremely unlikely for you to get 15 hits in WITHOUT procing the event, hence why it is such a low possibility.
my english gud vry..commend
Lets say I am playing troll and I went 9 attacks(in meele form) without a bash and now I am saving the 10th attack to hit a hero but then I get a lvl up and I lvl up my 1st skill.Does this mean that the odds for a proc of bash on my next attack also reset or it stays the same i.e. high chance of proc on my next attack?
@Cunnilinguistician: You are such a noob and uneducated, the pseudo-random dota 2 uses is different from the real one. Ice frog said so. Period. Btw I'm economics teacher and work with random number too, both pseudo and real.
this is really interesting to read
really, wasting of time counting unsuccessful chances.
@Cunnilinguistician - For someone who claims to be so educated, your post sure is a load of utter rubbish.
More game mechanics articles please :)
So much meth, I mean math.
Fyi the hero this is the most exploitable on is CK -- his animation is slow enough to be able to "release" cancel when you're trying to get a crit ; practice a couple minutes and you should be able to release cancel based on sound. I've been called a cheater for killing people with 4 crits lvl 1 if my lane partner has a slow/stun.
And get off my obstacle you fat tub of lard.
Короче, псевдорандом-миф, Габен-гей, и сын шлюхи.
Currently the Enchanted Mango only has a 31.43% win rate. Together, we as a community, have the ability to fix this problem and end this horrific tragedy. Please help. It is our duty as gamers to give this item the respect it is due.
@Mandalord That's great. You probably work with monte-carlo simulations then. Perhaps you even use stochastic differential equations in your work (i.e. using ornstein-uhlenbeck processes to model interest rates, etc.) Then you should know that all random numbers generated by computers are 'pseudo-random'. If you knew the seed of the RNG, you can predict exactly what the next random number will be. In an effort to obtain 'true' random numbers, some wall street firms actually use data obtained from movements of particles in the stratosphere, remaining true to how 'Brownian Motion' was discovered. There is no such thing as a 'real' random number generated by a computer. Everything is done algorithmically, in very clever ways and using parameters that have been carefully calibrated. If you are curious, you can look up 'mixed linear congruential generator' or 'multiplicative congruential generator' as these are the popular ones.
Since you are so smart, please enlighten me: the gist of this article seems to say that for some heroes, the likelihood function is somehow different from a series of independent Bernoulli trials. The only way I can somehow see that this article would be correct, is if the random numbers are somehow correlated (i.e. the independence and identically distributed assumption is violated). Would you say that this is what you had in mind as well?
Я человек простой: вижу иностранный пост - пишу "АААА СЛОЖНА".