Tobold's Blog
Tuesday, November 02, 2004
 
Monsters as scarce resources

Sir Ironheart, complete with lance and shiny armor, galloped on his faithful steed towards the Swamp of Doom. The king himself had promised him half the kingdom if he would just rescue the princess from the swamp monster. Arriving at the swamp, he valiantly searched out for the foe to slay, when he heard somebody calling out to him: "Hey there, what do you think you are doing? If you are here to kill the swamp monster, you have to stand in line with the rest of us. I've been waiting here for hours already, and won't let a newcomer get ahead of me in the queue!"

Silly? No. This or similar scenes happen in nearly every MMORPG every day. And they obviously hinder the suspension of disbelief which makes us feel a hero in a fantasy story.

The problem is simply that in most games monsters are in relatively short supply. Everybody looking for a specific monster for some reason has a high risk of competing against other players looking for the same monster.

Monsters in MMORPGs are not created equal. Many games have "named mobs", which are tougher than the monsters surrounding them, but give significantly better rewards, usually in the form of treasure items. And because players advance in levels, a mob being tougher than the surrounding ones is meaningless. The named level 10 mob surrounded by level 8 mobs gives a better reward than the regular level 10 mobs elsewhere, so killing the named mob is more profitable, and everybody wants to do so.

Another variation of this occurs if there are several monsters of the same level, giving the same reward, but due to some design flaw one kind is easier to kill than the others. For example experience points are often simply based on the level of the monster, not taking into account things like whether the monster attacks on sight. Obviously it is easier to waltz into a group of non-aggressive monsters and kill them one by one than try to pull a single aggressive monster of the same level that gives the same xp.

A very modern form of scarcity comes from the recent trend of games to offer lots of quests. Most players enjoy a quest to kill 10 wolves, with a reward at the end, more than just going out and killing 10 wolves you happen to pass by. But it often happens that lots of people received that quest, either because the quest giver is conspicuously placed, or word has gotten around that the quest reward is good. And then it is possible that the designers simply didn't put enough wolf spawn points on the map. The wait between killing two wolves is suddenly determined not by how fast you can heal up again after the first fight, but by how much time it takes to find another wolf that isn't already claimed by another player.

That is especially annoying if you found a wolf, intend to attack it, spend a couple of seconds to cast a buff on yourself or do some other combat preparation, and then some other player comes and attacks the wolf before you do. Lacking another word, players then complain about "killstealing", although that term was previously used to describe one player killing a monster that was already engaged in combat with another player. While the old killstealing is now often eliminated by coding that locks an encounter to the first player or group attacking, there is no possible code solution for the new form. Two players might well "intend" to kill the same wolf at the same time, and one of them will be faster, and the other one unhappy.

What all these problems have in common is that their origin lies in the way that games spawn monsters. By changing how mobs spawn, these problems could be solved.

One already quite popular solution is instancing. When Sir Ironheart arrives at the Swamp of Doom, he is actually arriving at the swamp_of_doom_17 zone, which exists only for him (or his group). Then only his ability to slay the swamp monster is being tested, not his patience in waiting in line for it. But instancing has the disadvantage that it separates players from each other. If you split the whole game into instances, you create a single-player game, not a massively multiplayer game. So solutions have to be found for monster spawns in public, non-instanced zones.

Probably the best solution would be for the game to measure what is going on, and to react to it, using dynamic instead of static spawns. For named monsters there could be a no-camp code, preventing the monster from spawning if somebody is sitting and waiting at the spawn point. But even better would be to have the named mob not spawn always at the same point, but randomly over an area which is too big to camp.

Monsters being over-hunted because they are easier to kill is not an easy problem to solve. Ideally one could invent a virtual Darwinism code, which makes monsters that are hunted a lot progressively tougher (or reduces the xp award). And the monster that is never hunted grows fat (increased reward) and weak. Thus the monster that gave the best reward for the lowest risk is not the same every month, but changes dynamically.

Monsters being over-hunted for quests should simply spawn more frequently, depending on demand. Right now there are usually static spawn points, at which the monster respawns X minutes after being killed. It would be better if the game kept track of the total population for each monster, and when that population drops dramatically due to player hunting, decreased the spawn timer, thus increasing supply.

But if all these solutions require too much complicated coding, one can always go with the simplest solution: Increase the number of monsters available everywhere, making sure that every type of monster is available in sufficient numbers to avoid scarcity.

This article has been published on Grimwell.com
Comments: Post a Comment

<< Home
Newer›  ‹Older

  Powered by Blogger   Free Page Rank Tool