World of Warcraft Technology

Miscellaneous Forums/General Discussion/World of Warcraft Technology

I think it's an impressive game and if you want you learn from the best.. I have to give this a shot, perhaps someone knows something.

Anyone who knows anything or have any links to how WoW works - Technology wise? How do they deal with prediction and such? Packets/sec? Do they use TCP as rumored? What is there max poly count for players, what technique do they use to make the low poly stuff feel so professional? They use DivX for their movies and BitTorrent for the client downloads, do they use any other 3rd party tools? How big are their programming/arts team? The loading of the terrain is dynamic, how do they do that? Do you think they would answer this via mail? Are information like this trade secrets? And much more, anything you can think of..

Please share any information you might have on the WoW-Technology :)

They use FMOD for audio and the 3D renderer is written in OpenGL (though it may be possible that they use DirectX under Windows. Under MacOS it's OpenGL).

Cool! FMOD as in Blitzmax? And I'm pretty sure WoW uses DirectX under windows, in the beta there where an option to use OpenGL instead. Actaully forgot WoW where crossplatform.

FMOD as in Blitzmax


FMOD as in Blitz3D and Blitzplus -- Blitzmax does NOT have FMOD included, although there is a 3rd party mod for it on one of these forums.

FMOD's licensing terms can be pretty expensive...

Here some info on the file format of the maps:

http://wowmapview.sourceforge.net/wiki/index.php/Main_Page

You can find out if theyre using TCP or UDP by sniffing while playing WoW.
Predictions of bandwidth usage are easy, i dont see what your question is.
Maybe you can get some extracted wow 3d models and see what their poly count is, but you can also estimate by looking, imo.
They use good texturing to make it look professional, it seems. Its not very low poly either.
The terrains and any other data can be loaded during gameplay using threading and similar techinques you can code yourself. The terrains like in any other such game are separated into many smaller ones and when you move close, they load, whats the mistery.
They would never give you such an answer via mail, they hardly ever respond 'in person'. Usually like most huge companies, they send impersonal FAQs and such.
No they are not trade secrets, however some styles of coding could be, i dont know.

Blizzard's trade secrets aren't going to center around thier code. Programing wise they aren't big innovators. It is how they utilize it. The art, the pacing... But these things aren't really trade secrets either.. I doubt they really have anything that can be called a trade secret. They just work really hard.

As for their models, they work on them... there isn't exactly a trick to makeing a low poly model look good, the same rules that make any art look good apply. Odds are, if you can;t make a low poly model that looks good, your high poly ones don't look much better... Most people try to shoot for realism, they don't. Thats really the trick... they do what can be done with today's tech.

You can use UltimatUnwrap3D. This tool is able to load WoW 3D modells and convert them to some other format...

anyone read dice's recommended internet connection speeds for battlefield 2? And this is CLIENT side... 5 mbit.

Knotz, nice find.

Kanati, yes I've seen that. That's quite strange as it's quite much even for 64 players. And Bf2 use a hell lot of ports. Makes me think they are using some peer to peer system.

Lenn, what if they use neither? What if they have built/modified their own TCP/UDP protocol?

I'll have to checkout UltimatUnwrap3D.

And bandwidth could be different when fighting/instance/raid/walking even the way to send data may be changed when it comes to big numbers.

How they send packages is interesting, because it seems they send a package every time you press a key or do an emote, which would allow for flooding. I have manage to be disconnected by pressing a lot of keys when the graphics is working. Also it seems that the server needs to respond before the action you issued takes place. Also I have a feeling that the updates of other players is packed in these response-updates, because if you watch someone on the map, you can make them "update" each time you move while they update much less when you don't. I've also heard they use different servers for different stuff, such as AuctionHouse, Instances and Chat.

Where should I look if I want to "sniff" packets from WoW?

Most people try to shoot for realism, they don't. Thats really the trick...
I agree. Still WoW characters do look more real than those in many other games. Thinking especially about GTA.