Tuesday, April 08, 2008

Butting Heads: Collision Detection in MMOs

Collision detection is not a new concept and yet at the moment its being over hyped as a feature in this year's upcoming MMO releases. The reason for this is that both Warhammer and Age of Conan are more PvP oriented then traditional MMOs have been in the past. In PvE oriented games the ability for virtual objects to recognize physical boundaries is interesting but doesn't really have a huge impact on game play. This changes when players are actually fighting each other since there are interesting ways to exploit the lack of collision of detection to avoid taking damage from spells.

MMOs like World of Warcraft are always going to have their PvP game crippled by not having collision detection. Melee classes are amoung the most popular and they can use line of sight and a lack of collision detection to take advatage of casters. This can be seen in how poorly casters with long casting spells perform in the arenas. Targets can simply step inside of a player right before the spell goes off to avoid its effects. This tactic is less effective in open world fighting where escape is an option but it's always going to be prevalent in environments like the arenas.

Some Different Types of Collision Detection
Most computer games use a simple type of collision algorithm that responds after it has detected virtual objects trying to occupy the same space. The big differences between games are how the server responds to a collision.

Water
Inanimate objects like walls and buildings are treated as solid and the server quickly resolves any collisions with them to prevent movement. However, there is no server response for players colliding with one another and everyone is treated like they're made out of water. Some people think this method is just the result of lazy programming but there are actually some good reasons for its use. Collision detection for objects that constantly move can require intensive computational power especially in the large player occupied cities seen in World of Warcraft.

Mud
The initial response of the server is to treat every collision as a solid but the rules for collision detection get progressively weaker as two virtual objects press against one another. Classic Everquest was notorious for this style of collision detection which was probably intended to make sure players couldn't physically block off entrances to buildings or dungeons. The side effects were funny though since players could often press against certain walls and other solid objects like they were mud. Often they couldn't pass completely through them but it was easy to switch views and look into rooms. Also some doors and bars were vulnerable to pressing through at a certain point or using other tricks. Often times you would find monks feigning death at doors and getting back up repeatedly to trick the server into pushing them through a door.

Stone
Some PvP games have flirted with absolute collision detection systems which prevent a lot of the line of sight exploits that players can use against one another. However, games that treat everything as solid sometimes have issues with players getting snagged on small inanimate objects or even each other. Also while treating everything as solid fixes jousting and some of the other weird PvP tactics it can also cause other problems. Frankly, people can get in front of you and actually slow you down. Get a group of small players who want to be jerks and you can make it very hard for someone to move by surrounding them. This is why most games recently have avoided collision detection between players all together.

Combination
Warhammer is going with a neat trick of using the Stone method of collision detection between players on opposing factions and the Water method for those on the same side. This way the PvP exploits are fixed without introducing any greifing possibilities. Now there are still problems like enemies blocking doorways but this becomes more of a tactical issue then a design flaw. Most likely we'll see games go for this type of collision system in the future which will put quite a strain on older games. Modifying collision detection isn't a simple task and it will be hard to implement in games where opposing factions often use the same cities/towns.

3 comments:

Anonymous said...

www.gmlvl.com provides professional leveling and cheap WOW gold.
1.There are some special orders at Gmlvl.com, with a low price(20%-50% discount) and a rich package.
2.12 hours' free leveling is offered for any custom order.
3.For WOW gold, we guarantee fast & complete delivery of your Gold. There will be 50-100 gold bonus waiting for your new order!!!
enjoy in www.gmlvl.com

Anonymous said...

www.gmlvl.com provides professional leveling and cheap WOW gold.
1.There are some special orders at Gmlvl.com, with a low price(20%-50% discount) and a rich package.
2.12 hours' free leveling is offered for any custom order.
3.For WOW gold, we guarantee fast & complete delivery of your Gold. There will be 50-100 gold bonus waiting for your new order!!!
enjoy in www.gmlvl.com

Zexion said...

"Warhammer is going with a neat trick of using the Stone method of collision detection between players on opposing factions and the Water method for those on the same side. This way the PvP exploits are fixed without introducing any greifing possibilities."

Uhm, sorry to burst everyone's bubble of "ZOMG WARHAMMAH IS THE BEST NEW THING EVER", but this little thing is not unique to warhammer. Guild Wars has had it since launch, over 3 years ago.

_Zexion