From oceans and rivers to ponds and puddles, water is one of those things that really improves an MMO's visual quality. Practically every fantasy MMO makes use of water in one way or another and they all do it a little differently. The simplest technique for drawing rivers and oceans is to draw a frothing water texture that moves over time. This gives the appearance that the water is moving and I've seen the technique in World of Warcraft
, EverQuest 2
and a few other MMOs. More convincing techniques that still run very quickly on low-end computers involve the water's surface being semi-transparent. Runes of Magic
does a particularly good job of convincing water without a significant performance hit. For ponds, a light rippling effect completes the illusion
while oceans typically benefit from a dense wave pattern. Ocean tides and wide waves are sometimes simulated by changing the shape of the water's surface, which can be a very convincing effect. EverQuest 2
is a good example of a game which uses this idea for its oceans.
MMOs designed to run on more recent hardware such as Age of Conan
have almost photo-realistic water effects
. Rather than making the water semi-transparent, they take an approach based on the reflection and refraction we see with water in real life. First the computer draws everything below the water, then it draws everything that would be reflected in it. Various ripple and wave distortions are applied to these images and they're then combined to produce some visually stunning water that makes me thirsty to look at. Lord of the Rings Online
manages similarly impressive water
. As expected, more convincing techniques like this tends to come with a major performance hit.
Trees and foliage:
Have you ever taken a look out over a huge zone in Age of Conan
or Lord of The Rings Online
and wondered how on earth they manage to draw so many trees and plants?
If you had a hundred players in front of you the game would grind to a halt but somehow they manage to draw hundreds of plants, dozens of complex trees and what seems like hundreds or thousands of blades of grass. As you've probably guessed by now, it's all down to yet more little programming tricks. Rather than drawing hundreds of performance-hogging 3D models, plants can be drawn as 2D images on the screen. The game uses the position of the plant in the world to figure out where it should appear on the screen and then draws a little 2D sprite there. Alternatively, simple 2D textured planes can be used. Unlike complex 3D models, your computer can draw up to tens of thousands of these per frame.
Similar techniques are used in practically every MMO. Runes of Magic
, for example, draws plants as three intersecting 2D squares with plant textures on them. From any angle other than from above, the plant looks vaguely 3D. Trees can make use of this too by having a 3D model for the trunk and branches but 2D sprites for large groups of leaves. Without close inspection, it would be hard to spot that the leaves are sprites or large textured two-dimensional planes. From a distance, the tree model can be replaced with a simpler one and the sprites may just be decreased in size and resolution based on distance. As far as you can see, the tree is more or less the same but just further away. But for the computer it's a lot faster to draw a far away tree than one that's up close, allowing a whole forest to be drawn in the distance.
While top-of-the-line computers are very fast these days, a significant percentage of PC online gamers
are still using rigs that are several years old. If a game can't run on the average gaming computer, the number of people who can play the game could be cut in half or worse. Game studios have to squeeze every last drop of performance out of their games to make sure as many people can play as possible and nowhere is this more important than in MMOs. Now that you know what goes on behind the scenes, perhaps you'll start to notice all those little tricks the programmers have used in your favourite MMO.