You are on page 1of 22

This document is confidential and copyrighted 2008 Double Fine Productions.

Brtal Legend Material/Texture Standards




Overview:
This document defines standards for texture and material creation. Our key visual goals
for the textures and materials are:
To provide visual variation while also maximizing texture re-use for memory
reasons.
To ensure that our surfaces look both crisp up close and not overly-tiled from a
distance.
To ensure that placed flavor mesh and props gel with the terrain.
To ensure that our materials work well with real-time lighting and the day/night
cycle.
To re-use textures and materials as much as possible. This not only saves memory,
but production time.
This document is confidential and copyrighted 2008 Double Fine Productions.
Glossary
Flavor Mesh: Flavor Mesh is defined as non-terrain mesh that is intended to seamlessly
blend with the terrain. Flavor Mesh usually is made of materials that use non-unique tiled
textures. Most of the non-terrain mesh in Brtal Legend is flavor mesh.
Prop: In Brtal Legend, a prop is defined as non-terrain mesh that is either dynamic in
some way (it moves or breaks), or it is not intended to visually blend seamlessly with the
terrain. Because props often have a unique diffuse texture (but not always), their UVs
are laid out slightly differently than Flavor Mesh. See the UV Guidelines section of this
document for details.
Foliage: Foliage includes bushes and trees. Foliage is very similar to a Prop or Flavor
Mesh, but its color sets are handled differently. In the case of Foliage, it uses the tint set
to determine how the leaves move, leaving only the blend colorset for material work.
Foliage setup is not covered in this document.
Hero Piece: A Hero Piece is usually a large, landmark Flavor Mesh that requires a little
extra fidelity to look good. Hero Pieces have custom ZBrush-generated normal maps
and a diffuse AO map that is generated from high order Mesh. Hero Pieces always
have custom materials. For more details on Hero Pieces, see the Brtal Legend Hero
Piece document.
Terrain: Terrain makes up the majority of the landscape in Brtal Legend. Terrain is a
heightmap-based system created in a custom tool called the MUE. Although this
document will cover texture and material standards for the terrain, it does not go into
detail about how to author terrain or the MUE itself.
Layers: All non-terrain mesh supports two layers of texture blending. Both layers are
defined using vertex colors located in the blend colorset in Maya. Layer 1 always uses
Cyan (red) and Layer 2 always uses Pink (green). These colors can be subtractively
mixed to enable both layers to show up on the same vertices.
Tinting: Non-terrain and non-foliage mesh supports color tinting through the use of a
tint colorset in Maya. Tinting can be combined with the Layer blending.
DO: Short for Directional Occlusion. Directional Occlusion is a form of ambient occlusion
that takes into consideration the sun direction. Directional Occlusion is baked on all of
the vertices of our Maya models (Props, Flavor Mesh, Foliage, Hero Pieces, and
Characters). DO is stored in its own colorset in Maya.
Terrain DO: Terrain Directional Occlusion is computed at munge time for an individual
terrain tile. Since terrain does not self-shadow, terrain DO is key to the shapes holding up
and looking believable in the changing time of day lighting. Placed flavor mesh can
This document is confidential and copyrighted 2008 Double Fine Productions.
influence terrain D.O. by enabling properties on the set dressing in the MUE. This feature
really helps tie the set dressing in with the terrain and should be enabled on all non-
moving flavor mesh that is roughly human sized or bigger.
Macro Texture: The Macro Texture is a new feature for Terrain. Its basically a grayscale
map (512x512) that is multiplied 2x (meaning that 127, 127, 127 gray is no change) over
the entire tile. This texture gives an additional level of control to break up repetition. It
can be used to emphasize certain mesh areas, or just to create some soft noise. Its best
used when its derived off a cavity map (this can be generated in ZBrush by importing
the Terrain mesh), and then hand-tweaked by the material artists.
Damage Texture: The Damage Texture refers to the texture that characters and vehicles
swap in when they take damage. The system works by using layer 2 of the layers system
(the pink (green) vertex colors) to blend in where this texture goes. This means that
characters and vehicles only have on available layer to use for non-damaged material
work.
Vertex Alpha: If needed, vertex alpha can be used on the tint color set. This alpha
blend the mesh in-game.


This document is confidential and copyrighted 2008 Double Fine Productions.
Brtal Material Artist/World Builder Workflow Summary
This section summarizes the various workflows between the World Builder and Material
Artist, and indicates who is responsible for what aspect of production.
Props / Flavor Mesh (including Foliage):
1. WB Model
2. WB UV
3. WB Initial LOD Creation
4. WB DO Baking
5. MA Create Unique Base Texture ( if needed, and for props only)
6. MA Adjust UVs as needed ( if needed)
7. MA Material Creation
8. MA Blends/Tint Painting
9. MA regenerate LODs (if needed, to account for any UV changes)
Terrain:
10. WB Sculpt HeightMap
11. WB Rough Paint using existing Terrain Materials
12. WB Create Rough Macro Texture from Cavity Data and Apply
13. MA Create New Rough Terrain Materials
14. WB Replace Old Materials with New Rough Terrain Materials
15. WB Refine Terrain Painting
16. MA Tune and Polish Terrain Materials
17. MA Tune and Polish Macro Texture
Hero Pieces:
1. WB Low Poly Model
2. WB UV
3. WB ZBrush Model
4. WB Normal & Diffuse AO Map Generation
5. WB initial LOD Creation
6. WB DO Baking
7. MA Material Creation
8. MA Blends/Tint Painting
9. MA regenerate LODs (to account for any UV changes)
This document is confidential and copyrighted 2008 Double Fine Productions.
Brtal Standard Texture Sizes
The following is a list of our average texture sizes. There is some variation in these
standards, but the majority of our textures should fall into these categories..
Props/Flavor Mesh:
Diffuse: 512x512 or 256x256 (including layer textures)
Normal:512x512
Detail Normal: 256x256
Detail: 256x256 or 128x128
Gloss: 256x256 or 128x128
Terrain:
Diffuse: 512x512 (on rare occasions a 1024x1024 is possible)
Normal:512x512 (on rare occasions a 1024x1024 is possible)
Detail: 256x256
Gloss: 256x256
Macro: 512x512(monochrome)
Note that terrain textures are packed at munge time for memory savings: a utility
texture is created that is based on the size of the normal map (detail and gloss
textures are scaled up if needed, so the sizes dont have to match), and looks
like the following:
o R channel: Normal Map R
o G channel: Normal Map G
o B Channel: Detail texture
o A Channel: Gloss texture
Characters (average):
Diffuse: 1024x1024 (hero), or 512x512 (soldier)
Normal: 1024x1024 (hero), or 512x512 (soldier)
Detail Normal: 256x256
Gloss: 512x512 (not tiled) or 256x256 (tiled)
Detail: 256x256
Optional Translucence texture: 512x512 (hero) or 256x256 (soldier)
Layer Textures : 256x256 (there can be many of these per character, depending
on the number of surface types a character has, but these are usually shared
between characters)
Note that the above numbers do not account for accessories or texture required for
variation across large groups. Those will add additional textures.
This document is confidential and copyrighted 2008 Double Fine Productions.
Brtal Texture Naming Conventions
Environments:
[ObjectName]_[SurfaceType]_[Descriptor]_[Increment(##)]_[MungeType]

Characters:
[CharacterName]_[Descriptor]_[Increment(##)]_[MungeType]

ObjectName is optional, and only used if a texture is intended to be unique.

Surfacetype should be one of the following categories:
o Bone
o Chrome
o Dirt
o Fur
o Grass
o Ice
o Light
o Marble
o Metal
o Misc
o Rock
o Stone
o Tire
o Vinyl
o Wood

Descriptor can be anything that helps define the context of the texture a bit
more. Please keep this area brief so as not to exceed our maximum file name
length (38 characters).

Increment is a two digit number when there are multiple variations of a similar
texture. Note that the first version does not need a number (there is no _00
version) start the increments at _01.

This document is confidential and copyrighted 2008 Double Fine Productions.

MungeType is a short text description of the type of texture that it is. This is used
for platform-specific compression. Note that the diffuse texture does not have a
munge type. The following is a list of valid MungeTypes:
o Gloss maps: _Gloss
o Detail maps: _Detail
o Normal maps: _Norm
o Incandescence: _Inc
o Transparency: _Trans (Note this has been phased out, as this is packed into
Diffuse alpha now)
o Translucence: _Trans
o Directional Occlusion: _Dir
o Terrain Blend: _Blend
o Environment Maps: _Env
There are some other naming conventions that aren't munge flags, but are still
important to maintain.
Diffuse textures with embedded alpha: _Decal
Standard utility textures: _Utility
Hair utility textures: _UtilityHair
Fur utility textures: _UtilityFur
Hair ramp textures: _SpecularColorRamp, _EdgeAlphaRamp,
_DiffuseColorRamp
Example Environment Texture Names:
Stone_OldYellow_01_Norm
Chrome_Eroded_Gloss
GuardTower_Metal_Blue
Example Character Texture Names:
A01_Avatar_Skin_Norm
A21_Lars_Pants_Gloss
D01_Avatar_Horn_01_Detail


This document is confidential and copyrighted 2008 Double Fine Productions.
Brtal Texture Directory Structure
Environment:
Environments/Textures (This is where all of the environment textures for the whole game
go)
(DO NOT PUT ANY TEXTURES IN THE ROOT OF THIS FOLDER)
/AmbientMesh (All of our ambient mesh textures belong in here (grass,
rocks, etc)
/Foliage (All Foliage textures belong here (trees, bushes, etc)
/General (This is the default folder for most textures if they dont fit
elsewhere)
/Hero (This folder is for all of the hero piece textures)
/Props (Unique Prop specific textures go here although many Props will
also pull some of their textures from the General folder)
/Special (This folder is resolved for textures with special shaders like water
or lava)
/Test (This folder is for all of our gray and tile test textures)
/Temp_Single (This is a temporary folder that will eventually go away.
Do not put anything in here. It currently holds textures that
are only used once in the entire game (this will probably
be consolidated))
Character:
Shared character textures:
Characters/Textures (These are typically detail, tile, or damage textures that many
character can reuse)
Unique character textures:
Characters/Biped (Character Type)/Avatar_A01(Character Name)/Textures
(These are where the texture that are unique to the character go. These are typically at least a
diffuse, normal, and gloss texture set)

This document is confidential and copyrighted 2008 Double Fine Productions.

Brtal Photoshop Notes
All of our textures should be stored as layered Photoshop files. This section briefly details
conventions for .psd files and the scripts that we use to generate our textures. Note that
there are many more scripts than this section covers just the standards specific ones
are touched on here.
The scripts are available under the File=>Scripts menu.
Alpha sets: You have an option of creating a layer set in your .psd file named Alpha
which will tell the scripts what to use as the alpha channel for the final texture.
Otherwise, the scripts will use whatever alpha is in the first alpha slot, and the scripts will
make you remove all other alphas. So, if you want to have multiple alphas in your
document9to use as selection sets create an alpha layer set.
How to do 1 bit vs. full alpha: There is no setting that is needed to differentiate between
1bit and 8bit (full) alpha. Just paint in 1 bit mode, and the texture munger will detect
this when creating the platform specific munged version and it will show up correctly.
Background layer convention: In order for the Photoshop scripts to work properly, this
must be a background layer in your Photoshop file. If youve deleted your background
layer, you can recreate it by selecting the new layer you want to be the background
and selecting the Layer=>New=>Background from Layer menu item.
Df Save: Df Save is the most commonly used Photoshop script. It will check out the
intermediate data version of the texture (if necessary), select the appropriate
compression settings for that type of texture, and save out the file. This script relies on
the mungetype part of the texture naming convention to know how to compress the
texture, so its important that the mungetype is used.
This document is confidential and copyrighted 2008 Double Fine Productions.

Brtal Texture Creation Guidelines
Keep textures crisp in Photoshop. As obvious as this seems, people sometimes
blur or soften things, but the next- gen hardware already does that aggressively.
In fact, sometimes it can look better to use an unsharp mask filter or two on the
final texture. Note that even though its good to have crisp textures in Photoshop,
we want to avoid any jaggies or posterization because that will not look good
regardless of texture filtering.
Split frequencies of noise into different textures whenever possible. Instead of
making a big concrete texture with a soft rippling pattern and a tight noisy
pattern, split them into two textures. That way they can be tiled at different rates
in-game, re-used more often across multiple materials, and blended together
with layers in a more natural way.
Some fake occlusion in the diffuse texture can really help. But putting a little
fake ambient occlusion in the diffuse maps, this can help hold the normal map
detail. This doesnt work as well on textures that are tiled a lot, but is especially
useful in the cases where a specific diffuse texture is paired with a specific
normal map. Fake Occlusion can be generated in many ways one of the
easiest is to load the normal map into Crazy Bump, extract the occlusion and/or
displacement textures, and then put them on a multiply layer above the base
diffuse map, adjusting the opacity as necessary.
Work at double resolution. In the near feature, we will be able to use munge files
to reduce the size of textures in-game without having to manually size the
textures in Photoshop.
Save memory by reusing textures as much as possible. Gloss textures, for
example, dont have to be unique most of time. As long as there is specular
change across a surface that is usually adequate. Before creating a new, unique
normal or diffuse map, try and see if an existing one will do the job. Although
sometimes matching a specific diffuse, normal, and gloss map is needed for a
surface, many other times that is not the case.
Reduce the size of secondary textures as much as possible. Reduce textures
such as gloss and detail textures whenever possible because they dont need to
be a full resolution (keeping in mind how textures are packed/combined at
munge time in the case of terrain).
Dont over-saturate diffuse textures. In most cases, this fights with the lighting, and
since we have a dramatic dynamic lighting scheme, its best to let the lighting
push the saturation.
Watch the value of diffuse textures. Putting pure white in your textures will cause
them to bloom at all times in our game, and pure black will never be affected by
lighting in any meaningful way. Although textures should be crisp and have nice
This document is confidential and copyrighted 2008 Double Fine Productions.
contrast, be sure that there is a nice range of values in the textures to ensure the
best light response.
Even distribution of detail for Terrain textures. Textures used on the Terrain should
have a very even distribution of detail, to minimize tiling. Variation in texture
detail will be achieved through mixing multiple terrain materials, not by making a
single diffuse texture have a lot of variation
A good example of terrain textures with even distribution of detail to minimize tiling
This document is confidential and copyrighted 2008 Double Fine Productions.

Brtal Material Naming Conventions
Environment: All Environment Materials should be named in the following format:
[ObjectName]_[SurfaceType]_[Descriptor]_[Increment(##)]
ObjectName is optional, and only used if a material is intended to be unique.
Surfacetype should be one of the following categories:
o Bone
o Chrome
o Dirt
o Fur
o Grass
o Ice
o Light
o Marble
o Metal
o Misc
o Rock
o Stone
o Tire
o Vinyl
o Wood

Descriptor can be anything that helps define the context of the material a bit
more. Please keep this area brief so as not to exceed our maximum file name
length (38 characters).
Increment is a two digit number when there are multiple variations of a similar
material. Note that the first version does not need a number (there is no _00
version) start the increments at _01.
Character: All Character Materials should be named in the following format:
[CharacterName]_[Descriptor]_[Increment(##)]
Example Environment Material Names:
Stone_OldYellow_01
Chrome_Eroded
GuardTower_Metal_Blue
This document is confidential and copyrighted 2008 Double Fine Productions.
Brtal Material Directory Structure
Environments:
Environments/Materials (This is where all of the non-terrain environment materials go for all
Islands)
(DO NOT PUT ANY MATERIALS IN THE ROOT OF THIS FOLDER)
/AmbientMesh (All of our ambient mesh materials belong in here (grass,
rocks, etc)
/Foliage (AllFfoliage materials belong here (trees, bushes, etc)
/General (This is the default folder for most materials if they dont fit
elsewhere)
/Hero (This folder is for all of the Hero Piece materials)
/Props (Unique Prop specific materials go here although many Props
will also pull some of their materials from the General folder)
/Special (This folder is resolved for materials with special shaders like
water or lava)
/Test (This folder is for all of our gray and ready for texturing style
materials)
/Temp_Single (This is a temporary folder that will eventually go away.
Do not put anything in here. It currently holds materials
that are only used once in the entire game (this will
probably be consolidated))

Environments/TerrainMaterials (This is where all of the Terrain environment materials go for all
Islands)
(DO NOT PUT ANY MATERIALS IN THE ROOT OF THIS FOLDER)
/General (Currently this is where all of Terrain materials belong)

Characters:
Characters/Biped(Character Type)/A01_Avatar(Character Name)/Materials
(This is where all of the materials for a particular character would go, since they are all unique to that
character)
This document is confidential and copyrighted 2008 Double Fine Productions.
Brtal Prop/Flavor Mesh Material Guidelines
Always make normal maps strong in texture. Although it is possible to make a
normal too strong by using the overlay mode in Photoshop abusively, normal
maps should generally be made strong in the texture. They can be softened in
the material with the normal scale attribute, which is much more flexible than
softening the texture itself. Generally speaking, a subtle normal map isnt
noticeable with our lighting, so its not worth even doing (with few exceptions like
characters faces).
Always try to breakup repetition and add interest first by using layers and vertex
color blends before adding new, unique textures or doing elaborate UV work. If
you can make it work by using the material, it is much faster and usually better
on memory.
A good material will have both high and low frequency texture detail. This allows
the material to read from multiple distances. The base textures will often be the
mid/low frequency, with the layers bringing in the higher frequency tile rates.
Also keep in mind that detail normal maps, layer diffuse maps, and gloss maps
can all be tiled at higher rates to increase pixel density, too. The exact solution
will depend on the material involved. The important part is just to have a mix.

This rock material has good high and low frequency detail

This document is confidential and copyrighted 2008 Double Fine Productions.

Layers are key. Always use Layers. Were paying for them at all times anyways,
and the correct use of Layers is what enables a material to look next-gen.
Dont make the Layers subtle. In most cases, if a layers influence on the material
is subtle, it will go largely un-noticed and just make things slightly noisier. Make
Layers less subtle by using stronger Layer blend values, or by ensuring that the
textures the Layers are bringing in are different enough from the base textures
they are blending with. Subtle color changes should be done with tints, instead
of layer textures, as this is much more memory effective.
Make Layers regional. One of the biggest strengths of Layers is to tie the material
to the geometry detail without requiring a custom texture to be created. Paint
layers in areas on the geometry where unique detail would be highlighted if a
custom texture was being created. For example, a layer blend could be run
along all of the outside edges of a metal object to bring in a higher frequency
scratch and ding set of textures.
Multiple Layers should mix. Dont make the Layers only blend on different areas
of the model separately; make sure that they also blend on top of each other.
This will give the appearance of a much more complex and natural surface. To
do this correctly, you have to use some method to multiply the layer 1 and layer
2 colors together. There are multiple ways to do this the simplest is to just paint
with an R 0 G 0 B 1 color. Otherwise, if you paint one layer color on another, you
will just be erasing the original one.
This image shows the layer breakdown of the rock. Note the strength of the layers, the intermixing of the
layers in several spots, and the regional use of layer 2 to create a convincing surface.
This document is confidential and copyrighted 2008 Double Fine Productions.
Use the Layers ability to influence the specular strength. One of the newest
material features is the ability to let the layer texture either increase or decrease
the influence of the gloss map across the surface. This is a really powerful feature
that lets you create the illusion of more complex specular interactions with the
layers. For example, a dirty layer 1 texture may be combined with a base metal
surface, which has a high gloss setting. Without adjusting the dirt layer 1 specular
intensity, the dirt will look shiny, like the metal and not be convincing.
This mine cart material uses the layers ability to influence the specularity of the surface to create the
illusion of a unique gloss map.

Specularity. As mentioned in texture guidelines, unique specular detail is often
not necessary. What people perceive is usually just change across a surface.
Instead of making a big gloss texture, you can also use a small tiled gloss texture,
and then use the layer system to change it in those areas, saving a lot of
memory and time.
Standardized Layer blend colors. On anything new you create, use the red
channel (cyan) for layer 1 blends and the green channel (pink) for layer 2
blends. The alpha and blue channels are no longer supported for layer blends.
At times, you may have to divide an object up into multiple materials, and share
some common texture between the materials across the transition edge. This will
give the illusion that you have many more blends and normal maps to work with.
An example might be moss-covered rock sitting in snow. The rock would be
divided half way up into two materials. Both materials would contain the same
diffuse, gloss, and normal map, but each one would have separate detail
This document is confidential and copyrighted 2008 Double Fine Productions.
normal maps and layer textures so that a moss diffuse and detail normal could
be integrated as well as a snow detail normal map and diffuse.
Vertex color tinting. We now have the ability to tint models using vertex colors
without interfering with the layer blend colors. This can be used to add interest to
the model and break up repetition. There is also some potential benefit in using
vertex colors to help ground an object to the terrain by slightly darkening the
parts of the model near the ground, and slightly brightening the parts of the
model facing the sky.
This image shows the tint colors for the rock. Subtle color modulation has been used to create variation.

This document is confidential and copyrighted 2008 Double Fine Productions.

Vertex tint has been used on these otherwise identical rocks to achieve some quick visual variation.

This document is confidential and copyrighted 2008 Double Fine Productions.
Brtal UV / Pixel Density Guidelines

Initial UVs should be created by World Builders while modeling. It is the World
Builders responsibility to deliver a clean model with good UVs that follow the
guidelines described here. Material Artists can modify these UVs as needed
when working on the materials, but should have a clean base from which to start
their work.
No stretching allowed. Although small amounts of distortion are acceptable
when laying out an unfolded set of UVs, it is not ok to have obviously stretched
UVs. Once normal maps are applied to these objects, any stretching will
become painfully obvious.
Place your seams wisely. Plan your UV seam so that they are not in an obvious
place on the model. Also, look at the model and think about how someone
might want to texture it. If there is a column shape, for example, it should be
cylindrically unwrapped so that textures will flow naturally across its surface.
Auto-mapping a cylindrical shape will wind up with a bunch of separate UV
shells that will have to be cleaned up.
Clean up your auto-mapping! UVs should not have seams everywhere. UV shells
should be attached and kept clean. Although we should minimize seams, do not
introduce a lot of distortion into the UVs to do so, instead try and introduce a
seam break in a non obvious place on the model.
A second UV set only needs to be created if it is needed as part of the material
work. This is generally an unwrapped set (but not always). This will be the
responsibility of the material artists.
This document is confidential and copyrighted 2008 Double Fine Productions.
This image shows our example rock before and after it has been cleaned up to be consistent with
our UV standards. The number of UV shells has been reduced, and the seams hidden in valleys in
the model, the UVs have less stretching, and the pixel density is more consistent.
This document is confidential and copyrighted 2008 Double Fine Productions.

Base Pixel Density :
o Flavor Mesh
A base diffuse of 512x512 should tile once every 6 meters.
o Props
Props will typically have their UVs laid out to fit within the 0 to 1
range. This will result in a lower pixel density than the flavor mesh or
terrain, but the visual disconnect can be made up for by the
careful use of blends and tiling detail, spec, and layer textures at a
higher rate.
o Hero Pieces
For the purposes of pixel density and UVs, hero pieces have their
own standards. Details can be found in the Brtal Legend Hero
Piece document.
o Terrain
The Standard terrain material, using 512x512 textures, should be set
to a tiling rate of 12 in the MUE. Depending on the material, this
number may need to change. Generally, if the player is only seeing
the terrain material in the distance, its acceptable to tile it
differently.

This document is confidential and copyrighted 2008 Double Fine Productions.
BRTAL Terrain Material Guidelines

Tiling Rate: Our base tile rate for terrain materials should be set to 12 in the MUE to
maintain a consistent pixel density. This will cause some obvious repeat in many
materials, which is why really good terrain painting that breaks up patterning
needs to be employed (see terrain painting guidelines later). Terrain materials in
the distance can be tiled less to avoid repetition.
Represent all Frequencies of Detail
o Tile Main Diffuse tightly enough to not look pixilated up close even if it
introduces some repletion in mid/background
o Main Diffuse can have a subtle amount of fake AO baked in it to help
hold normal map detail. This is often especially important for terrain
materials because normal maps can be quite subtle.
o Try to keep terrain normal maps mid to low frequency. High frequency
detail will just look pixilated in most cases.
o Use Detail textures with enough contrast tiled tighter for very close pixel
density. Remember that mid gray in a detail texture is nothing, white
brightens the diffuse, and black darkens it.
o Use Gloss maps for additional layers of good detail. There is no need to
make unique gloss maps most of the time use the libraries of shared
noisy gloss maps instead.
o Dont forget to manipulate the specular roughness, which can vary per
terrain material for additional visual interest.