1 February 2017

I don't have much to write about this week (trying to avoid politics...), so here's a quick rant about Bernoulli processes in games.

A Bernoulli process is where you get to attempt something repeatedly, and each time it either happens or it doesn't. These show up in a lot of places, like repeatedly flipping a coin and checking if you get heads, repeatedly rolling a die and seeing if you rolled a 6, killing a certain type of monster repeatedly until you get a drop, et cetera.

Bernoulli processes have some properties that can cause players to get very frustrated. The main one is the fact that they are history-independent. Imagine a monster in a game that has a 5% chance to drop a useful item. You are looking for this item, so you start killing monsters. When you start, the expected number of monsters to kill is 20. You kill 20 monsters, no drop (this has a \( \left(\frac{19}{20}\right)^{20} \approx 35.85\% \) chance of happening). How many more monsters do you expect to kill for the drop? 20.

In a Bernoulli process, there's no such thing as making progress toward your goal. Every time you do an attempt, you either succeed, or you are back where you started. To be fair, this is attractive to some people, like how slot machines are very popular in casinos. However, they don't add any interesting gameplay and create a lot of frustration for the (large) number of players that lose to the odds.

You might hope that the law of large numbers saves you here. If the probability of an individual event succeeding is low, you are going to have a lot of trials, so you should fall closer to the expected value, right? It's a nice thought, but unfortunately it is not true. If the probability of success is \( p \), then the expected number of trials is \( \frac{1}{p} \). The probability that you don't succeed within those \( \frac{1}{p} \) trials is \( (1 - p)^{\frac{1}{p}} \). As \( p \) goes to 0, this probability approaches \( \frac{1}{e} \approx 36.79\% \). Similarly, the probability that you don't succeed within \( \frac{2}{p} \) trials will be approximately \( \frac{1}{e^2} \approx 13.53\% \). In other words, more than one eighth of your player base will lose big.

Some game developers have tried to combat this problem by lying to their players about the probability of success. By understating the chance of success, the probability that the player passes the supposed expected number of trials drastically decreases, thus reducing player frustration. On the other hand, when the players inevitably find out about the lie, what reason do they have to trust that anything else works the way you say you've set it up?

Ideally, these Bernoulli processes should be replaced by something else that you don't have to lie about. One natural alternative is to just count the number of trials, and make a success at some predetermined number. That option is rife with its own problems, as now you're getting into the realm of tedious grinding. I doubt there's a perfect solution here, but I think that these sorts of mechanics are opportunities for game designers to make a mark and create something that distinguishes the feel of their game from the rest.