Schneier on Security
A blog covering security and security technology.
« NSA Watch |
| Security Pat Downs at Football Games »
September 30, 2005
It's in a gaming world, but it's still fascinating.
Posted on September 30, 2005 at 12:38 PM
• 12 Comments
To receive these entries once a month by e-mail, sign up for the Crypto-Gram Newsletter.
I seem to recall that a similar problem happened in The Sims, in which a bug in a popular downloadable player-created item started causing trouble this way.
Maybe it should have been called War and Plague Craft.
For an interesting comparison, BBC picked up the story on the virtual epidemic
"it now appears that players kicked off the plague and then kept it spreading after the first outbreak"
and then pointed to the latest potential threat and damage of a bird flu:
"A flu pandemic could happen at any time and kill between 5-150 million people, a UN health official has warned."
I suppose a lot can be learned about people by giving them the ability to create virtual epidemics (for some the point of the game is to kill other players, right?), but can anything be learned from stamping out a virtual plague? For example, do players prefer vaccines and "healers" or a fix to the system that allows the spread...
When I worked on an online game, one of the projects I had looked at was a 'virus' that could be spread from character to character. I couldn't get it to work right, so we never used it. However, my code included a command that gamemasters could issue to activate/deactivate the scenario, remove the effect(s) from players, and it was non-lethal. Transmission of the 'virus' was a random chance (die roll), rather than a certainty on contact. The effects were also non-lethal ... it would reduce a player's stats, but not to the point of killing that player.
It sounds like WOW programmers didn't fully assess the impact of their change on the game world, nor take into consideration deliberate malice (which is odd, given the usual trend of hacking in WOW and other Battle.net environments).
What's interesting in my opinion is the properties of the virus that allow it to be so... virulant.
How long does the infection last, i.e. how much time from the moment when a game character is infectious to the point when he's dead? If the virus kills too quickly, it can't spread too far. What is the infection vector? How close do characters have to "stand" to infect each other? for how long?
I know, isn't it fun? There are a lot of avi's floating around the net showing the effect. Guys running around like crazy in supposedly 'safe' areas infecting/killing people standing around (afk & still logged on). Mass virtual carnage. Simply bizarre.
I love emergent behaviour. :) I don't think this would have occurred had the game been less complex or less popular...
... or less buggy.. or less kids-ridden..
I was online when this first happened. Basically the new boss, Hakkar, casts this spell, which periodically infects nearby allies.
The spell does not disappear after a set amount of time -- rather, all the players have the disease removed from them after the fight with Hakkar. . .but the designers forgot to check the players' pets and animals for the plague. The pets acted as carriers, and when they got back to the capital cities, it just spread like wildfire.
It wasn't that bad for the higher-level players, but the poor old lowbies died repeatedly from the plague.
Interestingly, players found an in-game workaround to avoid contracting the disease: if you voluntarily activated PvP mode (i.e. enabled player-vs-player combat), the game determined that a PvP-enabled member of a faction was not an "ally" as a non-PvP-enabled member of the same faction, and the disease would not spread to you.
The designers' mistake was assuming they could reliably remove the disease from all carriers. . .without implementing a global timer or reinfection limit.
PS Bali's just been bombed (again!!!)
How do you design a plague that affects a character's pets and animals, but then fail to accomodate that on removal?
And, yes, my design had a master timer that sat in my 'office' ... every time the routine checked for spread or infection, it had to 'call' the master timer to see if those instructions were, in fact, valid. A simple IF/THEN that would prevent a lot of grief if I had screwed up elsewhere. (The only portion of the code that I hadn't nailed down was calling the damage subroutines.)
Duke Nukem Forever will be the cure to every ailment
Im glad I wasnt playing WOW that week.. :)
Schneier.com is a personal website. Opinions expressed are not necessarily those of BT.