So I’ve been doing texture work for games for quite some time now and this weekend (after over a year of enduring) Reforged finally bugged me enough to download Reteras Model Studio (props!) and have a direct and uncensored look at the root of all that evil that made competitive multiplayer so hard to watch and play - or is it?
Yes - no - its complicated.
First up, after digging through some model files (mostly nightelf units, in particular the huntress), the texture / shader setup and fighting with the editor (ive never worked on wc3) for some time I just can underline what I have been suspecting for a while now:
Essentially the craftmanship on those models is generally really good - those models should be made by lemon sky studios, so props to them. but some models have serious issues and look unfinished or totally uninspired. the frostwyrm texture is truly awful (pre production?). it consists of 3 colors. grey, red, white. how does that fit on a frost dragon? it also makes the frostwyrm blend with various ground textures, if the team colored wings dont cut it. you find alot of spots on units that could be “more”.
A consistent theme throughout Reforged models is lack of a color concept, color matching, very unoptimized shader setup for outcome (if you consider how capable the lighting and shader system in Reforged ACTUALLY is) and sometimes bad texture contrast.
Now what do i mean with color concept and color matching? Basically I’m refering to connecting units from a race via a color theme.
All races use metal weapons and armor but for Reforged no one actually planned what goes where.
Now the huntress only has a shiny glaive but her (and the cats) armor looks like bog standard hardened steel - something that you would connect with humans instead. theres more potential, also lore wise. why would nightelves use human/dwarf quality steel?
So my underlying understanding of a color concept would be the following:
nightelf: metal is very shiny, bright, blueish tint. otherwise violet skin tones, red/brown/violet armor, leaf colors, feathers (but not tauren feather colors). if gold gets applied, its a very soft, yellow gold tone.
human: standard steel color, blue, red, bold gold, white/black colors. dwarf and gnomes get bronze colors.
orc: blued steel weapons and armor, obvious skin color, no gold. otherwise yellow, ochre, wood brown, sand colors.
undead: very rough metal, blind, scratched, rusted even maybe. gold metal color scheme is very ochre and blind, otherwise white/blue colors for “frost” creatures, fel colors (green/yellow) and “unhealthy” skin colors in green/blue/yellow shades.
This also includes bringing some recolored units back to their original color, like ghouls, aboms, wyrms you name it.
This way all the units are already color coded by race helping clarity, giving specific contrasts to all units. color palettes are also chosen in such a way they dont blend into background textures, which also is a HUGE problem for reforged, because some unit textures just lack color and contrast pop and some background textures are mindboggingly saturated and contrasty. In a next step background textures should be “de-popped”, so units are the main eye candy, not that toxic green grass.
Now lets get technical.
The texture work for the Reforged unit models is based on three to four textures per UV map - or lets say “model” to keep it easy.
The classic models should only have one (maybe two?) texture map(s), which contains all the information, but it also carries alot less information overall, because the shader and lighting setup in classic is worlds more simple and also the textures are very low res.
Unit models (those that i have looked at, especially huntress) consist of following texture maps:
diffuse map with alpha channel for transparency (basic color information, no lighting).
derivative normal map without alpha channel (a fancy bumpmap containing 3D information in 2D, but without the blue channel of usual tangent normal maps. helps to retain highpoly model details without actually using polygons).
ORM map with alpha channel - now this one is interesting. its a texture map that stores FOUR different informations in one file. basically its a texture container with 4 greyscale maps.
O stands for occlusion map and is stored in the red channel - its the shadow detail for the diffuse map. its basically rendered shadow information from the highpoly model that used to be in the diffuse map but now is in a different file, so the diffuse map is strictly color only. increasing contrast on that channel increases shadow contrast on the model.
R stands for roughness - its stored in the green channel. it controls the specularity from matte to glossy. black is glossy (zero roughness) and white is matte (maximum roughness).
M stands for metalness - its stored in the blue channel. it controls how much “metal” a material is. black is not metal, white is extremely metal. this influences how the material reflects light and colors.
im not entirely sure what it exactly does because i lack the tools to really examine it but a rule of thumb: 0% roughness and 0% metalness gives you a very very polished glass ball while 0% roughness and 100% metalness gives you basically fluid mercury and 100% roughness and 0% metal is matte paper.
then theres the ORM maps alpha channel that contains the the information for team color patches. its the alpha, so white = true. interestingly the team color patch can be blended with the diffuse map via varying alpha channel strength.
last but not least theres the emissive map, thats basically controlling the self illumination in a standard RGB map. whatever you draw in there will be as bright as you color it in that texture. glowing green eyes in the dark -> paint green eyes on that map to make them ignore ambient light and glow with their specified color value.
there is another texture called “environmental map” which basically is “the” reflection used for various models. whenever something is a reflecting material, it should be reflecting that texture. its a sunrise over green meadows. fun fact.
“Okay okay, so I just learned 3 Semesters of Game Graphics, whats the point?”
People often bring up how Reforged is such a distinct switch in graphics style compared to classic and they wish Reforged would essentially look like Classic - looking at how the texture files are made specifically for that 3D rendering engine using numerous pretty up to date shader map methods, makes it extremly hard to convert the textures into classic handpainted “diffuse lit” textures. you basically start at 0, but you dont have the source files to do it, so you start at -50 instead. unless you’re a game studio sporting a good number of texture artists that can redo basically all the texture work, Reforged is like it is.
But theres another way - why fight the updated Graphics Engine of Reforged? What you see (or not see) with Reforged Graphics is only pulling about 40% potential of what actually is possible.
I started screwing around with the Huntress to get into the retexture workflow and model reimport for reforged. Thanks again to Retera for the tools and tutorials.
I tried diffuse lit textures first and they look good, but working on the base of the already existing textures i’d need days to finish one model - and its a complete switch of style, you’d have to redo the whole game.
Then I tried another workflow which worked really well for the Huntress:
Recolor the diffuse texture via Curves and other quickly maskable adjustment layers so that we are within the color scheme proclaimed above (blueish bright, reflective metal, skin colors etc), add more contrast.
Use the ORM map to create more team color patches, to increase specularity and brightness for nightelf metal armor and get more depth into the texture by increasing contrast for the occlusion channel.
I made some minor adjustments on various texture maps to nudge the huntress into what I believe is the proper way to realistically partly unsucc the Reforged graphics without overcommiting on time for doing so. After the multiplayer unit models the terrain textures could be adjusted in the same way (pulling some sliders) and the last department would be some particle effects and unit scalings (and amputation of 2 fiend legs).
Reforged shipped somewhere between classic style and “next gen” style, which means it doesnt look like classic, and it doesnt look overly convincing in any other area either.
I might as well pull everything out of the 3D engine to make it do what we need while also looking quite spectacular, in fact.
Now finally some screenshots from the WC3 Editor, as i currently dont own Reforged (refunded it due to frustration, which also brought me here). Its the original Huntress next to the reworked one.
Thats an overview:
https://i.imgur.com/pfAQ3p2.jpg
thats basically “in game” distance:
https://i.imgur.com/7owabZT.jpg
and thats a close up:
https://i.imgur.com/Wk9iWQI.jpg
Learning the workflow and reworking the huntress took me two days, part time. if you know the workflow, one unit can be done in a day, which would make “unsuccing” Reforged totally doable for a single person within months as a hobby. we’re just rebalancing colors, contrast and shaders. we’re not actually doing any texturing work.
If the team color patches turn out to be an issue when receiving very little light, its should also be possible to slap a slight self-illumination on these.
its a case study and its doable by a single person part time. theoretically, with w3champions in place, we could get those models into the game. maybe the new team working on reforged is open for such things aswell - i mean, it could be a “free” improvement of the game.
just wanted to share that. i might do a few other units for fun. if nothing else, this is just to show what reforged “could” have been with just a tiny bit more time and effort put into it instead of that undercooked abomination we got.
PS: i could not get any normal maps re-imported into wc3. i tried the intel DDS and nvidia DDS photoshop plugins for CS6 and neither put out normal maps that worked in the editor. a tip for the correct exporter or settings are much appreciated!