How did WoW do it?
Hi,
Can anyone tell me how WoW (actually most MMORPG) styled character modelling + equipment works?
Like as in when you change a piece of equipment, the change gets reflected on the avatar and the equipment will show on the model itself.
From what I see, it really looks complicated to me. First, all the characters are of different shape and sizes. But the same clothes will size accrodingly to fit. Then there is movement which is also different for every-race, every-class, every-spell.
So what do they actually do to make it efficient? Do they model every combination? Do they model equipment and character separately then transform to fit? Do they rig the clothes and amour for every class, race and spell?
Thanks in advance.
==============================================Rage - Really Amateurish Graphics EngineCollada Parser / Serializer
It's probably way easier that you think; textures. Have your chest of leg armors, say, as textures, and just apply the correct texture to the correct part of the model.
Pay close attention to the model in WoW and you'll see that chest and pants are no more than a very tight skin on top of the model. Add and remove the armor, and you'll see that the only thing changing is the color of the model; there are no additional geometry being added or modified.
That way, you only have to model the characters individually with texture coordinates, and design the armor to fit a generic texture coordinate space instead of fitting each model to each character.
Shoulders and helms, for example, are a little bit different, but still not overly difficult. They are, in fact, real models, but as with the chest and legs, the character model contains "tags" for head and shoulders where the models are supposed to be drawn. That way, the tags can be incorporated in the skeletal animations and the items will follow your movements. The idea is the same as with the textured models; add tags (either in the skeletal information or as texture coordinates), and insert the model where the tag is, or, similarly, the texture where the texture coordinates are.
Pay close attention to the model in WoW and you'll see that chest and pants are no more than a very tight skin on top of the model. Add and remove the armor, and you'll see that the only thing changing is the color of the model; there are no additional geometry being added or modified.
That way, you only have to model the characters individually with texture coordinates, and design the armor to fit a generic texture coordinate space instead of fitting each model to each character.
Shoulders and helms, for example, are a little bit different, but still not overly difficult. They are, in fact, real models, but as with the chest and legs, the character model contains "tags" for head and shoulders where the models are supposed to be drawn. That way, the tags can be incorporated in the skeletal animations and the items will follow your movements. The idea is the same as with the textured models; add tags (either in the skeletal information or as texture coordinates), and insert the model where the tag is, or, similarly, the texture where the texture coordinates are.
While, as Brother Bob explained it isn't terribly difficult, technically, the sheer amount of assets that must be created is staggering. I read somewhere that there is about a 1 to 4 ratio of programmers to artist on a non-mmo game like Gears of War. On a game like WoW, especially now where it is out of main development and into just adding features, the ratio is much higher. They have 10's, if not 100's, of people setting around doing nothing but making textures and meshes all day to create all those combinations.
The amount of art assets needed for anything but the simplest tetris or checkers type game is staggering, really. Although you have to realize with WoW, they've been adding clothes for years, they redid some of the models, they added hairstyles and skins and animations... If you want to try to make something similar, it's slightly more reasonable to aim for where they were at the beginning, not where they are after years of expansions and content releases. Sims2 is another nice example to look at BTW.
Basically these types of games have a skeleton, and all animations are applied to that skeleton. You may see different animations for different classes and spells, but that's just how the base library of animations is divvied out (unless you are talking about the actual spell visuals). Taurens probably have a different leg skeleton, but the torso and arm skeleton is the same for every race, class, and gender, the proportions are just tweaked. Its easier to see in sims2 because the initial release of the game doesn't do anything unusual with models, but the player-made additions show how much you can change the surface layer over that basic structure.
If you can get a skeleton walking around, then put some shoulder pads on it and a sword in its hand and get it all to walk around together, you've accomplished the real basics. (Yes you can attach the shoulder pads and sword right to the bones if you want, they don't have to attach to the surface of the skin in a realistic way, they can intersect the model of the flesh on the bones.) Then from there you can make one male and one female, or you can make skinny vs. muscular males, or a straight posture vs. a hunched posture. You can do the same thing you did with the shoulderpads to get kneepads or horns. Something more complicated like a wing or a tail is going to be its own model with its own skeleton and animations.
Basically these types of games have a skeleton, and all animations are applied to that skeleton. You may see different animations for different classes and spells, but that's just how the base library of animations is divvied out (unless you are talking about the actual spell visuals). Taurens probably have a different leg skeleton, but the torso and arm skeleton is the same for every race, class, and gender, the proportions are just tweaked. Its easier to see in sims2 because the initial release of the game doesn't do anything unusual with models, but the player-made additions show how much you can change the surface layer over that basic structure.
If you can get a skeleton walking around, then put some shoulder pads on it and a sword in its hand and get it all to walk around together, you've accomplished the real basics. (Yes you can attach the shoulder pads and sword right to the bones if you want, they don't have to attach to the surface of the skin in a realistic way, they can intersect the model of the flesh on the bones.) Then from there you can make one male and one female, or you can make skinny vs. muscular males, or a straight posture vs. a hunched posture. You can do the same thing you did with the shoulderpads to get kneepads or horns. Something more complicated like a wing or a tail is going to be its own model with its own skeleton and animations.
I want to help design a "sandpark" MMO. Optional interactive story with quests and deeply characterized NPCs, plus sandbox elements like player-craftable housing and lots of other crafting. If you are starting a design of this type, please PM me. I also love pet-breeding games.
wow.. thanks for all the replies. Makes sense to me now.. Although I still don't really understand how "tagging" works programatically to attach shoulder pads, shields, weapons and helmets.
I'll dig deeper in that. thanks again.
I'll dig deeper in that. thanks again.
==============================================Rage - Really Amateurish Graphics EngineCollada Parser / Serializer
If you've rigged 3d models before, you may be familiar with the "boning" system, or mesh armatures. The tags referred to are often just an additional bone that the weapon/shoulderpad/helmet mesh is assigned to. (Though you can also just set existing bones to be the attach point for armor pieces...especially something like a helmet).
Another technique I've seen done is to model all the extra bits: bulkier armor pads, helmets, capes, chunky boots, etc; and then set a "renderable" flag on the parts that don't comprise the base model. So if you haven't equipped a cape, it doesn't bother to render itself, but when you put one on in the game, it sets that flag to true and uses the specific texture of the item you just put on to render a cape. This is usually more useful with a smaller pool of 3d mesh assets, like if all helmets your character might possibly pick up have the same shape, but different textures.
Another technique I've seen done is to model all the extra bits: bulkier armor pads, helmets, capes, chunky boots, etc; and then set a "renderable" flag on the parts that don't comprise the base model. So if you haven't equipped a cape, it doesn't bother to render itself, but when you put one on in the game, it sets that flag to true and uses the specific texture of the item you just put on to render a cape. This is usually more useful with a smaller pool of 3d mesh assets, like if all helmets your character might possibly pick up have the same shape, but different textures.
Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)
Each race and sex combination has its own unique skeleton and animations. Upper and lower animations can be combined to make new animations - like talking while running. Animations wouldn't be fluid if they couldn't be combined on the fly.
Armour is done with different meshes (unless the armour is skin-tight). These are toggled on or off. For example the legs may have no separate mesh (trousers) or they may have a different mesh that replaces the legs (kilts). There are no leg meshes or textures under kilts, only feet. Armour shares the same skeleton as the character and they're part of the same model file. This makes rendering faster.
Weapons are separate models with many different textures. These are attached to locators (I think that's the term in Maya anyway) that are parented under the joints of skeletons.
Edit: Many games have a 3rd party asset viewer or some kind of editor that can teach you a lot about how the games assets were constructed. I don't have this game so I can't post examples but it should be easy enough.
[Edited by - abstractionline on December 17, 2009 6:38:44 PM]
Armour is done with different meshes (unless the armour is skin-tight). These are toggled on or off. For example the legs may have no separate mesh (trousers) or they may have a different mesh that replaces the legs (kilts). There are no leg meshes or textures under kilts, only feet. Armour shares the same skeleton as the character and they're part of the same model file. This makes rendering faster.
Weapons are separate models with many different textures. These are attached to locators (I think that's the term in Maya anyway) that are parented under the joints of skeletons.
Edit: Many games have a 3rd party asset viewer or some kind of editor that can teach you a lot about how the games assets were constructed. I don't have this game so I can't post examples but it should be easy enough.
[Edited by - abstractionline on December 17, 2009 6:38:44 PM]
Quote: Original post by abstractionline
Many games have a 3rd party asset viewer or some kind of editor that can teach you a lot about how the games assets were constructed.
Thanks for the hint. I manage to find wow model viewer to help me out. on a side note, i'm surprised these 3rd party viewers are actually quite advanced and neat.
==============================================Rage - Really Amateurish Graphics EngineCollada Parser / Serializer
"They have 10's, if not 100's, of people setting around doing nothing but making textures and meshes all day to create all those combinations."
An article on Gamasutra listed; 51 artists, 37 designers, 123 people who work in the cinematics team animating scenes and also do mesh/texture design and a "creative development team" (size not mentioned) who work on shared art assets.
That's easily 200 people. The thing's been running 5 years, and would have taken several years before that to develop so it's reasonable to figure that the artwork for the game has taken more than 1000 person-years.
{Kind of puts into perspective the innocence of all the people who show up on the 'Help Wanted' pages wanting to write a WoW-beating MMO..}
An article on Gamasutra listed; 51 artists, 37 designers, 123 people who work in the cinematics team animating scenes and also do mesh/texture design and a "creative development team" (size not mentioned) who work on shared art assets.
That's easily 200 people. The thing's been running 5 years, and would have taken several years before that to develop so it's reasonable to figure that the artwork for the game has taken more than 1000 person-years.
{Kind of puts into perspective the innocence of all the people who show up on the 'Help Wanted' pages wanting to write a WoW-beating MMO..}
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement