Pseudo-random vs. True random distribution
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
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?