Tuesday, October 16, 2007
One thing that works pretty much the same in every MMORPG is spawning in the common part of the virtual world. (The private, instanced parts sometimes work differently.) Spawning is the process of creating a monster for the players to fight. Most of the time the monster just appears out of thin air, only in Tabula Rasa can you see some of the aliens beamed in from a mothership, which looks better.
Spawning works by static coordinates. There is a fixed spawn point somewhere in the virtual world which is linked to one monster. That monster might be standing still on that spot, or it might move around. But whenever that particular monster is killed, a new monster will spawn on that particular spot some time later. Conversely if the monster belonging to a specific spawn point is not killed, no new monster will appear on that spot. It isn't necessarily exactly the same monster respawning when the original one is killed. Sometimes there is a spawn table with several different monsters, or a small chance for a rare mob to spawn.
Clever players have always used their knowledge of spawning to their advantage. One good example is "placeholders". You are out to hunt Red Foozles, and you need to kill a lot of them. Now imagine the Red Foozles share a spot on a spawn table with the Green Foozles. If you go and kill every Red Foozle in sight, but not attack the Green Foozles, you will soon run out of Red Foozles to kill, because every time you kill one, there is a fifty-fifty chance of a Green respawning instead of a Red. Thus instead of running around trying to find the few Red Foozles in a field of Green Foozles, you better slaughter every Foozle in sight, and get more Reds to spawn. Another example is spawn camping, where your knowledge that some extremely valuable mob is spawning at a particular spot enables you to sit there and wait for him to spawn, instead of needlessly running around looking for him.
While the principle of spawning hasn't changed since Everquest, some parameters of spawning have changed. Mobs still spawn always at the same spot, but spawn timing changed a lot. In EQ there were some quest mobs spawning only every 8 hours, which is obviously horrible, because you need to camp the spawn to ever get that quest done, and then you must rely on people coming later not to jump in and steal your kill. In modern games spawn times are much shorter, and often a bit more random. Some games, like City of Heroes even have anti-camp code, preventing monsters to spawn at the location of a player. World of Warcraft in the Burning Crusade expansion experimented with variable spawn times, so instead of a new mob respawning exactly 5 minutes after the old one, the game takes into account all the mobs of the same type in the same area, and if lots of them are dead respawns them quicker.
Eternally discussed and even promised by some developers, but never realized, is a more dynamic spawning system, where spawn locations aren't static any more. If in the real world you would be hunting animals in one part of a forest, but not in another part, the population in the part where you were hunting would drop, while the population in the part with no hunting would slowly rise. With some effort such things could be realized in a game world too. Such dynamic spawn systems would not only add some interesting uncertainty to a game, it would also kill automated bots. One could even imagine combining dynamic spawns with dynamic quests: if nobody has killed orcs in some area for some time, the orcs there would get stronger and more numerous, but the people in the village next to them would offer better rewards to kill them. You could even imagine every village having some sort of prosperity score depending on the level of threat from monsters surrounding it. Lots of players clearing the area would make the village richer, and new NPC vendors with more interesting goods would appear. But if there are no heroes interested in working for the village, it would decay into ramshackle buildings surrounded with few NPC vendors, but lots of monsters in the surrounding area. The villagers would offer better rewards for heroes to save them, and the heroes would also be interested in places with a high monster density because it makes hunting easier. Thus a cycle between prosperity and poverty of a village would develop, making the whole game less static and more dynamic.