Pseudo-random vs. True random distribution

L Psy Kongroo··1 votes·1,453 views

Something interesting came to my attention while perusing the DOTA 2 wiki (GASP DOTA 2??? BURN THE HERETIC!) the other day, which is the concept of pseudo-random distribution. Here is the link to the page: http://dota2.gamepedia.com/Pseudo-random_distribution

To summarize for those who don't like math, in true random distribution, every "roll" operates independently, but in pseudo-random distribution, the effect's chance increases every time it does not happen.

For example, let's assume the enemy Draven has 25% crit chance. If we're using pseudo-random distribution, he only has an ~8.5% probability to crit on the first attack. Each subsequent attack without a crit increases the probability by ~8.5%. So on the second attack, the chance is ~17%, on the third it is ~25.5%, etc. After a crit occurs, the probability resets to ~8.5% for the next attack. These probabilities average out so that, over a moderate period of time, Draven crits nearly 25% of the time.

This is contrasted from true random distribution in the sense that the probability of an event occurring is neither increased nor decreased depending on whether or not it has just occurred. Game developers usually shy away from true random distributions in competitive games because it can decide the outcome without reflecting the actual skill level of the players involved.

Now, I'm unsure as to whether Riot has already talked about this previously, but I for one would be interested to know what algorithm they use when determining the probability of crits and other luck-based events in League. I know the dodge stat was removed because of how RNG it made the game and no one liked that, but one could easily make the same arguments for crits. While full crit builds aren't as popular on ADCs atm, they almost always have at least some crit items in their builds, and I'm sure everyone knows how a single lucky crit can turn the tide of a duel or teamfight. Certain champions, such as Tryndamere and Yasuo, also rely heavily on crit for doing their jobs.

I'd like to know whether Riot's coding specifies true random or pseudo-random distribution, and what their thought process is on why they use the algorithm they do. Also, I'd like to gather input on people's thoughts regarding randomness in League, specifically regarding crits. Do they serve a purpose beyond making the game less predictable and stale? And furthermore, if you had to choose, what method of distribution would you prefer?

4 Comments

Slythion1 votes

I'd like to know how the Dragon formula works, as I'm sure we've all noticed how Dragons seem to repeat themselves after the first one

It's not exactly uncommon to see 3 Wind Dragons in a game, or 3 Aqua. I also have a hunch that inferno is more rare than others, yet if it comes up I still think it repeats.

L Psy Kongroo1 votes

{quoted}

I'd like to know how the Dragon formula works, as I'm sure we've all noticed how Dragons seem to repeat themselves after the first one

It's not exactly uncommon to see 3 Wind Dragons in a game, or 3 Aqua. I also have a hunch that inferno is more rare than others, yet if it comes up I still think it repeats.

Same. I've notice lately that it's more common to see 3 of the same types of dragon in a row, making me think dragon spawning follows true random distribution.

Slythion1 votes

If it was true random, wouldn't that mean it'd be uncommon to see the same types of dragons in a game? It'd be more likely for it to be an even mixture, theoretically

StealWolverine1 votes

its prng

More from Gameplay

More by L Psy Kongroo