"The best-laid plans of mice and men gang oft a-glee…"
Or so said the poet Robert Burns. And he was right, even though he wasn’t specifically talking about programming. It doesn’t matter what language you’re using, what you’re writing a program to do, what machine you’re running it on. If your program is more complicated than the equivalent of "See Spot. See Spot run. Run, Spot! Run!" then you’re going to have bugs in it.
There are always bugs in software. There are always things that it does that it could do better. Things that it doesn’t do that it should, and things that it does do that you wish it wouldn’t. That’s a fact of programming life.
Before releasing a piece of software on the unsuspecting world, programmers spend a lot of time testing it. Often, more time is spent testing software than was spent writing it to begin with. The more complicated the software, the more time needs to be spent testing it. The amount of testing required goes up with the complexity of the software in pretty much the same way as the XP required to gain a skill level increases along with skill levels.
Runescape is an immense piece of software right now. There are tens of thousands of data elements, most of which can interact with most of the others in an almost infinite number of ways. In a perfect world, each data element would be tested against all the others it can interact with, in all the ways in which it can interact, before the software is released. In practice though, in order to get software released before the programmers retire, the sun collapses into a black hole, or some other cataclysm brings the universe to an end, software is released when most of the classes of data element have been tested against most of the classes of things they interact with.
So you get bugs. The trick is to find the big ones: the obvious ones, the dangerous ones, the ones that break the game, and fix them before the software is released. Then you hope that none of the users find anything too bad in the ones that are left.
By the time the programmers have found and dealt with the big bad bugs, most of the ones that are left aren’t too dangerous. We’ve all seen some of the harmless ones in Runescape: the one that had people walking bent over double for a while. The one where, if you were sitting down when you were kicked out of someone else’s house, your seat went with you. The one in the Tears of Guthix quest where you could get the light creatures to follow you round. Silly stuff, but harmless in terms of game play.
Then there are "undocumented features". Things that aren’t really bugs, but aren’t working the way they should: the ability to dig up and replant your crops that existed for the first few hours of Farming. It wasn’t supposed to work that way, but it did and it enabled people to speed up their training. The ability not to pay your servant that was around at the beginning of Construction. Again, not supposed to work that way, and it was fixed, but for a while you could save yourself a good chunk of change by not paying the staff of your swanky mansion. Occasionally, and fortunately for most of us, it is only occasionally, a big bad bug gets through. We saw that happen in the recent massacre in Falador (about which more than enough has already been said).
All the bugs I’ve mentioned so far could have been, and probably should have been, detected and fixed by Jagex before the updates were released. The fact that they weren’t indicates something of a "rush to market" on the part of Jagex. I suspect that they’ve painted themselves into a corner with their update schedule, and are having to rush to get things out the door on time.
But Jagex isn’t unique in releasing imperfect software. Microsoft has released several versions of IE with serious flaws that have made users’ PCs vulnerable to hackers. Jagex has generally been pretty quick in fixing their bugs, Microsoft less so. Jagex is also pretty honest about bugs and bug fixes, which is more than can be said for many other companies who neither admit to the presence of bugs in their software, nor inform users of known bugs being fixed.
Back when I was learning programming one of my professors said: "The number of detectable bugs in a program is finite. The number of undetectable bugs is infinite." By this he meant that while testing will eventually turn up all the bugs that can be tested for, that doesn’t mean the software is bug-free.
Anyone developing software finds themselves in somewhat of an awkward position. How much testing is enough? The longer you spend testing, the higher your development costs are. On the other hand, releasing software with too many bugs has put some companies out of business. There is also considerable benefit in being the first to market with a new product. It’s a testament to the industry that most of the time, most companies get it right.
How does Jagex stack up? Not too badly, in my estimation. However, I haven’t suffered any losses as a result of any bugs. Well, not so far anyway. I’d probably feel a little differently if I’d lost a couple of million or a party hat in the Great Runescape Massacre of 2006.
Should Jagex do anything to improve its testing protocols? Possibly, but as they’re committed to a schedule of one major update per month and a minor one every week or so, I doubt there’s much they can do other than hire more programmers and software testers. In the end, it all boils down to economics: is it cost effective for Jagex to spend more money on testing? Right now, it seems they’ve settled for pleasing most of the people most of the time. You might not believe that if you’re an avid follower of the forums, but the forums don’t present an unbiased picture. Most of the time, it’s the disgruntled players who are expressing their displeasure in the forums. The ones with nothing to complain about are far too busy playing the game to write rants. There will always be bugs, glitches and "undocumented features". Report them when you find them…the rest of the time just enjoy the game.
Do you have any thoughts or comments about what you've just read? Want to discuss this article with your fellow Runescapers? We invite you to discuss the article in this forum topic.