Oh God, random numbers…


Oh god, it has come up again- ‘randomness’ in loot.  It’s a story as old as time - Random Yahoo reads Wikipedia entry on random number generation.  Random Yahoo picks up on the word ‘pseudo’ in pseudorandom.   Random Yahoo concludes that loot in instances is thus predictable because ‘lol, computers don’t generate real random numbers!’.   Other Yahoos post anecdotal evidence of loot clustering.   Superstition and mysticism evoked in the form of rituals to appease the random number generator gods (‘Yeah, like - set someone else as raid leader, then spawn the instance.  Then leave the instance and set up your new raid leader - YOU’LL GET DIFFERENT RANDOM NUMBERS [1]’).  Sensible people contemplate suicide.

 

So, let’s clear up this issue once and for all [2].  We’ll begin by giving a simple definition of what ‘pseudorandom’ actually means.

 

Genuine, honest to goodness randomness can be done by computers - it just requires some fairly specialised hardware.  For the vast majority of purposes, this is not necessary and a software solution is adopted.  In this software solution, random numbers are generated algorithmically based on some initial starting state.  Given the same starting state, a pseudorandom number generator will generate a predictable series of numbers each and every time.

 

One trivial example of such a random number generator is the Von Neumann ‘middle squares’ algorithm: 

 

Take a starting value (known as a seed) - square it, and take the middle numbers as your random number.  That random number is then the seed of the next generation.  So given a starting value of, oh let’s say 2008, we get: 4032064.  Grab the middle four digits of that, and we have 3206 (or 0320, depending on where you slice it).  That number then becomes the seed for the next generation which would give 10278436 for a random number of 2784 (and so on).  This system has numerous weaknesses and isn’t deployed in real generators, but it shows the core of what a pseudorandom number generator does – it takes the starting state and arithmetically manipulates it to derive a sequence of numbers.

 

However, just because the numbers are algorithmically derived, it does not follow that:

 

1) The numbers generated are predictable to an outside observer.

2) The numbers fall into obvious clusters

 

Point one is important - it means that as far as you are concerned, the numbers are random - they exhibit all of the properties of random numbers as far as most applications go and you wouldn’t be able to tell the difference between pseudorandom and genuinely random numbers unless you knew both the algorithm being used (which is possible) and the initial starting seed (which is hugely unlikely). 

 

A common way of seeding a random number generator is to use the number of seconds that have passed since the beginning of the Unix Epoch (currently a digit in the ten figures) - so you’d need to know the exact second when a random number generator was seeded (and that’s often entirely different from the time the first number is generated).  You’d also need to know each and every random number that was generated, and a lot of those are happening behind the scenes [3]. As an observer, you have no realistic way of predicting the numbers, even if they are determined according to a 100% predictable algorithm.  Imperfect information guarantees that to be the case.

 

In multiplayer games like World of Warcraft, an additional complication comes in through the fact that, if blue developer posts are to be believed (and they should be, because it’s the most sensible way to do it from a software development perspective), each server shares a single random number generator.  So not only can you not predict the numbers if all of them related to you personally, the numbers you actually receive are based on the genuinely unpredictable factors stemming from every single player on a server.  Any time the system generates a random number for you, it’s impacting on the random numbers generated for everyone else, and vice versa.        

 

Point two is the fallacy that everyone seems to be falling into - just because a number is pseudorandom doesn’t mean it’s going to result in obviously artificial patterns like, for example, you always getting the same loot in an instance.  What you’re actually seeing there is a result of a few things:

 

1) Selective memory.  You don’t always get those drops, but every time you do, you notice it and so it skews your recollection.

 

2) Randomness sucks.  Random means just that - random.  Sometimes that means streaks of bad luck.  Sometimes it means streaks of really bad luck.  The dice have no memory, and misunderstanding that is the root of the Gambler’s Fallacy[4].

 

3) The Law of Large Numbers.  In a game with millions and millions of subscribers, even things that are a million to one chance are surprisingly common.  The chances of getting two 0.01% drops in two subsequent kills are 0.0001%, which means a one in a million chance.  In a game of ten million or so subscribers, statistically speaking it’s likely to have happened to 10 people.  Or possibly to zero people - that’s random for you.

 

So pseudorandom doesn’t mean ‘obvious patterns in generated numbers’, it’s a very specific term relating to the way in which random numbers are obtained.  To someone outside the black box of the random number generator, the numbers are as good as random for the majority of applications (certain specialized contexts like cryptography and simulations involving large amounts of randomness may find a standard PRNG to be lacking, but even then there are effective ways of generating ’secure’ pseudorandom numbers).  If your loot sucks, it’s not because of some mystical property of pseudorandom numbers.  Maybe God just hates you.

 

So please, can we put this issue to bed now, please?

 

Drakkos

 

[1] Damn right you will.  You will also get different random numbers if you don’t.

 

[2] Yeah.  Right.

 

[3] For example, making an attack against a creature results in two pieces of information for you – if you hit it, and what damage you did if you did hit.  What it doesn’t show in that is the random number that was generated to determine whether or not you hit, and if you don’t have that number you can’t calculate the next number in the sequence. 

 

[4] Imagine you have flipped a perfectly balanced coin ten times, and it has come up heads each time.  What’s the chance that the next time you flip it, it comes up heads? [5]

 

[5] If you answered anything other than 50%, you should not go to Vegas.  But come play Craps with me.

Good News from the PTR

So, PTR 2.3 is finally up, and there’s a lot for ferals to cheer about. Chiefly, the Feral Attack Power buff - it’s what we were hoping for. The Stranglestaff got 829 AP (started with 647), the Mrciless Maul got 1010 (started with 788), and the Earthwarden got 712. That’s some pretty mighty upgrades, and good news for us all.

Then, on to the new itemisation - there’s quite a bit of new heroic loot that will appeal to feral druids. The ones that caught my eye were:

New tanking cloak, at a cost of 35 badges:

Slikk’s Cloak of Placation
Back
346 Armour
+37 Stamina
Requires Level 70
Equip: Increases defence rating by 16
Equip: Increases dodge rating by 25

New feral chestpiece (75 badges):

Vestments of Hibernation
Chest Leather
684 Armor
+ 46 Strength
+45 Agility
+36 Stamina
+13 Intellect
Classes: Druid
Requires Level 70
Equip: Your attacks ignore 150 of your opponent’sarmor.

Bracers (35 badges):

Band of the Swift Paw
Wrist Leather
317 Armor
+21 Strength
+22 Agility
+31 Stamina
+10 Intellect
[] Yellow Socket
Socket Bonus: +2 Strength
Requires Level 70

Belt (60 badges):

Waistband of the Great Beast
Waist Leather
367 Armor
+29 Strength
+28 Agility
+30 Stamina
[] Blue Socket
[] Red Socket
Socket Bonus: +3 Strength
Requires Level 70
Equip: Improves hit rating by 18

There’s new healing leather rewards for legs, shoulders, wrists, and waists, and a pile of new moonkin stuff. There’s also plenty of ‘DPS Leather’, covering belts, legs, hands, feet, and wrists. There’s a lot of new leather.

The real itemisation gem though is… hold your breath… A TANKING IDOL, at a cost of 20 badges! Bugger me:

Idol of Terror
Unique
Relic Idol
Requires Level 70
Equip: Your Mangle ability has a chance to grand 65 agility for 10 seconds.

Jeez, it’s about time. I might even use that!

Still no word on Zul’Aman, of course.  We’ll see what that holds for ferals.  All in all, I’m pleased with what I’ve heard so far.

Stupid Arguments #2: Lazy Developers

God, when will we see an end to this stupid argument? Stupid argument #1 is Misquoting Statistics thing, but I’ve decided to turn it into an irregular series of Stupid Arguments I See On The Forums. This one is especially bad, because not only is it stupidly ill-informed, it’s also extremely insulting.

When looking at whether developers are ‘lazy’ when implementing a change, we need to consider two pretty basic points.

  • The development time for A does not neccessarily equal the development time for B. It’s not just a case that the ‘easy’ solution is easier in terms of code. Sometimes it’s just much more efficient in an environment where development time must be allocated and prioritised.
  • There are implications for implementing A that you are (usually) not taking into account.

For today’s explanatory example, I am going to use the Heart of the Wild change. This has been Roundly Lambasted by Stupid Druids as a ‘lazy change’, because the proper change, apparently, is to implement feral druid specific equipment at all tiers on all slots. Now, I’d love that - I think that would be absolutely awesome. But it’s unworkable, as spending thirty seconds actually thinking would clearly show.

Point one - changing a scalar value in a talent is a tiny, tiny investment in developer time. Creating dozens of new items is not. Mainly because these items need to have art produced for them, budgetted, and then allocated to bosses according to raid progression. Any one of these steps would take much longer than changing a scalar value in a talent. Changing the talent is a quick fix, and not even a bad one. A != B.

Now, to the implications. Let’s say that the developers did decide to implement druid alternatives for every slot, and have them drop from bosses. What does that mean? Well, assuming we’re not being dicks about it and we accept that if we get special equipment, every other spec with unique stat requirements should as well, it means that there need to be drops that work for 1/3rd of the specs of 1/9th of the classes. And it needs to drop for every spec/class combination in the game. So retribution and protection paladins don’t use the warrior plate, they get their own itemisation. Same with enhancement shamans, or survival hunters. No more ‘making do’, everyone gets tailored equipment. It’s a nice dream.

But that’s a lot of extra loot in loot tables, and it means that the loot that drops is going to be, on average, useful to fewer people in a raid. Rather than a piece of leather dropping that’s of use to four groups of people (all three specs of rogues and feral druids), you may get a piece of leather that’s of use to one group of people (feral druids). Everyone sees the drop rate of their upgrades plummet, and replaced by drops that are far less suitable.

‘Drop it off trash’ - well, there’s a workable solution, but that in the past has been seen as an UNACCEPTABLE SLAP IN THE FACE by some druids. It’s insulting that equipment for your class is not considered worthy of a slot in a boss’ loot table. Apparently.

‘Make bosses drop more items’ - well, again that’s a working solution, but it’s hard to imagine that a boss that spews out five or six epics isn’t going to have implications for raid progression.

‘Make bosses drop tokens’ - again, a workable solution, but one that removes the randomness from the loot tables to which Blizzard is philosophically committed. I don’t agree with that stance, but that’s just a difference in perspective - I don’t believe they are Lazy or Wrong for standing by their design choices.

So, what’s the clever solution? Spend months developing unique itemisation for 27 main spec/class combinations and flooding loot tables with this so everybody has something useful? Or spend a few minutes changing a value in a variable and having loot that was previously only useful for three groups of people also being more useful for feral druids?

Consolidation of equipment is not a lazy idea - it’s pretty much the only workable idea in a game where people have considerable freedom to choose their character design. Essentially, what I’m saying is that Blizzard are not lazy. They’re just smarter than you are.

Changes In 2.3

Heh, it appears as if ‘no feral changes in 2.3′ was either incorrect or stirred up such complaints that Blizzard decided to throw in some buffs anyway.

The biggest one of these is easily the following: Heart of the Wild in cat form will be changed from 20% STR to 10% AP.

It’s a fairly minor buff for solo DPS figures (for me, it counts as about another 70 AP) but a huge buff for raiding figures where most of the boosts you gain are to your attack power. Some buffs got weaker, some got stronger, but on the whole, we got buffed quite a bit. Moreover, it means that rogue oriented leather is now much more palatable for druids - it’s a band-aid over druid itemisation problems and it doesn’t solve it entirely, but it certainly helps. Blessing of might, Grace of Air, the shaman Heroism buff, Battleshout, true-shot aura, etc - all of these things give additional AP in a raid setting now.

However, combine it with the following: Feral AP is being buffed.

If they are looking to increased Feral AP to be in line with other weapons (they’ve been incorrectly scaled since TBC), that’s a lot of extra FAP. I won’t bore you with the calculations, but essentially it works like this - subtract 55 from your weapon’s DPS. Multiply it by 14. That’s how much AP you’re missing. Earthwarden has 65.8 DPS, which means 10.8 of that should be converted into feral attack power, giving a boost of 151 Feral Attack Power. Really it should have 707 Feral Attack power on it.

If these two work together as they should, then that 10% AP buff will also stack with feral attack power, giving feral druids 778 AP from that weapon. Now it’s starting to get interesting!

From these two changes alone, I’m expecting to get an extra 230ish attack power. Not enough to fix scaling issues, but a very nice buff that wasn’t actually expected.

For those who are interested, the formula come up with by Tangedyn for calculating your new AP is:

New AP = (Current AP- (Strength / 3)) * 1.1

The more strength gear you currently have, the more you’ll be penalised - but it takes a huge imbalance in terms of your strength versus other AP for it to be anything other than a straight buff. If you have so much strength that you’re getting a tiny boost, it’s a hint that you should have been stacking more agility anyway.

Lies, Damned Lies and Statistics

Few people understand statistics, and even fewer are willing to admit their understanding may be flawed when it undermines key parts of their argument. There are certain things I wish everyone would consider when quoting statistics to support arguments:

  • Consider the source
  • Consider the sampling
  • Don’t confuse Correlation with Causation

The first is vital - some sources are just tainted. You can’t take the vast majority of statistics regarding hot-button issues like abortion, gun-control or the death penalty seriously because they are almost always commisioned by a partisan body and slanted to support their position. The source of statistics is a very valuable hint as to how biased they may be.

The second is just as vital - how representive is the sampling? Consider the website WowJitsu. It’s an excellent idea and one that’s shaping up nicely, but consider this piece of info from their FAQ:

  • A guild must have a score of 20 or higher to show up in the listmake it on the lists. This usually boils down to your guild being about half way through Karazhan.
  • If your guild has less than 10 level 70 members then it won’t be included.

That’s absolutely fine for what the website is doing, but it skews any interpretation other than what the website is putting forward. Consider this quote from someone attempting to argue that over 30% of druids make it to Tempest Keep:

Numbers of players (and druids, since we are 9% not 3%) that are part of that minimal minority who enter Tempest Keep:

http://www.wowjutsu.com/world/
30.76%

Now, consider the website’s stated caveats - it doesn’t include players who are in guilds that contain less than 10 members, and usually it ignores guilds that have not made it at least half way through Karazhan. Right away, those figures are hugely slanted towards raiders and completely ignore non-raiders.

Even taking that into account, it’s an incorrect reading of the statistic. Correctly, it shows that 30.76% of players are in a guild that has killed Void Reaver, the first boss in the instance. That’s not the same thing as saying 30.76% of druids make it that far. If you actually do the basic arithmetic with some fairly generous assumptions (such as for example, a traditional 25 man raid will bring five druids with it), it comes out as substantially less. Substantially. Rougly 6% of raiding druids, if you’re interested. The actual number will be less still of course, because comparatively few raids will bring along five druids.

Mixing up correlation and causality is another common problem with reading statistical data. The presence of druids in 5v5 arena teams is a good example of this. Check this excellent graph for an example of how few druids there are in high-end (and even low-end) 5v5 teams.

A quote from the same druid who misread the instance progression statistics:

In case writing this 2 times is not enough, we are last in 5v5 regardless of spec. Find me the viability when 3 of 3 talent trees are all together slammed into being the last class in 5v5.

Now, the mistake being made here is that the druid is confusing causality with correlation. There is a strong trend to show druids are unrepresented in the arenas, that’s not in debate. However, from that the druid has inferred a causation - druids are not viable, thus they are not represented in the arenas. All the figures show however, is that druids are not represented. That’s not the same thing as druids not being viable, and claiming otherwise ignores a number of crucial factors:

  • Cultural perception of druid viability. If people believe druids are not viable, regardless of the truth, people will not take druids in 5v5 teams.
  • Druid complaints of lack of viability. Druid self-hate is one of the key things, in my opinion, that puts people off fielding them in high-end teams. I know for a fact that good druids can excel in 5v5.  I doubt they can excel as feral druids, but none of us rolled a feral druid.  We rolled druids.
  • Population imbalances. It’s hard to determine exactly what effect population imbalances have on the representation figures, but it will have an effect.

So, take any statistics you see with a grain of salt. They can be indicitive of deeper problems, but they by themselves do not show anything other than what they specifically show.

Greedy Ferals

Feral druids have problems, there’s no denying that. However, so does every other single class. With the exception of two major problems (one of which is being actively addressed, albeit slower than any of us would like), Feral Druids don’t have it harder than anyone else. The Two Problems which almost everyone agrees on are:

  • Poor scaling with gear
  • Poor itemisation at the high-end

Beyond that, there are plenty of things that would improve us, but they’re of fairly minor importance. Even these two major problems don’t affect 95% of druids - poor scaling becomes a major issue in Tempest Keep and beyond, and hardly any druids get there. One Well Known Druid made a fairly laughable claim that 30% of druids make it to Tempest Keep and thus it’s a sizeable minority that gets affected. His source? A raid progression website. So, of the guilds that meet the raid progression requirements to be registered on the site, 30% of the players made it onto Tempest Keep. That’s an obviously irrelevant number - nobody outside of Blizzard knows how many level 70 druids actually make it that far, but if it’s more than 5% of us, I’ll eat my feet. And yours if you like. Feet-eating for all!

So, yeah - we don’t have it bad at all for most of us. But the big complaint at the moment is that feral druids suffer in 5v5 arenas. That’s something I won’t argue with for a second - I’ve given it a try, and we get our asses handed to us and how.

But my question is this - why does that matter? Consider all the things that the vast majority of feral druids can do well in comparison to those around them:

  • Tanking
  • DPS
  • Griding
  • Battlegrounds
  • World PvP
  • 2v2 Arenas
  • 3v3 Arenas (to a lesser extent)

With all of that, it’s not unreasonable that we shouldn’t also excel in 5v5 arenas. Especially since with a respec to resto, we become viable in 5v5 also.

It’s really starting to grate on me that ferals believe they should be able to do everything in one single spec - there is no class on Warcraft that excels in as many roles as the feral spec does. It’s quite simply greedy to expect any more than that.

That patch 2.3 brings few feral buffs (except from macro-assisted form-to-form direct shifting) is not a big deal. There are other classes in a far worse state than we are.

Welcome to Sigil

Sigil is the personal blog of Drakkos, a feral druid on the Argent Dawn server.  This was originally designed as the website for a fledgling raid community alliance between two main guilds, but as the Kindred Spirits guild grew to the point where it could begin 10-man raid instances internally, combined with the disbanidng of the second guild in question, this site fell out of use.

So, I’m resurrecting it as an irregularly updated druid-themed blog where I can pontificate without the general hostility, idiocy and general unpleasantness of the WoW druid forums.

You may think, ‘But what’s the point of writing if no-one is going to read it’?  That would only be an issue, of course, if I didn’t just love the sight of my own text!

Drakkos