Wowpedia

We have moved to Warcraft Wiki. Click here for information and the new URL.

READ MORE

Wowpedia
Advertisement

The question of whether loot drops from bosses are "random" is regularly brought up on Blizzard's discussion forums, usually followed by a lot of "armchair statistics" attempting to reinforce a position. This article is a brief attempt to informally explain random numbers and how they are used in World of Warcraft. No mathematics are done here, and many details are glossed over. This is an extremely relaxed explanation rather than a textbook.


Basic PRNG Behavior

The dirty secret is that computers are very bad at making random stuff. It's not surprising if you think about it: all that software can do is follow instructions, and instructions aren't random. True randomness requires a physical process which is unpredictable. Those are available to a computer, but there aren't enough of them to satisfy the needs of most software that wants to use up the supply of random numbers.

So they fake it with a Pseudo-Random Number Generator, or PRNG. They simply have some math which takes a number, does stuff to it, and spits out another number. Call it "A". That's your first pseudorandom number:

   * initial settings --> MATH --> A

Then you take that number A and feed it back through over again, and get B. That's the next "random" number:

   * A --> MATH --> B

This goes on and on, B produces C, C makes D, etc, plenty of numbers for everyone.

But wait! There are two surprises. The first one is, this sequence repeats eventually:

   * ZZZ --> MATH --> A

How many steps you have to take before you repeat is one of the ways PRNGs are judged to be good or crappy.

The second surprise is that the MATH part is totally 100% predictable. If you put in the same number for (say) P every time, you will always get the same answer out for Q. That's actually a good thing, too, for testing purposes.

Now put those all facts together and think about the implications for a minute. The entire sequence of pseudorandom numbers, absolutely all of them, is controlled by the initial number that you started with. That's the "seed", and every PRNG uses one.


Seeding

In order for the numbers produced by the PRNG to be unpredictable, you use a random number as the seed. You can use a truly random number, like digitized white noise from a radio telescope aimed at a source of X-rays, or the electrical noise on your hard drive cables, or a digitized image of an unpredictable process,[1] and so on. (The most famous example of the last was Silicon Graphics pointing a webcam at a table full of Lava Lamps, and then pulling numbers of the image's bitstream.[2])

You can also use a seed that isn't technically random, but just "unpredictable enough". The date and time is a good example. Computers don't use a clock or a calendar that goes in cycles like we do. A computer clock counts how many seconds it's been since a particular year, and of course that number never repeats. So "8:30 pm" happens every day, but "18372902842" only happens once.

Raiders in particular like to believe that they have influence over the seed, but Blizzard has already pointed out that this is wrong.[3] See #2 under Things To Remember for why.


Blizzard Information

Blizzard posting an article[4] shortly after the game was released, describing how "rolls" are done. Much of that article is not directly related to this topic, but it does describe which PRNG is in use. It is called IBAA, and source code is available.[5]


Things To Remember

A few things that players typically forget — or would prefer to not thing about — when arguing over "randomness" of loot:

  1. Players forget, or are unaware, that streaks are a normal part of PRNGs. The same Blizzard article mentioned above has a short explanation.[4]
  2. Raiders like to assume that every instance gets seeded from scratch, which is almost certainly not the case -- you'd use up the "real" random numbers (used as seeds) too fast. It's far more likely that there's a single generator for the realm, seeded when it boots, and we're all pulling numbers from it... which means that there's nothing a player, or a raid, or a guild, can do to influence the seeds in any way. In particular, it does not matter who your raid leader is. This may stem, however, from the fact that the mob's loot is generated when it spawns.
  3. Much of the misinforation and arguing about the loot system starts because players want to feel that they have some influence over every aspect of the game, giving us the observation "luck is probability taken personally". This psychological aspect is common and has been well-studied.[6]
  4. The same stream of random numbers determining loot also determines the base damage of your weapon for each swing, whether your attack misses, crits, gets resisted, whether you dodged or blocked or got crit, etc. But all of those things can be influenced by a player's choice of gear and buffs and consumables, so you don't hear players whining about "every time we raid, that type of mob blocks an attack, so it must be our raid leader's raid ID". Instead, they put on different gear, or drink a different potion, or change their talent specs. It's only the loot tables that we can't affect, so it's only the loot results where we start dreaming up ways to affect them — and then pretend that they must be affected, because we decided so.
  5. Random does not mean fair. Random refers to results over the entire realm, not your guild nor your character.

References

Advertisement