Wednesday, January 17, 2007

Dynamic spawn system

Once upon a time in a classic MMORPG there was a camp of 10 foozles. And as there was a quest to hunt them for foozle pelts, often players came to that camp and started killing them. Using a classic respawn system common to many MMORPGs, whenever a foozle died, that triggered a timer, and 2 minutes later the foozle would respawn. So far, so good.

Now when a player started killing foozles, and needed about 30 seconds to kill one, the population of foozles would decrease. After 30 seconds the first foozle dies, and the first foozle timer starts, and the foozle population goes down to 9. The population decreases to 8, then 7, then 6. After 2 and a half minutes the fifth foozle dies, and the first foozle respawns, keeping the foozle population constant at 6, as long as there is only one player killing them.

But if a second player turns up, the stable population goes down further, to always only 2 foozles being alive. And if even more players turn up, for some periods of time no foozle at all is in the camp. If 10 players kill the 10 foozles simultaneously, the players then stand around in the camp for 2 minutes unable to proceed before the respawn timer has completed. That is obviously not good, especially if you expect many players to hunt in the same area.

So Blizzard decided that for the Burning Crusade expansion, in the new zones that would most certainly be overcrowded with players, the classic respawn system wasn't cutting it any more, and they invented the dynamic respawn system. They aren't saying exactly how it works, but I imagine it goes a bit like this:

There is a maximum distance from which a player can attack. So if you draw a big circle around the foozle camp, with a diameter of this maximum attack range, you can count how many players are close enough to the foozles to attack them. And the more players there are in that circle, the more you shorten the respawn timer. Alternatively you could also just count the number of alive foozles, and make the respawn timer shorter when there are less of them alive. In both cases the more the foozles are camped, the faster they respawn, and there is much less of a problem of players not being able to find a single foozle to kill.

But the dynamic spawn system does have its disadvantages as well. If one player meets two foozles, and needs 30 seconds to kill the first one, then another 30 seconds to kill the second one, and due to lots of other players around the respawn timer is down to 30 seconds, by the time the second foozle dies, the first one respawns at that position. Now the combat never ends, unless the player runs away, because every time he kills a foozle, the other one reappears. Sooner or later the player is out of mana and/or health, and is cursing loudly about the stupid respawns.

So if you are playing the Burning Crusade and you wonder why you are swamped with constant respawns, that is just a side effect of the new dynamic spawn system. That can be annoying, but believe me, you'd be more annoyed if you couldn't find a mob to kill.

No comments:

Post a Comment