Trusting the System

25 Oct 2012

While Shamus Young's recent write-up on complex rulesets and how they can make bugs rather difficult to notice is mostly focused on MMOs, I'd say his arguments on transparency, granularity and progression could be easily applied to most single-player RPGs, and make for an interesting read for most fans of the genre.

Here's a snip:
This system is simply too chaotic for normal QA testing to detect bugs. Sure, big problems will show up easily enough, but this system is made almost entirely of small systems chained together. Even if it were feasible to have a team of QA testers examine every power against every mob with every piece of gear at every level, and even if they understood the mechanics completely, I seriously doubt it would be possible for them to spot problems without some serious statistical analysis tools.

If that sword that offers 3% more critical damage was actually doing 3% less damage, how could you possibly tell? If the armor bonus of your boots was never applied to melee attacks, ever – would anyone know? What if that condition you repeatedly stack on an enemy to make them weaker is actually only effective the first time, and otherwise ignored? What if, instead of adding the critical chance of both of your equipped weapons, the system only uses the main-hand bonus unless you’re using pistols in which case it uses the lower of the two? What if the condition the enemy puts on you to make you slightly more likely to miss is never actually cleared until you log out or change zones?

Now, you might say that you’d notice because the numbers in your character screen wouldn’t look right. But you’re assuming the character screen is being honest with you. Josh found a bug in Guild Wars 2 where an Elementalist can select a trait that will make certain powers cool down faster. After selecting the trait, the listed cooldown of Mist Form dropped from 90 seconds to 75 seconds. However, when you actually use the power, the cooldown is still 90 seconds. The tooltip is lying. The trait is probably completely useless. Note that the only reason Josh is aware of this bug is because you can set the game to display the cooldown timer. Without this, he’d need to use a stopwatch to see the problem. If this trait impacted random damage rolls instead of a fixed timer, then it would be extremely difficult and time-consuming to conclusively observe this bug.

If you’re fighting alone, then fights are generally too short to observe anomalies. If you’re part of a group, then any anomalies are easily attributed to the activity of other players. All you can see are damage numbers, which are derived from random rolls and run through the numeric meatgrinder above. Even if by some miracle you do notice a problem with the numbers, are you really going to be able to detect this as a bug? Maybe you’re lagging. Maybe another player has thrown some other conditions or buffs into the mix. Maybe you’re just noticing a few bad rolls in all the noise. Maybe a recent patch changed things. Maybe you’re just failing to understand the undocumented mechanics.

Thanks, Rampant Coyote.