World of Warcraft Design

Everybody knows number of polygons and a shader language version support isn't the key to the beauty of what you see on the screen. But the desired effect is harder to achieve than you think. Blizzard - a company with a very strong art department can be used as an example in this case. Their behemoth of a title, World of Warcraft, is far from being technologically advanced in terms of graphics engine capabilities. Although, it is being constantly updated and new features are being added continuously it still lags behind titles such as Far Cry 2, GTA 4, Bioshock, Call of Duty 4 and Crysis. Nevertheless, turn up your graphics settings to the max and run around the vast world that is Azeroth. You will be surprised. Every level is designed to the tiniest detail, every doodad and every object is placed carefully to create harmony in the scene that opens up before the player's eyes. The cartoony style of the game helps to hide some of the engine's drawbacks and allows Blizzard to cope without some of the more complicated features: they are simply not needed.

This is an example of clever graphics design. Designers decide on the look and feel on the title. This is discussed with the computer graphics software engineers who then design the engine to be able to cope with the requirements. That's if you don't want to follow in the footsteps of Epic or Crytek who outsource their engines to other studios, so they try to make them as robust and complete as possible. But then because of that their engines are bound to become more bloated and harder to maintain. There are some rumours (in Russian) of Unreal Engine being badly written, some parts of the code being simple cut+paste monolithic blocks, others lacking consistency in structure. I personally don't blame Epic for getting some parts of such a huge application out of hand. But these problems can arise on a much smaller scale. And the only way to stop these making life difficult for you is to review your main requirements. At every step, at every class and function you implement. Otherwise, you will be surprised what monstrocity you are capable of creating. :)

AttachmentSize
WoWScrnShot_051809_222251.jpg216.82 KB
WoWScrnShot_060109_105324.jpg286.85 KB