Changes between Version 3 and Version 4 of ArtDesignDocument


Ignore:
Timestamp:
Jan 7, 2009, 2:52:54 AM (15 years ago)
Author:
Jason
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ArtDesignDocument

    v3 v4  
    11'''[ INTRODUCTION]'''
    22
    3 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image001.jpg)]]'''
     3'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image001.jpg''')]]'''
     4
     5'''All work reserved by Wildfire Games'''[[BR]] [[BR]] '''Statement of Confidentiality'''[[BR]] The information contained in this document is proprietary to Wildfire Games. Wildfire Games submits this[[BR]] document to its members with the understanding that you (the reader) are under the strictest confidence and accept that[[BR]] the following information will not be disclosed, duplicated or used, in whole or in part, without the prior written consent of[[BR]] Wildfire Games.
    46
    57'''__[ PURPOSE]__'''
     
    108110The following diagram displays the basic flow of art pipeline as content is created for the game.  It starts up in the top left and is completed at the bottom right.  The remainder of this document will be used to describe these processes in more detail.  This section’s intent however is to provide you with a brief overview.
    109111
     112'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image002.gif''')]]'''
     113
    110114'''1)      Design Document'''
    111115
     
    166170
    167171The civil center is another fine example of a concept created by Michael Hafer.  Now this concept didn’t need to be colored because he so accurately described various features with notes.  This is perfectly acceptable and actually preferred because it is a much quicker process than coloring an entire concept.  Note also his overhead image in the lower right hand corner to help show exactly where the building are positioned about the complex structure.
     172
     173'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image003.jpg''')]]'''
     174
     175'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image004.jpg''')]]'''
    168176
    169177'''[[BR]] '''[[BR]]'''[ Models]'''
     
    284292Proportions in the game, in general, will not be true to the real world.  Humans will take on the proportions of a hero.  Animals will be formed with a slightly exaggerated eye.  Structures in comparison to units will be roughly ¾ the size (though roughly 7/8 scale is given to windows and doors to aid in the transitional illusion of scale)
    285293
    286 Scale is defined as thus:  Height of a Man ≈ 2 meters = 4 generic units in 3ds Max = 1 square tile width in Pyrogenesis
     294Scale is defined as thus:  Height of a Man ≈ 2 meters = 4 generic units in 3ds Max = 1 square tile width in Pyrogenesis.
     295
     296'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image005.gif''')]]'''
    287297
    288298Structure footprint scale (in tiles) is as follows:
    289299
    290 ||'''VILLAGE PHASE STRUCTURES'''[[BR]][[BR]][[BR]] * 5x5 - Civic Centre (Village Centre=>Town        Centre=>City Centre)[[BR]] * 2x2 - House[[BR]] * 3x3 - Farmstead[[BR]] * 3x6 - Field[[BR]] * 3x6 - Corral[[BR]] * 3x3 - Mill[[BR]] * 1x1 - Outpost[[BR]] * 1x4 - Wall Section[[BR]] * 1x1 – Tower[[BR]] * 1x2 - Gate||''' '''[[BR]][[BR]]''' '''[[BR]][[BR]]'''TOWN PHASE STRUCTURES'''[[BR]][[BR]][[BR]] * 4x4 - Dock[[BR]] * 4x4 - Market[[BR]] * 4x4 - Barracks[[BR]] * 3x3 – Temple[[BR]][[BR]]'''CITY PHASE STRUCTURES'''[[BR]][[BR]][[BR]] * 5x5 – Fortress[[BR]]||
     300||'''VILLAGE PHASE STRUCTURES'''[[BR]][[BR]][[BR]] * 5x5 - Civic Centre (Village Centre=>Town        Centre=>City Centre)[[BR]] * 2x2 - House[[BR]] * 3x3 - Farmstead[[BR]] * 3x6 - Field[[BR]] * 3x6 - Corral[[BR]] * 3x3 - Mill[[BR]] * 1x1 - Outpost[[BR]] * 1x4 - Wall Section[[BR]] * 1x1 – Tower[[BR]] * 1x2 - Gate||''' '''[[BR]][[BR]]''' '''[[BR]][[BR]]'''TOWN PHASE STRUCTURES'''[[BR]][[BR]][[BR]] * 4x4 - Dock[[BR]] * 4x4 - Market[[BR]] * 4x4 - Barracks[[BR]] * 3x3 – Temple[[BR]][[BR]]'''CITY PHASE STRUCTURES'''[[BR]][[BR]][[BR]] * 5x5 – Fortress||
    291301
    292302'''__[[BR]] [ Polygon Count Limits]__''''''____''''''''
     
    322332What propping does is allows us to transform this:
    323333
    324 ||||VS.||||
     334||[[Image(http://www.wildfiregames.com/0ad/images/artspec/image006.jpg)]]||VS.||[[Image(http://www.wildfiregames.com/0ad/images/artspec/image007.jpg)]]||
    325335
    326336This is an important tool because in 0 A.D. we only allow one texture per model. We also made an effort to conserve the texture database size by reducing the quality of textures in the game. This also, in the long [[BR]] run, sped up the development process and encouraged visual cohesion.
     
    328338So, what is a prop? Well a prop is an actor with its own attributes and behaviours. In this example, here is a a better view of the above images that shows what in the image are props:
    329339
     340'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image008.jpg''')]]'''
     341
    330342We have a crate, barrel, anvil, dummy, shield, windows, door trim, and a chimney. Now, in the game, we can create multiple prop points. This can be useful because you could add variety with a random function that swaps out prop actors with every new entity created in the game. So, for example, with this one, we could have that shield actor switch out with a collection of shield props. However, for the purpose of this tutorial we will consider this collection of props as one prop.
    331343
    332344So lets get started!
    333345
     346'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image010.gif''')]]'''
     347
    334348This is how the building looks on our 0 A.D. max file template. You can see the building is properly scaled for a 3x3 tile size and all the props are so far unique actors. Even though the props are separate objects (at the moment), they are sharing the same textures. Again, if a prop has a separate texture, it must be attached separately with its own prop point. Here is the texture that these props are skinned with:
    335349
     350'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image009.jpg''')]]'''
     351
    336352The first thing we want to do is get everything orientated in one common location. The reason being is that each prop is anchored by a prop point. When we export the prop object, its orientation is based off its local axis. So, the idea is - we need the prop objects pre-positioned to ensure proper alignment in the game.
    337353
    338 ||'''Step 1 - Attaching'''[[BR]][[BR]] [[BR]][[BR]]The next step is to select the structure and attach all [[BR]]   the props:[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]You will see the following menu pop up, just hit OK.[[BR]][[BR]] [[BR]][[BR]] [[BR]]||'''Step 2 - Pivot   Placement'''[[BR]][[BR]] [[BR]][[BR]]Now, all your props will be included in one object. We [[BR]]   next should move our object to the centre of the 3dsmax world. In order to do   that we need to make sure our pivot point is in the correct location.[[BR]][[BR]] [[BR]][[BR]]Click   on the hierarchy tab, then click the pivot button, then the "Affect   Pivot Only" button.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Centre   your pivot (X,Y) to the centre of your structure (or where you want it to be   anchored in the game).[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]The Z   is a bit different; we want to position this to the bottom of the structure.   If we put it in the middle, then your structure would be 'buried' halfway in   the game's terrain. Not good.[[BR]][[BR]]Ok, you're now done moving your pivot. Turn off the   'Affect Pivot Only' button.[[BR]][[BR]] [[BR]]||
    339 
    340 ||'''Step 3 - Detaching'''[[BR]][[BR]] [[BR]][[BR]]Now, let's move our structure to the centre of the world.   You can do this by just inputting zeros in the world coordinates at the   bottom of the screen.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]The   next step is to separate the props again from the object. So first we select   all the prop objects like this image to the left.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Then we detach them.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]A new window will pop up.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]I'm going to go ahead and properly name it right here.[[BR]][[BR]] [[BR]][[BR]]While I'm at it, I'll go ahead and properly name the   structure too.[[BR]][[BR]] [[BR]]||'''Step 4 - Setting   the Prop Point'''[[BR]][[BR]] [[BR]][[BR]]Now, it's time to work with the prop point. First, we need   to create one.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Click on the 'create' tab, then the helper object button, [[BR]]   then scroll down and you will see a choice of 'PS Helpers'. Select that.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Now our prop tab looks a bit different. Go ahead and place   a prop point. Once you place it, it will look like this:[[BR]][[BR]] [[BR]]||
    341 
    342 ||'''Step 5 - Exporting'''[[BR]][[BR]] [[BR]][[BR]]It is time to export! select both the prop point and the [[BR]]   structure.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Go to File => Export Selected[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]Now go ahead and export your structure.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]And that's it! You just exported an object with a prop   point included! Repeat the same export for the prop point.[[BR]][[BR]] [[BR]]||'''Step 6 - xml code'''[[BR]][[BR]] [[BR]][[BR]]You're all done in 3dmax. Now it is time to look at the [[BR]]   xml code.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (the name that will   appear in Atlas). We are also pointing to the newly created *.pmd file. We   call up the texture.[[BR]][[BR]]We name the prop point and tell it what actor is supposed   to go there.[[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (that will be 'called up'   by the code above). We are also pointing to the newly created PMD file. We   call up the texture.[[BR]][[BR]] [[BR]][[BR]]'''Summary'''[[BR]][[BR]] [[BR]][[BR]]The tutorial above probably has some unneeded steps, but   for the beginner, this is a good way to start. You will find yourself   refining your procedures with experience.[[BR]]||
     354||'''Step 1 - Attaching'''[[BR]][[BR]] [[BR]][[BR]]The next step is to select the structure and attach all [[BR]]   the props:[[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image011.gif''')]]'''[[BR]][[BR]][[BR]][[BR]] [[BR]][[BR]] [[BR]][[BR]]You will see the following menu pop up, just hit OK.[[BR]][[BR]] [[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image012.gif''')]]'''[[BR]][[BR]][[BR]]||'''Step 2 - Pivot   Placement'''[[BR]][[BR]] [[BR]][[BR]]Now, all your props will be included in one object. We [[BR]]   next should move our object to the centre of the 3dsmax world. In order to do   that we need to make sure our pivot point is in the correct location.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image013.gif''')]]'''[[BR]][[BR]][[BR]]Click   on the hierarchy tab, then click the pivot button, then the "Affect   Pivot Only" button.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image014.gif''')]]'''[[BR]][[BR]][[BR]]Centre   your pivot (X,Y) to the centre of your structure (or where you want it to be   anchored in the game).[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image015.gif''')]]'''[[BR]][[BR]][[BR]]The Z   is a bit different; we want to position this to the bottom of the structure.   If we put it in the middle, then your structure would be 'buried' halfway in   the game's terrain. Not good.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image016.gif''')]]'''[[BR]][[BR]][[BR]]Ok, you're now done moving your pivot. Turn off the   'Affect Pivot Only' button.[[BR]][[BR]]||
     355
     356||'''Step 3 - Detaching'''[[BR]][[BR]] [[BR]][[BR]]Now, let's move our structure to the centre of the world.   You can do this by just inputting zeros in the world coordinates at the   bottom of the screen.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image017.gif''')]]'''[[BR]][[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image018.gif''')]]'''[[BR]][[BR]]The   next step is to separate the props again from the object. So first we select   all the prop objects like this image to the left.[[BR]][[BR]] Then we detach them.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image019.gif''')]]'''[[BR]][[BR]][[BR]]A new window will pop up.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image020.gif''')]]'''[[BR]][[BR]][[BR]]I'm going to go ahead and properly name it right here.[[BR]][[BR]] While I'm at it, I'll go ahead and properly name the   structure too.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image021.gif''')]]'''[[BR]][[BR]][[BR]][[BR]]||'''Step 4 - Setting   the Prop Point'''[[BR]][[BR]] [[BR]][[BR]]Now, it's time to work with the prop point. First, we need   to create one.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image022.gif''')]]'''[[BR]][[BR]][[BR]]Click on the 'create' tab, then the helper object button, [[BR]]   then scroll down and you will see a choice of 'PS Helpers'. Select that.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image023.gif''')]]'''[[BR]][[BR]][[BR]]Now our prop tab looks a bit different. Go ahead and place   a prop point. Once you place it, it will look like this:[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image024.gif''')]]'''[[BR]][[BR]][[BR]]||
     357
     358||'''Step 5 - Exporting'''[[BR]][[BR]] [[BR]][[BR]]It is time to export! select both the prop point and the [[BR]]   structure.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image025.gif''')]]'''[[BR]][[BR]] [[BR]][[BR]]Go to File => Export Selected[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image026.gif''')]]'''[[BR]][[BR]] [[BR]][[BR]]Now go ahead and export your structure.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image027.gif''')]]'''[[BR]][[BR]] [[BR]][[BR]]And that's it! You just exported an object with a prop   point included! Repeat the same export for the prop point.[[BR]][[BR]]||'''Step 6 - xml code'''[[BR]][[BR]] [[BR]][[BR]]You're all done in 3dmax. Now it is time to look at the [[BR]]   xml code.[[BR]][[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image028.gif''')]]'''[[BR]][[BR]][[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (the name that will   appear in Atlas). We are also pointing to the newly created *.pmd file. We   call up the texture.[[BR]][[BR]]We name the prop point and tell it what actor is supposed   to go there.[[BR]][[BR]] [[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image029.gif''')]]'''[[BR]][[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (that will be 'called up'   by the code above). We are also pointing to the newly created PMD file. We   call up the texture.[[BR]][[BR]] [[BR]][[BR]]'''Summary'''[[BR]][[BR]] [[BR]][[BR]]The tutorial above probably has some unneeded steps, but   for the beginner, this is a good way to start. You will find yourself   refining your procedures with experience.||
    343359
    344360'''[[BR]] [ Skins and Textures]'''
     
    427443The base texture (affectionately named dude) looks like this:
    428444
     445'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image031.jpg''')]]'''
     446
    429447To the left is the base texture was designed to provide the most basic layer of what will be used in the game.  Most all of the game unit art is built of this this skin.  This is the standard.  The upper left portion is the legs, the upper right is the arms.  The lower middle is the body.[[BR]] [[BR]] The texture is tileable.  What do we mean by tileable? Well the textures edges match up to aid you in lining up your texture seams.
    430448
    431 To the right you is how the texture is broken down by quadrents.  Also note that the integers are based on powers of 2. (though 384 is not).[[BR]]
     449To the right you is how the texture is broken down by quadrents.  Also note that the integers are based on powers of 2. (though 384 is not).
     450
     451'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image030.jpg''')]]'''
    432452
    433453Notice how the following images wrap and tile as you offset them:
    434454
    435 ||Torso tile now centered about   the back rather than the Chest.||Here are the arms tiled and   rotated 90 degrees to help visualization.||Here are the legs tiled and   rotated 90 degrees to help visualization.||
    436 
    437 ||||The image to the left demonstrates that with a bit of flipping,   rotating, and resizing you can position the tile to look like this image to   the left.  This allows seamless   transitions between the torso and legs if needed.  After a texture is complete simply retrace   your flipping and rotating steps to return to the original.||
     455||'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image032.jpg''')]]'''[[BR]][[BR]][[BR]]Torso tile now centered about   the back rather than the Chest.||'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image033.jpg''')]]'''[[BR]][[BR]][[BR]]Here are the arms tiled and   rotated 90 degrees to help visualization.||[[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image034.jpg''')]]'''[[BR]][[BR]][[BR]]Here are the legs tiled and   rotated 90 degrees to help visualization.||
     456
     457||'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image035.jpg''')]]'''||The image to the left demonstrates that with a bit of flipping,   rotating, and resizing you can position the tile to look like this image to   the left.  This allows seamless   transitions between the torso and legs if needed.  After a texture is complete simply retrace   your flipping and rotating steps to return to the original.||
    438458
    439459The goal is to eliminate the seams in our textures and this template will do that.
    440460
    441 The texture is designed to make maximum use of the texture space.  The negative side of this is that the scale is sometimes disproportionate.  If you want to make something on their body that is vertically and horizontally symmetrical, you need to do this. Crop just the lower half (the red section in the quadrent image above). Then resize this layer so that it’s 512x580.  See the image to the right.[[BR]] [[BR]] Here are more resources:[[BR]] [[BR]] http://www.wildfiregames.com/users/art/wijit/dude.rar [[BR]] http://www.wildfiregames.com/users/art/wijit/dude_accesory.rar [[BR]] [[BR]] In the dude accessories you'll find a few examples of some things:
     461The texture is designed to make maximum use of the texture space.  The negative side of this is that the scale is sometimes disproportionate.  If you want to make something on their body that is vertically and horizontally symmetrical, you need to do this. Crop just the lower half (the red section in the quadrent image above). Then resize this layer so that it’s 512x580.  See the image to the right.
     462
     463'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image036.jpg''')]]'''
     464
     465[[BR]] [[BR]] Here are more resources:[[BR]] [[BR]] http://www.wildfiregames.com/users/art/wijit/dude.rar [[BR]] http://www.wildfiregames.com/users/art/wijit/dude_accesory.rar [[BR]] [[BR]] In the dude accessories you'll find a few examples of some things:
    442466
    443467 * necklines      that line up
     
    451475 * sample      bracers
    452476
     477[[BR]]'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image037.jpg''')]]'''
     478
    453479It is advantageous to use the template in a paper doll fashion.  Each of these steps is a layer.  The artist starts with the base, next the tunic is added.  Then add the breastplate, then the leather loin protectors, and finally the weapon strap.  Because these are independent layers, they can be used on other models as well.  Note that the color of the tunic is grayscale, this is because it is used as player color; more on that in the next topic.
    454480
    455 '''__[ Player COlor]__'''
     481'''__[ Player Color]__'''
     482
     483'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image038.jpg''')]]'''
    456484
    457485Player color is a special attribute of the game to serve the purpose of showing player ownership.  It uses the alpha channel of a texture to apply a multiplied color layer (defined by the game, and player) in real time during the game.  These textures can be made several different ways.  One way is to use the photoshop DDS plugin noted above.  The preferred method is to save a TGA (if you are working directly with alpha channels) or a BMP (if you are working with a flat texture with no alpha), and process it with the Pyrogenesis texture converter found in game’s developer tools.  This may be found here in the game’s binaries:
     
    461489The folder contains a readme.txt file with specific instructions for us.  Note the image to the left has the RBG channel above at the top.  The lower channel is a representation of the alpha layer (You are actually able to convert in this manner with a BMP file and the texture converter tool).  What the game does is it uses that layer to designate what areas of the texture would receive color and what doesn’t.  Black means it is player color and white means it is opaque RBG.  Grays are a degree of transition between opaque and player color.  The game then ‘multiplies’ the player color with the RBG layer’s gray tones.  Compare the left image below to the right.  It basically adds the RGB pixel color values between the 2 ‘layers’.
    462490
     491'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image042.jpg''')]]'''
     492
     493'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image041.jpg''')]]'''
     494
    463495Notice how the player color depth is brought out by the color multiplication in comparing the two images on the left.
    464496
    465 The images on the far right show how the engine uses the player color to change between various colors.
     497'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image039.jpg''')]]'''
     498
     499'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image040.jpg''')]]'''
     500
     501These images show how the engine uses the player color to change between various colors.
    466502
    467503'''__[[BR]] [ Object COlor]__'''
    468504
     505'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image044.jpg''')]]'''
     506
    469507Object color is much the same as player color.   It’s purpose is to offer a variety of color other than player color.  For example, by using one single texture one is able to create a human head texture with a variety of hair colors: blonde, dirty blond, brown, gray, and black.  Horse pelts also use this feature.  We are able to use one texture for this purpose rather than multiple which saves space and texture memory for the game.  It is designated specifically in the Actor XML file.
    470508
     509'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image043.jpg''')]]'''
     510
    471511'''__[ Transparency]__'''
    472512
     
    499539Terrains must tile.  Meaning the left<=>right and top<=>bottom must seamlessly tile with each other.  Terrain textures are in a large size because they are such a huge portion of what is visible on the screen.  Care should be taken to avoid distinguishable repeating patterns on textures that have a high likely hood of more than 50% of the texturing being seen on the screen at a time (grass, dirt, sand, etc...).  Recognizing repeating textures in unique aspects of terrain (cliff, rocks, roads, etc....) are not as critical.  A texture spans approximately 11x11 tiles in the game.  Scale your details on the texture accordingly.
    500540
     541'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image045.jpg''')]]'''
     542
    501543This terrain texture is for a guide for shadows.  If there is a feature on the terrain (such as a rock, or a stick) that would benefit from a shadow, place the shadow to the left of that feature (not the shadow on the blue ball).  This would be in line with the shadow position for the default angle and location of the sun in the game world.
    502544
    503545'''Terrain Blends'''
    504546
     547'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image046.jpg''')]]'''
     548
    505549This image is an example of how textures blend together in our game.  There is a calculation performed by the game engine that recognizes the primary and secondary texture adjacent to tile in question itself.  Based on that information it applies a suitable alpha mask.  There are eleven possible different options.  This template was created to help one see those options and create more transitions based on it.
    506550
     551'''[[Image('''http://www.wildfiregames.com/0ad/images/artspec/image047.gif''')]]'''
     552
    507553To use this image, you are free to modify any part of the blend aside from the pixels on the edges of the grid.  It could be a simple gradient as is seen here or it could be made blotchy, or feathered.  Remember that the blends must interface with one another so their border blends should match.
    508554
     
    517563Water textures use normal mapping.  They are a series of 60 images that are displayed one after another to give the illusion that water is moving.  The movement is simply by the design of the texture. The textures were created by a 3^rd^ party texture generating program.  Once they were rendered in black and white they were used as a ‘height map’ and processed by NVIDIA’s DDS Photoshop plug-in to apply the normal map’s color code information to them.
    518564
    519 [[BR]] '''[[BR]] [ Animation]'''
     565'''[[BR]] [ Animation]'''
    520566
    521567Animations are typically created by two means either key framing or importing motion capture files. Because all our humanoid characters will be sharing the same proportions and skeleton we will be able to assign common and shared animations to human. The goal is to build up a library of animations, just like a library of props and we will just ‘play’ the animations as defined in the actor xml file in real time throughout the game.[[BR]] [[BR]] Here is what we are looking for in animations: