Changes between Version 1 and Version 2 of ArtDesignDocument


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

--

Legend:

Unmodified
Added
Removed
Modified
  • ArtDesignDocument

    v1 v2  
    11'''[ INTRODUCTION]'''
    22
    3 '' ''
     3'''[[Image(!http://www.wildfiregames.com/0ad/images/artspec/image001.jpg)]]'''
    44
    55'''__[ PURPOSE]__'''
    66
    7 Welcome to the 0 A.D. project.  This document is intended to be a comprehensive guide on how to create artistic content for 0 A.D., a game created by Wildfire Games (WFG).  Wildfire Games is a group of hobbyist game developers with a common goal of creating a historical real time strategy game that is set in the ancient era of the Roman Empire.  The game engine is custom built and given the name Pyrogenesis.  Pyrogenesis is a modular, data driven engine that will hopefully serve as a foundation for many more freeware games in the future.
    8 
    9 This document will introduce you to the processes and tools required to create artistic content.  We will begin with this introduction and then take you through the various stages of development, beginning with creating a concept to committing the art assets to the SVN repository; complete with all the steps in between.  This is a lot of information to digest, if you have any questions please contact the WFG developers via forums, instant messenger, or email.
    10 
    11 '''__ __'''
     7Welcome to the 0 A.D. project.  This document is intended to be a comprehensive guide on how to create artistic content for 0 A.D., a game created by Wildfire Games (WFG).  Wildfire Games is a group of hobbyist game developers with a common goal of creating a historical real time strategy game that is set in the ancient era of the Roman Empire.  The game engine is custom built and given the name Pyrogenesis.  Pyrogenesis is a modular, data driven engine that will hopefully serve as a foundation for many more freeware games in the future.
     8
     9This document will introduce you to the processes and tools required to create artistic content.  We will begin with this introduction and then take you through the various stages of development, beginning with creating a concept to committing the art assets to the SVN repository; complete with all the steps in between.  This is a lot of information to digest, if you have any questions please contact the WFG developers via forums, instant messenger, or email.
    1210
    1311'''__[ THE VISION OF 0 A.D.]__'''
     
    3937As far as the look goes, our world will be a heightened representation of reality. Colors will be a bit more saturated, vegetation will slightly Edenic, structures will appear in a livable state, units will be battle-torn, and the resources will be bountiful. We will try to make it as pleasing to the eye as possible.
    4038
    41 '''__ __'''
    42 
    4339'''__[ Artistic Theme]__'''
    4440
    45 It is important to have a cohesive visual theme for the game.  Each piece of art will be reviewed by the art department lead and provide acceptance and feedback to the artists.  Below are topics of discussion that effects the art department and the artistic theme of the game.    
     41It is important to have a cohesive visual theme for the game.  Each piece of art will be reviewed by the art department lead and provide acceptance and feedback to the artists.  Below are topics of discussion that effects the art department and the artistic theme of the game.
    4642
    4743__Culture, History, and Realism__
     
    4945The visual designs of the art in the game should hint at a deeper culture than simply what is seen on the surface. It is important that each of the civilizations have a sense of culture and history; that they have and truly did exist outside of the context of the game. The tools, homes and armor of a race should match the unique gameplay that the civilization offers.
    5046
    51 An example: the Iberians (native to the peninsula of Iberia, modern day Spain and Portugal).  They are fierce defenders of their homeland.  Strength does not lie in numbers but in the skilled tactics of guerilla warfare.  The weapons given to a unit are therefore numerous and versatile.  Units often serve a dual purpose role and are equipped as such.  Their amour and garments are practical with colors alluding to their ability to camouflage with their surroundings.  Their buildings are strong and practically built.
    52 
    53 History and its usage in the game are paramount.  When in doubt ask a WFG historian.
    54 
    55 Realism is always an interesting topic of discussion.  Realism, while important does take a back seat to a more important player – Gameplay. Gameplay trumps Realism when the two topics disagree.  Realism might dictate that a phalanx formation included over 500 soldiers, but gameplay only allows so many units on the screen at one time – not to mention the serious pathfinding and control issues so many units in the game would cause.  Therefore gameplay dictates that we limit the formation to 20 or so units.  Numerous examples such as this may be found in the game design discussions.  We are creating a game after all, not a simulation.
     47An example: the Iberians (native to the peninsula of Iberia, modern day Spain and Portugal).  They are fierce defenders of their homeland.  Strength does not lie in numbers but in the skilled tactics of guerilla warfare.  The weapons given to a unit are therefore numerous and versatile.  Units often serve a dual purpose role and are equipped as such.  Their amour and garments are practical with colors alluding to their ability to camouflage with their surroundings. Their buildings are strong and practically built.
     48
     49History and its usage in the game are paramount.  When in doubt ask a WFG historian.
     50
     51Realism is always an interesting topic of discussion.  Realism, while important does take a back seat to a more important player – Gameplay. Gameplay trumps Realism when the two topics disagree.  Realism might dictate that a phalanx formation included over 500 soldiers, but gameplay only allows so many units on the screen at one time – not to mention the serious pathfinding and control issues so many units in the game would cause.  Therefore gameplay dictates that we limit the formation to 20 or so units.  Numerous examples such as this may be found in the game design discussions.  We are creating a game after all, not a simulation.
    5652
    5753__Exaggeration__
    5854
    59 This, at first may seem in direct contraction to our attempt to attain realism, and that may be true. Although all the entities in the game should be based in reality that does not mean that you should disregard exaggeration. These figures featured in the game are many times larger than life.  Exaggeration in the game can best be described as a heightened sense of reality.
    60 
    61 __Phases__[[BR]] The game does not advance through Ages (like the Age of Empire series games), but rather phases of growth.  In the interests of reducing art workload, building models are not replaced''' '''with upgraded versions when a player advances from one phase to another.  Therefore only one set of structure models is needed per civilization.
    62 
    63 __Citizen Soldiers''''''__
    64 
    65 Citizen soldiers are entities (units) that change appearance as they are played in the game.  They upgrade based on combat experience.  Their appearance changes when this upgrade is complete.  Here is the general guide for appearance based on a unit’s rank:
    66 
     55This, at first may seem in direct contraction to our attempt to attain realism, and that may be true. Although all the entities in the game should be based in reality that does not mean that you should disregard exaggeration. These figures featured in the game are many times larger than life.  Exaggeration in the game can best be described as a heightened sense of reality.
     56
     57__Phases__[[BR]] The game does not advance through Ages (like the Age of Empire series games), but rather phases of growth.  In the interests of reducing art workload, building models are not replaced''' '''with upgraded versions when a player advances from one phase to another.  Therefore only one set of structure models is needed per civilization.
     58
     59__Citizen Soldiers'''''''''''__''''''''''
     60
     61Citizen soldiers are entities (units) that change appearance as they are played in the game.  They upgrade based on combat experience.  Their appearance changes when this upgrade is complete.  Here is the general guide for appearance based on a unit’s rank:
    6762
    6863 * BASIC: Economy focused, light to little or no armor
     
    7065 * ULTIMATE / ELITE: Veteran warrior, the elite status.      They possess the best weapons and the best armor.
    7166
    72 __Player Color__''''''
    73 
    74 Colors on the units should be neutral (skin tones, browns, grays, golds, bronze, etc...), because bright and saturated color will be used as a player’s color to show ownership. Player color usually is found on decorative elements of a texture.  Learn more about how to create player color in the texture and skin section of this document.
    75 
    76 __Building Shape Consistency''''''__
     67__Player Color__'''''''''''
     68
     69Colors on the units should be neutral (skin tones, browns, grays, golds, bronze, etc...), because bright and saturated color will be used as a player’s color to show ownership. Player color usually is found on decorative elements of a texture.  Learn more about how to create player color in the texture and skin section of this document.
     70
     71__Building Shape Consistency'''''''''''__''''''''''
    7772
    7873It is important to have the building types of civilizations be roughly the same shapes for easy recognition by the players across civilizations. You will always know that a building is of a certain type because they all have some feature in common. Usually it is they way the buildings are laid out, but we also use size to make distinctions.
    7974
    80 __0 A.D. Theme__''''
    81 
     75__0 A.D. Theme__'''''''
    8276
    8377 * Above average color saturation (compared to the real      world)
     
    8882 * Exaggerate the traits of the Civs - Celts were      colorful (so in the game they will be very colorful) - Greeks had fancy      architecture (so many of their buildings will be fancier than in real      life), etc...
    8983
    90  
    91 
    92 '''__[ File Naming
    93 Conventions]__'''
     84'''__[ File Naming Conventions]__''''''____'''
    9485
    9586All filenames should follow the naming conventions described below.
    9687
    9788'''General Rules'''
    98 
    9989
    10090 * No spaces in the file name are allowed
    10191 * No capital letters are allowed
    102  * XML, PMD, PSA, DDS files should use these rules.  For any file-formats not specially      mentioned here, follow similar naming rules to fit the file type.
     92 * XML, PMD, PSA, DDS files should use these rules.  For any file-formats not specially      mentioned here, follow similar naming rules to fit the file type.
    10393 * If using numbers always use two digits. Example: 01,      not 1
    10494 * Use underscore ( _ ) to separate portions of the file      name
     
    112102kart_hc.pmd – Meaning: Carthaginian Health Center Model
    113103
    114 [[BR]]  
    115 
    116 
    117 ||'''General'''[[BR]]   ui - User Interface[[BR]]   prop - prop[[BR]]   wrld – world[[BR]][[BR]]If none of the above, do not   use[[BR]]   [[BR]]   '''Civ'''[[BR]]   rome - roman[[BR]]   hele - hellenes[[BR]]   celt - celt[[BR]]   pers - persian[[BR]]   kart - carthaginians[[BR]]   iber - iberians[[BR]]   brit - britons[[BR]]   gaul - gallic[[BR]]   pole - poleis [[BR]]   mace - macedonians[[BR]]   [[BR]]   '''Extra'''[[BR]]   b - basic[[BR]]   a - advanced[[BR]]   e - elite[[BR]]   f - fall[[BR]]   s - summer[[BR]]   p - spring[[BR]]   w - winter[[BR]]   #- numbers[[BR]]   etc...[[BR]][[BR]]||'''Type'''[[BR]]   ''__Buildings__''[[BR]]   cc - civilization center[[BR]]   ho - house[[BR]]   fc - farm center[[BR]]   fv - farm - vegetation[[BR]]   fa - corral - animal[[BR]]   rc - resource center[[BR]]   tf - free standing tower - scout tower[[BR]]   wc - wall[[BR]]   wg - wall gate[[BR]]   wt - wall tower[[BR]]   pc - port center[[BR]]   mc - military center[[BR]]   tc - trade center[[BR]]   hc - health center[[BR]]   ff - fortress[[BR]]   sb - special building [[BR]]   ''__Units__''[[BR]]   isw - infantry swordsman[[BR]]   isp - infantry spearman[[BR]]   ijv - infantry javelinist[[BR]]   isl - infantry slinger[[BR]]   iar - infantry archer[[BR]]   csw - cavalry sword[[BR]]   csp - cavalry spear[[BR]]   cjv - cavalry javelin[[BR]]   car - cavalry archer[[BR]]   fem - female worker[[BR]]   med - healer[[BR]]   trd - trader[[BR]]   sr - siege - rock thrower[[BR]]   sp - siege - spear/bolt thrower[[BR]]   sr - siege - ram[[BR]]   mer - merchantman ship[[BR]]   bir - bireme[[BR]]   tri - trireme[[BR]]   qui - quinquereme[[BR]]   su1 - super unit 1[[BR]]   su2 - super unit 2[[BR]]   su3 - super unit 3[[BR]]   hr1 - hero 1[[BR]]   hr2 - hero 2[[BR]]   hr3 - hero 3[[BR]]   scn - scenario unit||
     104||'''General'''[[BR]]   ui - User Interface[[BR]]   prop - prop[[BR]]   wrld – world[[BR]][[BR]]If none of the above, do not   use[[BR]]   [[BR]]   '''Civ'''[[BR]]   rome - roman[[BR]]   hele - hellenes[[BR]]   celt - celt[[BR]]   pers - persian[[BR]]   kart - carthaginians[[BR]]   iber - iberians[[BR]]   brit - britons[[BR]]   gaul - gallic[[BR]]   pole - poleis [[BR]]   mace - macedonians[[BR]]   [[BR]]   '''Extra'''[[BR]]   b - basic[[BR]]   a - advanced[[BR]]   e - elite[[BR]]   f - fall[[BR]]   s - summer[[BR]]   p - spring[[BR]]   w - winter[[BR]]   #- numbers[[BR]]   etc...[[BR]]||'''Type'''[[BR]]   ''__Buildings__''[[BR]]   cc - civilization center[[BR]]   ho - house[[BR]]   fc - farm center[[BR]]   fv - farm - vegetation[[BR]]   fa - corral - animal[[BR]]   rc - resource center[[BR]]   tf - free standing tower - scout tower[[BR]]   wc - wall[[BR]]   wg - wall gate[[BR]]   wt - wall tower[[BR]]   pc - port center[[BR]]   mc - military center[[BR]]   tc - trade center[[BR]]   hc - health center[[BR]]   ff - fortress[[BR]]   sb - special building [[BR]]   ''__Units__''[[BR]]   isw - infantry swordsman[[BR]]   isp - infantry spearman[[BR]]   ijv - infantry javelinist[[BR]]   isl - infantry slinger[[BR]]   iar - infantry archer[[BR]]   csw - cavalry sword[[BR]]   csp - cavalry spear[[BR]]   cjv - cavalry javelin[[BR]]   car - cavalry archer[[BR]]   fem - female worker[[BR]]   med - healer[[BR]]   trd - trader[[BR]]   sr - siege - rock thrower[[BR]]   sp - siege - spear/bolt thrower[[BR]]   sr - siege - ram[[BR]]   mer - merchantman ship[[BR]]   bir - bireme[[BR]]   tri - trireme[[BR]]   qui - quinquereme[[BR]]   su1 - super unit 1[[BR]]   su2 - super unit 2[[BR]]   su3 - super unit 3[[BR]]   hr1 - hero 1[[BR]]   hr2 - hero 2[[BR]]   hr3 - hero 3[[BR]]   scn - scenario unit||
    118105
    119106'''__[[BR]] [ Art Pipeline]__'''
    120107
    121 The 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.
    122 
    123 '''1)      Design Document'''
    124 
    125 The design document dictates the design of the game.  Game designers have pooled their efforts with the game’s historians to create a written description for every entity in the game.  This written design concept is created with the purpose of directing the concept artist.  The written design concept might refer to reference images to aid in visually describing the entity.
    126 
    127 '''2)      Concept'''
     108The 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.
     109
     110'''1)      Design Document'''
     111
     112The design document dictates the design of the game.  Game designers have pooled their efforts with the game’s historians to create a written description for every entity in the game.  This written design concept is created with the purpose of directing the concept artist. The written design concept might refer to reference images to aid in visually describing the entity.
     113
     114'''2)      Concept'''
    128115
    129116Next, the written concept goes to the concept designers for their first draft. As with some things in the Art Department, there is no set limit to the number of revisions a concept designer will do to ‘get it right’. It is a hit or miss process guided by feedback from the lead until you get close or nail it on the head. Once a concept is deemed complete for the character, a front and side character design should be rendered to aid the modelers and textures.
    130117
    131 '''3)      Modeling'''
    132 
    133 Based on the concept or written description, a 3D model is then made fitting the concept as close as possible within the restraints of the modeling specifications found later in this document.  The modeling process also includes unwrapping and exporting a uvw map for use by the texture artist.
    134 
    135 '''4)      Texture'''
    136 
    137 A skin (or texture) for the 3D model is then created.  This may be created from scratch, using reference textures, or even utilizing the concept to make the best possible texture.  Close attention is made to the texture to give it a worn and used appearance.  Artificial shadows are created on the texture to fill in the details that a low poly mesh is not capable of doing.  In some cases player color or transparency is used on the texture.  In this case the alpha channel utilized to accomplish this.  More details to follow later in the document.
    138 
    139 '''5)      Rigging/Animation'''
    140 
    141 Non-static models require rigging and animation.  This is a complex process that is discussed in more detail in the Animation section.
    142 
    143 '''6)      Export'''
    144 
    145 Finally, the models and textures need to be exported and implemented into the game engine.  TGA and BMP files are converted to DDS files (if not already exported as a DDS).  DAE files are exported to the /mesh and /animation folders. 
    146 
    147 '''7)      Actor'''
    148 
    149 Actor files are an XML file that defines the visual properties of an entity in the game.  These actor files in essence are the glue that puts parts together.  The file points and references the mesh, texture, and animations of a unit.  They also specify object color, player color, and shadow properties.  Any mesh or animation created won’t be recognized by the game engine unless it is referenced by an actor XML file.
     118'''3)      Modeling'''
     119
     120Based on the concept or written description, a 3D model is then made fitting the concept as close as possible within the restraints of the modeling specifications found later in this document.  The modeling process also includes unwrapping and exporting a uvw map for use by the texture artist.
     121
     122'''4)      Texture'''
     123
     124A skin (or texture) for the 3D model is then created.  This may be created from scratch, using reference textures, or even utilizing the concept to make the best possible texture.  Close attention is made to the texture to give it a worn and used appearance.  Artificial shadows are created on the texture to fill in the details that a low poly mesh is not capable of doing.  In some cases player color or transparency is used on the texture.  In this case the alpha channel utilized to accomplish this. More details to follow later in the document.
     125
     126'''5)      Rigging/Animation'''
     127
     128Non-static models require rigging and animation.  This is a complex process that is discussed in more detail in the Animation section.
     129
     130'''6)      Export'''
     131
     132Finally, the models and textures need to be exported and implemented into the game engine.  TGA and BMP files are converted to DDS files (if not already exported as a DDS).  DAE files are exported to the /mesh and /animation folders.
     133
     134'''7)      Actor'''
     135
     136Actor files are an XML file that defines the visual properties of an entity in the game.  These actor files in essence are the glue that puts parts together.  The file points and references the mesh, texture, and animations of a unit.  They also specify object color, player color, and shadow properties. Any mesh or animation created won’t be recognized by the game engine unless it is referenced by an actor XML file.
    150137
    151138'''[[BR]] '''[[BR]]'''[ CONCEPTS]'''
    152139
    153 Concepts are very important to designing a game. One large reason is that we can all view the collective ‘vision’ behind the artwork in the game before it goes through entire art pipeline.  This gives it all a sense of collectiveness.  After-all this is one game and not a hodge-podge of artistic styles that very from individual to individual. [[BR]] [[BR]] Concepts are the foundation of the rest of the artwork that we will be doing for the game. What is created by the concept artists will move down the ‘assembly’ line to the modelers and skinners.[[BR]] [[BR]] Refer often to the civilization design documents:
    154 
     140Concepts are very important to designing a game. One large reason is that we can all view the collective ‘vision’ behind the artwork in the game before it goes through entire art pipeline.  This gives it all a sense of collectiveness.  After-all this is one game and not a hodge-podge of artistic styles that very from individual to individual. [[BR]] [[BR]] Concepts are the foundation of the rest of the artwork that we will be doing for the game. What is created by the concept artists will move down the ‘assembly’ line to the modelers and skinners.[[BR]] [[BR]] Refer often to the civilization design documents:
    155141
    156142 * [http://www.wildfiregames.com/forum/index.php?showtopic=365 Carthaginians]
     
    161147 * [http://www.wildfiregames.com/forum/index.php?showtopic=222 Romans]
    162148
    163  
    164 
    165149The historical reference site here is also useful: http://www.wildfiregames.com/users/art/history/ [[BR]] [[BR]] Here are key points to address for concepts:
    166150
    167 ·        '''Look''' - Black and white images (later colored if there is a specific point of detail that can’t be described with simply words)
    168 
    169 ·        '''Title Block''' - http://www.wildfiregames.com/users/art/titleblock.jpg . Top box is the name, version in the middle left, and date on the right, your name at the bottom.
    170 
    171 ·        '''Descriptions''' – feel free to draw arrows and write text in the image for anything you want to draw attention too
    172 
    173 ·        '''Auxiliary view '''- If there is something to relate to the modelers that you couldn’t capture in one view, feel free to sketch a picture to the side from another angle.
    174 
    175 ·        '''Citizen Soldiers '''– If it is a unit that upgrades (basic, advanced, elite) then three sketches are required.
    176 
    177 ·        '''Backup''' – Back up all your work in the art SVN in case something bad happens to your computer – compressed please (ZIP, RAR)''''''
    178 
    179 These are great examples of some good concept art created for 0 A.D. 
    180 
    181  
    182 
    183 The (Ultimate – the highest ranked of this citizen soldier type) Roman Triarius was drawn by Brenden Keough.  Note how he drew two different views of the unit so that there isn’t any question of what certain features that would otherwise be missed by the texture artist (like the greeves that only go halfway around the shin, and the extra detail seen in the helmet.  This unit also has a few props included with the concept to ensure that they are represented with this unit as well.  The other great thing about this concept is the detail.  There is so much detail that it could actually be cut and pasted directly into a unit texture.
    184 
    185  
    186 
    187 The 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.
    188 
    189 ''' '''
     151·        '''Look''' - Black and white images (later colored if there is a specific point of detail that can’t be described with simply words)
     152
     153·        '''Title Block''' - http://www.wildfiregames.com/users/art/titleblock.jpg . Top box is the name, version in the middle left, and date on the right, your name at the bottom.
     154
     155·        '''Descriptions''' – feel free to draw arrows and write text in the image for anything you want to draw attention too
     156
     157·        '''Auxiliary view '''- If there is something to relate to the modelers that you couldn’t capture in one view, feel free to sketch a picture to the side from another angle.
     158
     159·        '''Citizen Soldiers '''– If it is a unit that upgrades (basic, advanced, elite) then three sketches are required.
     160
     161·        '''Backup''' – Back up all your work in the art SVN in case something bad happens to your computer – compressed please (ZIP, RAR)'''''''''''
     162
     163These are great examples of some good concept art created for 0 A.D.
     164
     165The (Ultimate – the highest ranked of this citizen soldier type) Roman Triarius was drawn by Brenden Keough.  Note how he drew two different views of the unit so that there isn’t any question of what certain features that would otherwise be missed by the texture artist (like the greeves that only go halfway around the shin, and the extra detail seen in the helmet.  This unit also has a few props included with the concept to ensure that they are represented with this unit as well.  The other great thing about this concept is the detail.  There is so much detail that it could actually be cut and pasted directly into a unit texture.
     166
     167The 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.
    190168
    191169'''[[BR]] '''[[BR]]'''[ Models]'''
    192170
    193171Models are the next stage. Models are pretty important because they form the shape of the characters in our game world. The key to our models (because this is a full 3d game) is to rely on our skins for the details of the objects in the world and not the geometry. The industry buzz word for this is ‘low poly’. We will try to keep our polygon (tri) count down as low as possible. We can do to this by taking advantage of the opacity maps, removing polygons nobody will ever see (bottom polys), and relying on the skin for detail.[[BR]] [[BR]] Here is what I’m looking for in models:
    194 
    195172
    196173 * '''Poly counts '''- Low as possible! Here are the suggestions:[[BR]]      ''Humanoid Bodies'' – 500[[BR]]      ''Animal Bodies'' – 700[[BR]]      ''Humanoid and Building Props'' – 50[[BR]]      ''World Objects'' – 150[[BR]]      ''Buildings'' – 800
     
    203180 * '''Needed Files''' - .pmd export plugin for R6 [http://www.wildfiregames.com/%7Eart/pmdexp6.rar http://www.wildfiregames.com/~art/pmdexp6.rar]
    204181
    205  
    206 
    207182'''__[ 3D ToolS]__'''
    208183
    209 3D Studio Max release 6.0 and above is the recommended 3D modeler and animation package used for the Pyrogenesis Engine.  Pyrogenesis models in the game are defined by custom file formats PMD (Pyrogenesis Model Data) and PSA (Pyrogenesis Animation).  See Appendix A and B for more details describing these formats.  The development pipeline previously used a custom export 3d Studio Max plug-in that exported files in these formats.  However, the game now supports COLLADA’s DAE files which allow users to create content in a variety of software programs
    210 
    211  
     1843D Studio Max release 6.0 and above is the recommended 3D modeler and animation package used for the Pyrogenesis Engine.  Pyrogenesis models in the game are defined by custom file formats PMD (Pyrogenesis Model Data) and PSA (Pyrogenesis Animation).  See Appendix A and B for more details describing these formats.  The development pipeline previously used a custom export 3d Studio Max plug-in that exported files in these formats.  However, the game now supports COLLADA’s DAE files which allow users to create content in a variety of software programs
    212185
    213186Recommended 3D software options:
     
    215188[http://en.wikipedia.org/wiki/Maya_%28software%29 Maya] (using [http://www.feelingsoftware.com/content/view/55/72 ColladaMaya])
    216189
    217 [http://en.wikipedia.org/wiki/3D_Studio_Max 3D
    218 Studio Max] (using [http://www.feelingsoftware.com/content/view/65/79/lang,en/ ColladaMax])
     190[http://en.wikipedia.org/wiki/3D_Studio_Max 3D Studio Max] (using [http://www.feelingsoftware.com/content/view/65/79/lang,en/ ColladaMax])
    219191
    220192[http://en.wikipedia.org/wiki/Softimage_XSI Softimage|XSI]
     
    228200[http://en.wikipedia.org/wiki/Gmax Gmax] (export W3D, import W3D into 3dsmax)
    229201
    230  
    231 
    232 '''__[ COLLADA
    233 EXPORT]__'''
     202'''__[ COLLADA EXPORT]__''''''____'''
    234203
    235204Note: Currently this has only been tested with 3ds Max. Some work may be needed to support other programs.
     
    237206'''Blender'''
    238207
    239 
    240208 * In      Blender, select the "Triangles" option in the exporter, and make      sure it's only exporting one mesh (e.g. with "Only Export      Selection").
    241209
    242210'''3ds Max'''
    243211
    244 
    245  * Download      and install !ColladaMax, from [http://www.feelingsoftware.com/ Feeling
    246      Software] (registration required) or from [http://wildfiregames.com/users/code/libraries/ColladaMax_302.exe our
    247      site] (version 3.02). Requires 3ds Max 9, 8, or 7 SP1.
     212 * Download      and install !ColladaMax, from [http://www.feelingsoftware.com/ Feeling Software] (registration required) or from [http://wildfiregames.com/users/code/libraries/ColladaMax_302.exe our site] (version 3.02). Requires 3ds Max 9, 8, or 7 SP1.
    248213 * Open/create      a model in Max. If it is a skeletal model, it should have our standard      structure and be named Bip01.
    249214 * If      there is more than one mesh in the scene, you need to indicate which one      should be exported:
     
    256221'''XSI'''
    257222
    258 
    259223 * Use      XSI 6.0.
    260224 * For      skeletal models/animations:
     
    265229'''General'''
    266230
    267 
    268231 * The      animation should be 30fps. The first and last frames of the animation      should be identical. The animation should play at the speed you would      expect to use in the game.
    269232 * Any      object attached directly to the skeleton will be treated as a prop point.      If you want to add extra objects for testing the animation, link them to      the existing prop points instead of to the skeleton.
     
    272235 * Prop      points should be defined by creating an object (e.g. a Dummy helper in 3ds      Max) named prop-whatever, where the whatever is the name of the prop      point. The file data/tools/atlas/lists.xml lists the standard prop      attachment points. That object should then be attached to a bone.
    273236
    274  
    275 
    276237'''__[ PYROGENESIS IMPORT/EXPORT]__'''
    277238
    278 This plug-in is only tested to work on 3ds Max Release 6[[BR]] [[BR]] You may download from here:[[BR]] http://www.wildfiregames.com/users/art/pmdexp6.rar [[BR]] [[BR]] Essentially this tool allows users to export PMD (Pyrogenesis Model Data) and PSA (Pyrogenesis Animation) files directly from 3ds Max R6.  This process skips the exporting of a DAE (COLLADA) file that is later converted to a PMD or PSA file in the future.  This method is not preferred.  The tool is broken in that it does not blend weighted vertexes in animation, it also only allows biped/physique methods to animation (bones/skin do not work).
    279 
    280 1.      '''Function:''' Creates Prop points [[BR]] '''Access:''' In the Command Panel - Create => Helpers => PS Helpers => Prop Point[[BR]] '''Extra:''' Export with the .pmd file, modify the name as desired, but precede with “prop-“, example prop-r_hip
    281 
    282 2.      '''Function:''' Export .pmd files [[BR]] '''Access:''' File => Export or File => Export Selected[[BR]] '''Extra:''' Select mesh and any props and export[[BR]] Don't forget to save the file in all lower case
    283 
    284 3.      '''Function:''' Export .psa files [[BR]] '''Access:''' File => Export or File => Export Selected[[BR]] '''Extra:''' Select the bip node and export[[BR]] Don't forget to save the file in all lower case
     239This plug-in is only tested to work on 3ds Max Release 6[[BR]] [[BR]] You may download from here:[[BR]] http://www.wildfiregames.com/users/art/pmdexp6.rar [[BR]] [[BR]] Essentially this tool allows users to export PMD (Pyrogenesis Model Data) and PSA (Pyrogenesis Animation) files directly from 3ds Max R6.  This process skips the exporting of a DAE (COLLADA) file that is later converted to a PMD or PSA file in the future.  This method is not preferred. The tool is broken in that it does not blend weighted vertexes in animation, it also only allows biped/physique methods to animation (bones/skin do not work).
     240
     2411.      '''Function:''' Creates Prop points [[BR]] '''Access:''' In the Command Panel - Create => Helpers => PS Helpers => Prop Point[[BR]] '''Extra:''' Export with the .pmd file, modify the name as desired, but precede with “prop-“, example prop-r_hip
     242
     2432.      '''Function:''' Export .pmd files [[BR]] '''Access:''' File => Export or File => Export Selected[[BR]] '''Extra:''' Select mesh and any props and export[[BR]] Don't forget to save the file in all lower case
     244
     2453.      '''Function:''' Export .psa files [[BR]] '''Access:''' File => Export or File => Export Selected[[BR]] '''Extra:''' Select the bip node and export[[BR]] Don't forget to save the file in all lower case
    285246
    286247Currently you must center the mesh to the origin of the world before you export it (X=0, Y=0, Z=0); as it retains its global position when exported from Max, which moves the mesh to some undesired position in the game.[[BR]] [[BR]] Helpful hints while using the PMD/PSA plug-in and usage in 3ds Max:
    287 
    288248
    289249 * Save      the prop helper with the PMD
     
    302262 * Layers      of animation work nicely to slightly alter a motion
    303263
    304  
    305 
    306264'''__[ OTHER 3DS MAX]__'''
    307265
     
    310268'''Texporter''' - A useful plug-in by Cuneyt Ozdas, Texporter allows UV maps to be exported from 3DS Max as a bitmap. Then use this template for texturing in Photoshop or similar 2D paint program. Download from !http://www.cuneytozdas.com/software/ Install texporter3.dlu in the 3dsmax/plugins folder
    311269
    312 '''MAX2OBJ and OBJ2MAX''' - These plug-ins were created by Harald A. Blab.  They were useful in previous versions of 3ds Max that did not have the functionality of importing and exporting OBJ files.  MAX2OBJ generates an Alias|Wavefront OBJ and MTL file from a 3DS Max scene.  OBJ2MAX imports Alias|Wavefront OBJ and MTL files into 3DS Max. This version adds new options handling pivot points and OBJ smooth group import. If the importer crashes, do not use normals on import.  This is useful for earlier versions of max to communicate with other software programs and retain more detail than a 3DS file is able to.  OBJ’s, as mentioned, are capable of retaining smoothing groups.
     270'''MAX2OBJ and OBJ2MAX''' - These plug-ins were created by Harald A. Blab.  They were useful in previous versions of 3ds Max that did not have the functionality of importing and exporting OBJ files.  MAX2OBJ generates an Alias|Wavefront OBJ and MTL file from a 3DS Max scene.  OBJ2MAX imports Alias|Wavefront OBJ and MTL files into 3DS Max. This version adds new options handling pivot points and OBJ smooth group import. If the importer crashes, do not use normals on import.  This is useful for earlier versions of max to communicate with other software programs and retain more detail than a 3DS file is able to. OBJ’s, as mentioned, are capable of retaining smoothing groups.
    313271
    314272'''SCRIPTS''' – There are a few scripts I’ve included that are useful.
    315273
    316             '''orientator.ms''' – this script is really useful for props.  It allows you to quickly orientate one object to the same orientation as another (matching both position and rotation).  For example, you can select a sword, and quickly snap it to the position of the hand prop point helper.  Once it is in position you are able to parent it to the point to move with it throughout animation.
    317 
    318             '''rotaterzero.ms''' – this script quickly zeros out the rotation in x, y, and z.  Useful just prior to exporting.
    319 
    320             '''zero.ms''' - this script quickly zeros out the position in x, y, and z.  Useful just prior to exporting.
    321 
    322             '''Clear materials''' – I haven’t created a script for this, but you can simply paste this into the max command bar and it will remove all the materials of the selection.  '''$*.material=undefined   '''This is useful to export a file and avoid other receiving errors that they are unable to find textures or materials.
     274  '''orientator.ms''' – this script is really useful for props.  It allows you to quickly orientate one object to the same orientation as another (matching both position and rotation).  For example, you can select a sword, and quickly snap it to the position of the hand prop point helper. Once it is in position you are able to parent it to the point to move with it throughout animation.
     275
     276  '''rotaterzero.ms''' – this script quickly zeros out the rotation in x, y, and z. Useful just prior to exporting.
     277
     278  '''zero.ms''' - this script quickly zeros out the position in x, y, and z. Useful just prior to exporting.
     279
     280  '''Clear materials''' – I haven’t created a script for this, but you can simply paste this into the max command bar and it will remove all the materials of the selection.  '''$*.material=undefined  '''This is useful to export a file and avoid other receiving errors that they are unable to find textures or materials.
    323281
    324282'''__[ Scale and PROPORTIONS]__'''
    325283
    326 Proportions 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)
    327 
    328 Scale is defined as thus:  Height of a Man ≈ 2 meters = 4 generic units in 3ds Max = 1 square tile width in Pyrogenesis
     284Proportions 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)
     285
     286Scale is defined as thus:  Height of a Man ≈ 2 meters = 4 generic units in 3ds Max = 1 square tile width in Pyrogenesis
    329287
    330288Structure footprint scale (in tiles) is as follows:
    331289
    332 
    333 ||'''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]][[BR]] ||
    334 
    335  
    336 
    337  
    338 
    339 '''__[[BR]] [ Polygon Count
    340 Limits]__'''
     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]][[BR]]||
     291
     292'''__[[BR]] [ Polygon Count Limits]__''''''____'''
    341293
    342294Pyrogenesis supports real time strategy games. RTS games have large numbers of entities on the screen at one time at a small scale. Due to this small scale, the total polygon limits are rather low compared to the average first person shooter. This is a list of recommended max poly counts for 3D Modelers to take into account with making 3D models.
     
    344296''Humanoid Bodies'' – 500[[BR]] ''Animal Bodies'' – 700[[BR]] ''Humanoid and Building Props'' – 50[[BR]] ''World Objects'' – 150[[BR]] ''Buildings'' – 800
    345297
    346 Note: Engine DOES NOT support Double-Sided polys - don`t use them.  If double sided polys are required, duplicate geometry must be created with the normals flipped.
    347 
    348 '''__[ LEVEL OF
    349 DETAIL]__'''
     298Note: Engine DOES NOT support Double-Sided polys - don`t use them.  If double sided polys are required, duplicate geometry must be created with the normals flipped.
     299
     300'''__[ LEVEL OF DETAIL]__''''''____'''
    350301
    351302Because the models in the game will be small on screen and because the poly counts must be kept low, anything smaller than a human hand should not be modeled but included in texturing.
     
    357308'''__[ PROPS]__'''
    358309
    359 Pyrogenesis uses a system that is called propping. It is also defined in the computer world as a parent/child or master/slave relationship. In 0 A.D. we call it a body/prop relationship.  Props are objects that are separated from the parent and have the ability to be used independently in whatever circumstance deemed fit.
    360 
    361 They are ‘attached’ in the actual game by the engine by a designation in an XML file. Every bone in a skeleton is capable of having a prop point attached to it as a child.  That prop point is a ‘node’ that can be identified in an XML file and a prop may be assigned to that node. The prop orientates and positions itself to the prop point node in the game.  The prop follows the movement (if any) of the bone it was attached to.
    362 
    363 The advantage this gives us is versatility and variety.  It also cuts down on the downloaded size of the game. Instead of making 200 totally unique units, we simply create 8 basic shared body types, 50 or so props, create unique skins, and create combinations of these basic elements to allow for a host of options to developers and gamers/modders! This proves to be a very versatile system for creating content for the 0 A.D. world. To reiterate, armor and weapons are not to be included in the base mesh of the unit except under very special circumstances (we have yet to see it, but never say never).
     310Pyrogenesis uses a system that is called propping. It is also defined in the computer world as a parent/child or master/slave relationship. In 0 A.D. we call it a body/prop relationship.  Props are objects that are separated from the parent and have the ability to be used independently in whatever circumstance deemed fit.
     311
     312They are ‘attached’ in the actual game by the engine by a designation in an XML file. Every bone in a skeleton is capable of having a prop point attached to it as a child.  That prop point is a ‘node’ that can be identified in an XML file and a prop may be assigned to that node. The prop orientates and positions itself to the prop point node in the game. The prop follows the movement (if any) of the bone it was attached to.
     313
     314The advantage this gives us is versatility and variety.  It also cuts down on the downloaded size of the game. Instead of making 200 totally unique units, we simply create 8 basic shared body types, 50 or so props, create unique skins, and create combinations of these basic elements to allow for a host of options to developers and gamers/modders! This proves to be a very versatile system for creating content for the 0 A.D. world. To reiterate, armor and weapons are not to be included in the base mesh of the unit except under very special circumstances (we have yet to see it, but never say never).
    364315
    365316Here are some examples of props: helmets, weapons, shields, capes, quivers, pottery, barrels, baskets, vegetation.
    366317
    367  
    368 
    369 '''__[ PROPping with
    370 pyrogenesis 3ds max plugin]__'''
    371 
    372  
     318'''__[ PROPping with pyrogenesis 3ds max plugin]__''''''____'''
    373319
    374320This tutorial teaches on how to use the Prometheus 3ds Max propping tools. This will enable you to use the propping feature while doing your modding for 0 A.D. Well, if we are going to work with 3ds Max, we are going to need a plug-in and you can download that [http://www.wildfiregames.com/%7Eart/pmdexp6.rar HERE].
    375321
    376  
    377 
    378322What propping does is allows us to transform this:
    379323
    380 
    381324||||VS.||||
    382325
    383  
    384 
    385326This 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.
    386327
    387  
    388 
    389328So, 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:
    390329
    391  
    392 
    393330We 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.
    394331
    395  
    396 
    397332So lets get started!
    398333
    399  
    400 
    401334This 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:
    402335
    403  
    404 
    405336The 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.
    406337
    407 [[BR]]  
    408 
    409 
    410 ||'''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]][[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]][[BR]] ||
    411 
    412  
    413 
    414 [[BR]]  
    415 
    416 
    417 ||'''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]][[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]][[BR]] ||
    418 
    419 [[BR]]  
    420 
    421 
    422 ||'''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]][[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]][[BR]] ||
    423 
    424  
    425 
    426  
     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]][[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]][[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]][[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]][[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]][[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]][[BR]]||
    427343
    428344'''[[BR]] [ Skins and Textures]'''
    429345
    430 This is such a critical topic because it is the texture of a skin that really gives the game its ‘look’. 0 A.D.’s theme could be described as a hyper-realistic look. This is a historical game and not a fantasy or futuristic game. Our colors will be slightly more saturated than the real world. We also want to reflect the ‘realness’ of our world by NOT making things look totally new like you just purchased them off a store shelf, but rather: used, weathered, worn, ‘real’.  It is very important to follow the concept, do not make creative liberties.  The concept has been approved by the art department lead and the historian, your idea in your creative mind has not been.  Make sure the viewer always knows what they are looking at.  Also, pay particular note to details!  The more detail that can be added to a texture, the better.
     346This is such a critical topic because it is the texture of a skin that really gives the game its ‘look’. 0 A.D.’s theme could be described as a hyper-realistic look. This is a historical game and not a fantasy or futuristic game. Our colors will be slightly more saturated than the real world. We also want to reflect the ‘realness’ of our world by NOT making things look totally new like you just purchased them off a store shelf, but rather: used, weathered, worn, ‘real’.  It is very important to follow the concept, do not make creative liberties.  The concept has been approved by the art department lead and the historian, your idea in your creative mind has not been.  Make sure the viewer always knows what they are looking at.  Also, pay particular note to details! The more detail that can be added to a texture, the better.
    431347
    432348[[BR]] Here are some key elements of what makes up a good skin:
    433 
    434349
    435350 * '''Historical foundations''' – work with history,      don’t create your own history
    436351 * '''Color '''– slightly more saturation than the real      world
    437352 * '''Theme''' – heighten and enhance the purpose of      mesh through your skin
    438  * '''File Formats''' – Always save your originals in a      lossless layered format (PSD, PSP or equivalent). We will be using DDS for      the majority of all skins.  Refer      down below for more information on DDS files.
    439  * '''Size '''– Power of 2 (2!^n)! must be used for the      dimensions of the images.  These      include 8, 16, 32, 64, 128, 256, and 512.       DDS files require this.  Both      rectangular and square varieties may be used by mixing and matching the      widths and heights using the above numbers. 
     353 * '''File Formats''' – Always save your originals in a      lossless layered format (PSD, PSP or equivalent). We will be using DDS for      the majority of all skins.  Refer      down below for more information on DDS files.
     354 * '''Size '''– Power of 2 (2!^n)! must be used for the      dimensions of the images.  These      include 8, 16, 32, 64, 128, 256, and 512.       DDS files require this.  Both      rectangular and square varieties may be used by mixing and matching the      widths and heights using the above numbers.
    440355   * 64x64 – unit props
    441356   * 128x128 - typical units
     
    443358   * 512x512 – structures (shared), and terrain textures
    444359
    445 Keep in mind that the size of the texture should reflect the relative size in the game.  There is no reason to make a texture for a flower to be 256x256 when in the game it will never been seen up so close to see such detail.
    446 
    447 
    448  * '''Methods '''– Method 1 (Recommended) - start with      a larger original sample, and then shrink. For example, if your target      size is 256, then start with a 512 and then shrink by half and sharpen. Method      2 – Some believe that you are creating unnecessary detail and waste time      to use Method 1, so they work with the texture at it’s final resolution      (most artists are not this good however).      
    449 
    450 Use Layers! Layers are your friend. Save your layers!  You never know when a belt used on one texture might be useful to share with another.  Using the texture template you are able to share certain features across textures.  If the elements of a texture are separated by layers, this job is much easier.
    451 
    452 
    453  * '''Player color''' – Player color is achieved      through the Alpha Channel of the DDS file. The visual data within the RGB      channels should be desaturated (made to black and white).  More on this topic further on in this      document.
     360Keep in mind that the size of the texture should reflect the relative size in the game.  There is no reason to make a texture for a flower to be 256x256 when in the game it will never been seen up so close to see such detail.
     361
     362 * '''Methods '''– Method 1 (Recommended) - start with      a larger original sample, and then shrink. For example, if your target      size is 256, then start with a 512 and then shrink by half and sharpen. Method      2 – Some believe that you are creating unnecessary detail and waste time      to use Method 1, so they work with the texture at it’s final resolution      (most artists are not this good however).
     363
     364Use Layers! Layers are your friend. Save your layers!  You never know when a belt used on one texture might be useful to share with another.  Using the texture template you are able to share certain features across textures.  If the elements of a texture are separated by layers, this job is much easier.
     365
     366 * '''Player color''' – Player color is achieved      through the Alpha Channel of the DDS file. The visual data within the RGB      channels should be desaturated (made to black and white).  More on this topic further on in this      document.
    454367 * '''Backup '''– Backup all your work in the art SVN      repository in case something bad happens to your computer – compressed your      source (uncompressed) files (MAX, PSD, BMP, TGA) please, use ZIP or RAR.
    455368
    456 
    457369 * '''Communicate! '''      - If you need help or you would like some links to some good tutorials,      feel free to ask questions of your fellow workers and the art department      lead.
    458370
    459 '''__ __'''
    460 
    461371'''__[ Preferred 2D Tool]__'''
    462372
    463 There really isn’t any preferred graphical editing software that is capable of opening and saving BMP files may be used to create textures for Pyrogenesis.  Software that is capable of supporting alpha channels and saving files in DDS format would be advantageous.
    464 
    465  
     373There really isn’t any preferred graphical editing software that is capable of opening and saving BMP files may be used to create textures for Pyrogenesis.  Software that is capable of supporting alpha channels and saving files in DDS format would be advantageous.
    466374
    467375Recommended 2D software options:
    468376
    469 [http://en.wikipedia.org/wiki/Adobe_Photoshop Adobe
    470 Photoshop] – Commercial
    471 
    472 [http://en.wikipedia.org/wiki/Adobe_Photoshop_Elements Adobe Photoshop
    473 Elements] – Commercial
    474 
    475 [http://en.wikipedia.org/wiki/Corel_Paint_Shop_Pro_Photo Corel Paint Shop
    476 Pro] – Commercial
    477 
    478 [http://en.wikipedia.org/wiki/Corel_Painter Corel
    479 Painter] – Commercial
     377[http://en.wikipedia.org/wiki/Adobe_Photoshop Adobe Photoshop] – Commercial
     378
     379[http://en.wikipedia.org/wiki/Adobe_Photoshop_Elements Adobe Photoshop Elements] – Commercial
     380
     381[http://en.wikipedia.org/wiki/Corel_Paint_Shop_Pro_Photo Corel Paint Shop Pro] – Commercial
     382
     383[http://en.wikipedia.org/wiki/Corel_Painter Corel Painter] – Commercial
    480384
    481385[http://www.righthemisphere.com/ Deep Paint 3D]- Commercial
     
    487391[http://en.wikipedia.org/wiki/Paint.NET Paint.NET] – Open Source, Free
    488392
    489  
    490 
    491393DDS plugins:
    492394
    493 [http://developer.nvidia.com/object/photoshop_dds_plugins.html nVidia 8BF
    494 plugin] – Free plugin that is useful for software that utilizes 8BF plugins
    495 
    496 [http://developer.nvidia.com/page/tools.html nVidia’s
    497 Developer Tools] – Other useful DDS tools
    498 
    499  
    500 
    501 '''__[ Graphics
    502 Formats]__'''
    503 
    504 ·        '''BMP'''[[BR]] Lossless and uncompressed, a large file that is bigger than a TGA, and lacks alpha channel support.  The most basic format that may be saved and converted to a .dds file using a WFG conversion tool.  Alpha layer tools are not required.
    505 
    506 ·        '''TGA'''[[BR]] It is a lossless format, and supports alpha content via alpha channels.  A 24-bit TGA will be converted to a DXT1 DDS file, and a 32-bit (alpha) TGA will be converted to a DXT3 DDS file. NOTE: Photoshop 7.0 has a bug where you can't save alpha in TGA. You should upgrade to Photoshop 7.1 or Photoshop CS.  Because this format does contain alpha layers it requires software that takes advantage of this feature.  This may also be converted to a .dds file using a WFG conversion tool.
    507 
    508 ·        '''JPEG'''[[BR]] DO NOT USE THIS FORMAT.
    509 
    510 ·        '''DDS'''[[BR]] This is the format that is used by the game, no conversion is needed, subsequently loading times are extremely fast, in the order of 5x faster than any other format. This format gives you full control over the texture attributes and color format, it also supports alpha channels. This format is therefore recommended for maximum performance and control.
     395[http://developer.nvidia.com/object/photoshop_dds_plugins.html nVidia 8BF plugin] – Free plugin that is useful for software that utilizes 8BF plugins
     396
     397[http://developer.nvidia.com/page/tools.html nVidia’s Developer Tools] – Other useful DDS tools
     398
     399'''__[ Graphics Formats]__''''''____'''
     400
     401·        '''BMP'''[[BR]] Lossless and uncompressed, a large file that is bigger than a TGA, and lacks alpha channel support.  The most basic format that may be saved and converted to a .dds file using a WFG conversion tool.  Alpha layer tools are not required.
     402
     403·        '''TGA'''[[BR]] It is a lossless format, and supports alpha content via alpha channels.  A 24-bit TGA will be converted to a DXT1 DDS file, and a 32-bit (alpha) TGA will be converted to a DXT3 DDS file. NOTE: Photoshop 7.0 has a bug where you can't save alpha in TGA. You should upgrade to Photoshop 7.1 or Photoshop CS.  Because this format does contain alpha layers it requires software that takes advantage of this feature.  This may also be converted to a .dds file using a WFG conversion tool.
     404
     405·        '''JPEG'''[[BR]] DO NOT USE THIS FORMAT.
     406
     407·        '''DDS'''[[BR]] This is the format that is used by the game, no conversion is needed, subsequently loading times are extremely fast, in the order of 5x faster than any other format. This format gives you full control over the texture attributes and color format, it also supports alpha channels. This format is therefore recommended for maximum performance and control.
    511408
    512409DirectX Texture Compression : DXTC is the native, compressed texture format used in DirectX 9. In many cases, DXTC reduces texture memory usage by 50% or more over palettized, 8-bit textures, allowing for twice the textures at the same resolution, or the same number of textures at twice the resolution. Three DXTC formats are available. You can see a detailed comparison on the different types of texture compression here: http://udn.epicgames.com/pub/Content/TextureComparison/ The color channels are all the same DXT1, DXT3, and DXT5 - in terms of compression and quality. The difference lies in the alpha channel.
    513410
    514 ·        '''DXT1''' is a four-bit compressed color format that allows for '''opaque''', and '''one-bit alpha''' (DXT1a) textures; that is, textures with no transparency at all, and textures with a single transparent color.
    515 
    516 ·        '''DXT3''' adds support for a four-bit explicit alpha channel, on top of DXT1's color compression. Four-bit explicit alpha allows for sixteen distinct alpha values, making it good for textures with '''sharply contrasting translucent/opaque areas'''. DXT2 textures assume the color data is pre-multiplied by the alpha channel.
    517 
    518 ·        '''DXT5''' support a four-bit interpolated alpha channel. Three bits are used to determine explicit alpha values, and two eight-bit values are used to interpolate gradually between them. This makes the format especially suited for soft '''gradients''' and other textures where the '''alpha areas’ variance is mild'''. DXT4 assumes colors are pre-multiplied by the alpha channel.
    519 
    520 ·        '''32-bit RGBA''' is the obese godfather of textures. While extremely powerful, it's also terribly overweight. It features full 24-bit color, plus an 8-bit alpha channel, but takes up four bytes for every pixel; a 256x256 texture will require 256k of memory.
     411·        '''DXT1''' is a four-bit compressed color format that allows for '''opaque''', and '''one-bit alpha''' (DXT1a) textures; that is, textures with no transparency at all, and textures with a single transparent color.
     412
     413·        '''DXT3''' adds support for a four-bit explicit alpha channel, on top of DXT1's color compression. Four-bit explicit alpha allows for sixteen distinct alpha values, making it good for textures with '''sharply contrasting translucent/opaque areas'''. DXT2 textures assume the color data is pre-multiplied by the alpha channel.
     414
     415·        '''DXT5''' support a four-bit interpolated alpha channel. Three bits are used to determine explicit alpha values, and two eight-bit values are used to interpolate gradually between them. This makes the format especially suited for soft '''gradients''' and other textures where the '''alpha areas’ variance is mild'''. DXT4 assumes colors are pre-multiplied by the alpha channel.
     416
     417·        '''32-bit RGBA''' is the obese godfather of textures. While extremely powerful, it's also terribly overweight. It features full 24-bit color, plus an 8-bit alpha channel, but takes up four bytes for every pixel; a 256x256 texture will require 256k of memory.
    521418
    522419[[BR]] '''Recommendation'''[[BR]] Use DXT1 textures as much as is possible because the greatest space savings can be had with them (any texture without an alpha transparency layer). If watching for rendering artifacts is not an option, DXT5 supports the most flexible alpha channels, while not increasing memory usage beyond that of a normal 8-bit palletized texture (for textures that require the use of the alpha layer – player color, transparency, object color). Use full RGBA only when DXT3/5 do not suffice in the both the color and alpha quality department, in highly visible expanses, such as skies box textures and user interface elements.
    523420
    524  
    525 
    526 NOTE: A hardware bug in all nVidia chipsets, including the NV20 (!GeForce3), potentially makes DXT1 textures gross and ugly. Specifically, decompression is performed in 16-bit color mode internally, making the resulting texture potentially unacceptable for use, especially when combined with other operations. Test your DXT1 textures on nVidia hardware before committing to their use. All other DXTC formats on nVidia hardware are okay, as textures are decompressed in 32-bit color internally.[[BR]][[BR]]
    527 
    528 '''__[ BASIC HUMAN
    529 TEMPLATE]__'''
     421NOTE: A hardware bug in all nVidia chipsets, including the NV20 (!GeForce3), potentially makes DXT1 textures gross and ugly. Specifically, decompression is performed in 16-bit color mode internally, making the resulting texture potentially unacceptable for use, especially when combined with other operations. Test your DXT1 textures on nVidia hardware before committing to their use. All other DXTC formats on nVidia hardware are okay, as textures are decompressed in 32-bit color internally.[[BR]]
     422
     423'''__[ BASIC HUMAN TEMPLATE]__''''''____'''
    530424
    531425A basic human template can be found here: http://www.wildfiregames.com/users/art/mythos/textures/newdude-newUVmap.psd
     
    533427The base texture (affectionately named dude) looks like this:
    534428
    535 To 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.
    536 
    537 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]] [[BR]][[BR]]
     429To 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.
     430
     431To 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]] [[BR]]
    538432
    539433Notice how the following images wrap and tile as you offset them:
    540434
    541 
    542435||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.||
    543436
    544  
    545 
    546 
    547 ||||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.||
    548 
    549  
     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.||
    550438
    551439The goal is to eliminate the seams in our textures and this template will do that.
    552440
    553 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:
    554 
     441The 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:
    555442
    556443 * necklines      that line up
     
    564451 * sample      bracers
    565452
    566 It 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.
    567 
    568  
     453It 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.
    569454
    570455'''__[ Player COlor]__'''
    571456
    572 Player 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:
    573 
    574  \binaries\system\textureconv
    575 
    576 The 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’. 
     457Player 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:
     458
     459  \binaries\system\textureconv
     460
     461The 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’.
    577462
    578463Notice how the player color depth is brought out by the color multiplication in comparing the two images on the left.
    579464
    580  
    581 
    582465The images on the far right show how the engine uses the player color to change between various colors.
    583466
    584467'''__[[BR]] [ Object COlor]__'''
    585468
    586 Object 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. 
    587 
    588  
     469Object 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.
    589470
    590471'''__[ Transparency]__'''
    591472
    592 Transparency, like player color and object color, uses the alpha channel for it’s definition.  The same methods are used for creation.  This is probably the usage of the alpha channel that most are familiar with, so it doesn’t require much explanation.  The Actor file that uses the texture must however tell the engine the texture has transparency and is called out as such in the Actor file.
    593 
    594  
     473Transparency, like player color and object color, uses the alpha channel for it’s definition.  The same methods are used for creation.  This is probably the usage of the alpha channel that most are familiar with, so it doesn’t require much explanation.  The Actor file that uses the texture must however tell the engine the texture has transparency and is called out as such in the Actor file.
    595474
    596475'''__[ Other]__'''
     
    602481'''Original Files'''
    603482
    604 DDS will be used for the final texture format in Pyrogenesis, However, it is also recommended that textures be created in Photoshop, Paintshop Pro, or Gimp (etc.) also be saved as Photoshop Documents PSD files, with their layer information intact, so that later revisions can be made.  This will also serve as an easier way to make variations and modifications in the future.
     483DDS will be used for the final texture format in Pyrogenesis, However, it is also recommended that textures be created in Photoshop, Paintshop Pro, or Gimp (etc.) also be saved as Photoshop Documents PSD files, with their layer information intact, so that later revisions can be made.  This will also serve as an easier way to make variations and modifications in the future.
    605484
    606485'''Texture Size'''
     
    614493512x512 for shared structure textures and terrain textures
    615494
    616 Some find that working at double the intended game resolution size in your 2D software package then scaling the final version down is useful.  Others say that you waste time creating unused detail.  The decision will be yours to make.
     495Some find that working at double the intended game resolution size in your 2D software package then scaling the final version down is useful.  Others say that you waste time creating unused detail. The decision will be yours to make.
    617496
    618497'''Terrain Textures'''
    619498
    620 Terrains 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. 
    621 
    622 This 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.
    623 
    624  
     499Terrains 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.
     500
     501This 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.
    625502
    626503'''Terrain Blends'''
    627504
    628            
    629 
    630 This 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. 
    631 
    632 To 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.
     505This 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.
     506
     507To 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.
    633508
    634509'''Skybox Textures'''
    635510
    636 A skybox is an interesting graphical feature of the world.  It is for the most part unimportant to the game, but goes a long way to beautifying the world.  The skybox is just that.  It is a large cube in the game world that does not move relative to the camera.  It is comprised of five textures for all faces excluding the bottom.  The textures location is: art\textures\skies\<name>.  The five textures are named front, back, left, right, and top.  The files are saved as 32 bit RBGA DDS files.  Reason being is that there is no file compression which means there are no artifacts on the textures.  The textures were created in 3DS max by setting up a 5 camera’s each facing a direction.  A textured halved sphere was created.  All five camera’s render an image.  You can test your images in this small program:
     511A skybox is an interesting graphical feature of the world.  It is for the most part unimportant to the game, but goes a long way to beautifying the world.  The skybox is just that.  It is a large cube in the game world that does not move relative to the camera.  It is comprised of five textures for all faces excluding the bottom.  The textures location is: art\textures\skies\<name>.  The five textures are named front, back, left, right, and top.  The files are saved as 32 bit RBGA DDS files.  Reason being is that there is no file compression which means there are no artifacts on the textures.  The textures were created in 3DS max by setting up a 5 camera’s each facing a direction.  A textured halved sphere was created.  All five camera’s render an image. You can test your images in this small program:
    637512
    638513http://www.wildfiregames.com/users/art/skyboxtexturetest.rar
     
    640515'''Water Textures'''
    641516
    642 Water 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.
     517Water 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.
    643518
    644519[[BR]] '''[[BR]] [ Animation]'''
    645520
    646  
    647 
    648521Animations 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:
    649 
    650522
    651523 * '''Exaggerate''' – your character is very small on      the screen. Make sure the gamer knows the difference between swinging a      sword and waving hello.
     
    654526 * '''Backup '''– Backup all your work in the WFG art SVN      in case something bad happens to your computer – compressed please (ZIP or      RAR)
    655527
    656  
    657 
    658 The key animation types are as follows: 
    659 
    660  
     528The key animation types are as follows:
    661529
    662530'''Idle''' – a very subtitle movement simply to let the user know the unit is not a stone.
     
    668536'''Run''' – if capable, a run cycle
    669537
    670 '''Death''' – when the unit’s hit points reach zero, the unit must die.  2-3 variations
     538'''Death''' – when the unit’s hit points reach zero, the unit must die.  2-3 variations
    671539
    672540'''Foraging''' – if capable, two types: picking berry bushes, and picking fruit from trees
     
    678546'''Farming''' – if capable, swinging a hoe
    679547
    680 '''__ __'''
    681 
    682548'''__[ Tools]__'''
    683549
    684 Discreet's Character Studio has been the primary character animation tool for character animation. However with the use of COLLADA to export animations, a variety of software packages may be used as long as the skeleton, mesh, and animation use the same scale and bones.  Standard 3DS Max Bones may also be used when a custom rig is necessary, though the total number of bones in a rig must not exceed 25.
    685 
    686  
    687 
    688  
    689 
    690 Above is the image of the hierarchy and naming convention of the basic Biped that is used for all humanoid animation in the game (Note: ignore the green boxes and the footsteps).  If an alternative is desired that does not match this structure, contact the developers for support.
    691 
    692  
     550Discreet's Character Studio has been the primary character animation tool for character animation. However with the use of COLLADA to export animations, a variety of software packages may be used as long as the skeleton, mesh, and animation use the same scale and bones.  Standard 3DS Max Bones may also be used when a custom rig is necessary, though the total number of bones in a rig must not exceed 25.
     551
     552Above is the image of the hierarchy and naming convention of the basic Biped that is used for all humanoid animation in the game (Note: ignore the green boxes and the footsteps).  If an alternative is desired that does not match this structure, contact the developers for support.
    693553
    694554<edit below>
     
    7385983.6.6.2 Emotion Animation List
    739599
    740  
    741 
    742600'''[[BR]] [ ACTORS]'''
    743601
    744 __ __
    745 
    746602'''__[ WHat is an actor?]__'''
    747603
    748             <need to fill out>
    749 
    750 '''__ __'''
     604  <need to fill out>
    751605
    752606'''__[ Actor Editor]__'''
    753607
    754             <need to fill out>
    755 
    756  
     608  <need to fill out>
    757609
    758610'''__[ Actor Viewer]__'''
    759611
    760             <need to fill out>
    761 
    762 '''__ __'''
    763 
    764 '''__ __'''
     612  <need to fill out>
    765613
    766614'''[[BR]] [ SVN]'''
     
    768616'''__Definitions__'''
    769617
    770 '''Subversion; SVN:''' [http://subversion.tigris.org/ Link] (''!http://subversion.tigris.org/'')
    771 
     618'''Subversion; SVN:''' [http://subversion.tigris.org/ Link] (''!http://subversion.tigris.org/'')
    772619
    773620 * It records the history and      manages changes to a repository of files by multiple users.
    774621 * It takes care of ensuring      that we don't overwrite each other's files when we commit files to it, and      checks what you've already downloaded against what's in the repository so      that it'll only download things that have changed since your last update.
    775622
    776 '''TortoiseSVN:''' [http://tortoisesvn.tigris.org/ Link] (''!http://tortoisesvn.tigris.org'')
    777 
     623'''TortoiseSVN:''' [http://tortoisesvn.tigris.org/ Link] (''!http://tortoisesvn.tigris.org'')
    778624
    779625 * "A free/open-source      client for the Subversion version control system."
     
    782628'''Repository:'''
    783629
    784 
    785630 * Files are stored in a      central repository. The repository is much like an ordinary file server,      except that it remembers every change ever made to your files and      directories. This allows you to recover older versions of your files and      examine the history of how and when your data changed.
    786631
    787 '''__[ Section 1:
    788 Creating Your Account]__'''
    789 
    790 Request an account from '''Jason Bishop''' (Wijitmaker) or''' '''he will have already created one for you and has sent that information to you. You will also be given a User Name (typically the school you represent followed by your first initial and your last name.  Example: wfg_jbishop). This will be used as your personal login to access the SVN repositories.
     632'''__[ Section 1: Creating Your Account]__''''''____'''
     633
     634Request an account from '''Jason Bishop''' (Wijitmaker) or''' '''he will have already created one for you and has sent that information to you. You will also be given a User Name (typically the school you represent followed by your first initial and your last name.  Example: wfg_jbishop). This will be used as your personal login to access the SVN repositories.
    791635
    792636'''__Section 2: Getting and Installing TortoiseSVN__'''
    793637
    794 You can obtain TortoiseSVN from [http://tortoisesvn.net/downloads here] (''!http://tortoisesvn.net/downloads''). Select the latest version available for your operating system. Follow the standard installation procedure and reboot when asked.
    795 
    796  
     638You can obtain TortoiseSVN from [http://tortoisesvn.net/downloads here] (''!http://tortoisesvn.net/downloads''). Select the latest version available for your operating system. Follow the standard installation procedure and reboot when asked.
    797639
    798640'''__Section 3: Making your first Checkout__'''
     
    820662Once your password has been successfully entered, you should see the repository beginning to download:
    821663
    822 Note: This will take a while. That's perfectly normal. You're checking out over a hundred megabytes of stuff. Leave it to get on with it, and go do something else for a while.  If it errors, give it a moment and repeat the checkout steps.
     664Note: This will take a while. That's perfectly normal. You're checking out over a hundred megabytes of stuff. Leave it to get on with it, and go do something else for a while.  If it errors, give it a moment and repeat the checkout steps.
    823665
    824666Checkout puts a lot of strain on the server. If it times out, try checking out sub-sections of the repository at a time, or try again later when less members are downloading.
    825667
    826 '''__[ Section 4:
    827 Updating your files]__'''
     668'''__[ Section 4: Updating your files]__''''''____'''
    828669
    829670A key component to any version control system is the ability to update your files to the latest versions available in the repository. Much like the rest of your everyday SVN operations, TortoiseSVN makes this extremely easy. The following steps will detail how this is done:
     
    863704'''NOTE:''' To finalize the addition of files to the SVN repository you must '''commit''' the files you added! Follow the section on committing files above to see how that is done.
    864705
    865 '''__[ Section 7:
    866 Locking a folder for your use alone]__'''
    867 
    868 '''__ __'''
    869 
    870 In some cases it is advantageous to lock a specific folder or file so that only you are able to modify that.  This is sometimes required to maintain configuration control or possibly you were given a specific assignment and you did not want other to interfere with your work.  '''____'''
     706'''__[ Section 7: Locking a folder for your use alone]__''''''____'''
     707
     708In some cases it is advantageous to lock a specific folder or file so that only you are able to modify that.  This is sometimes required to maintain configuration control or possibly you were given a specific assignment and you did not want other to interfere with your work.  '''____'''
    871709
    872710'''1''' Select the file, files or directories that you want to lock.
     
    874712'''2''' Right click to bring up the context menu. Under the 'TortoiseSVN' sub-menu, select the 'Get Lock...' option:
    875713
    876  
    877 
    878714'''3''' Enter appropriate comments about the changes in the 'Enter a message desribing why you lock the file(s)' dialog:
    879715
    880  
    881 
    882  
    883 
    884 '''4''' Press 'OK'. SVN will proceed to lock the file(s) as specified.   To reverse the process, use the SVN dialog to ‘Release
     716'''4''' Press 'OK'. SVN will proceed to lock the file(s) as specified.   To reverse the process, use the SVN dialog to ‘Release
    885717
    886718'''__[[BR]] __[ Folder Structure]'''
    887719
    888  
    889 
    890720DATA
    891721
    892   ╚MODS
    893 
    894      ╚OFFICIAL
    895 
    896        ╚ART
    897 
    898           ╠'''ACTORS'''
    899 
    900           ║ ╠FAUNA
    901 
    902           ║ ╠FLORA
    903 
    904           ║ ╠GEOLOGY
    905 
    906           ║ ╠PROPS
    907 
    908           ║ ║ ╠FAUNA
    909 
    910           ║ ║ ╠FLORA
    911 
    912           ║ ║ ╠GEOLOGY
    913 
    914           ║ ║ ╠STRUCTURES
    915 
    916           ║ ║ ╠TEMP
    917 
    918           ║ ║ ╚UNITS
    919 
    920           ║ ╠STRUCTURES
    921 
    922           ║ ╠TEMP
    923 
    924           ║ ╚UNITS
    925 
    926           ╠'''ANIMATION'''
    927 
    928           ║ ╠BIPED
    929 
    930           ║ ╠GAIA
    931 
    932           ║ ╠MECHANICAL
    933 
    934           ║ ╠QUADRAPED
    935 
    936           ║ ╚SIMPLE
    937 
    938           ╠'''MATERIALS'''
    939 
    940           ╠'''MESHES'''
    941 
    942           ║ ╠GAIA
    943 
    944           ║ ╠PROPS
    945 
    946           ║ ╠SKELETAL
    947 
    948           ║ ╠STRUCTURAL
    949 
    950           ║ ╠TEMP
    951 
    952           ║ ╚TEST
    953 
    954           ╠'''SKELETONS'''
    955 
    956           ╚'''TEXTURES'''
    957 
    958             ╠ANIMATED
    959 
    960             ╠CURSORS
    961 
    962             ╠PARTICLES
    963 
    964             ╠SKIES
    965 
    966             ╠SKINS
    967 
    968             ║ ╠GAIA
    969 
    970             ║ ╠PROPS
    971 
    972             ║ ╠SKELETAL
    973 
    974             ║ ╠STRUCTURAL
    975 
    976             ║ ╠TEMP
    977 
    978             ║ ╚TEST
    979 
    980             ╠TERRAIN
    981 
    982             ║ ╠ALPHAMAPS
    983 
    984             ║ ╚TYPES
    985 
    986             ╚UI
    987 
    988  
    989 
    990 '''[[BR]] [[BR]] '''
     722  ╚MODS
     723
     724  ╚OFFICIAL
     725
     726  ╚ART
     727
     728  ╠'''ACTORS'''
     729
     730  ║ ╠FAUNA
     731
     732  ║ ╠FLORA
     733
     734  ║ ╠GEOLOGY
     735
     736  ║ ╠PROPS
     737
     738  ║ ║ ╠FAUNA
     739
     740  ║ ║ ╠FLORA
     741
     742  ║ ║ ╠GEOLOGY
     743
     744  ║ ║ ╠STRUCTURES
     745
     746  ║ ║ ╠TEMP
     747
     748  ║ ║ ╚UNITS
     749
     750  ║ ╠STRUCTURES
     751
     752  ║ ╠TEMP
     753
     754  ║ ╚UNITS
     755
     756  ╠'''ANIMATION'''
     757
     758  ║ ╠BIPED
     759
     760  ║ ╠GAIA
     761
     762  ║ ╠MECHANICAL
     763
     764  ║ ╠QUADRAPED
     765
     766  ║ ╚SIMPLE
     767
     768  ╠'''MATERIALS'''
     769
     770  ╠'''MESHES'''
     771
     772  ║ ╠GAIA
     773
     774  ║ ╠PROPS
     775
     776  ║ ╠SKELETAL
     777
     778  ║ ╠STRUCTURAL
     779
     780  ║ ╠TEMP
     781
     782  ║ ╚TEST
     783
     784  ╠'''SKELETONS'''
     785
     786  ╚'''TEXTURES'''
     787
     788  ╠ANIMATED
     789
     790  ╠CURSORS
     791
     792  ╠PARTICLES
     793
     794  ╠SKIES
     795
     796  ╠SKINS
     797
     798  ║ ╠GAIA
     799
     800  ║ ╠PROPS
     801
     802  ║ ╠SKELETAL
     803
     804  ║ ╠STRUCTURAL
     805
     806  ║ ╠TEMP
     807
     808  ║ ╚TEST
     809
     810  ╠TERRAIN
     811
     812  ║ ╠ALPHAMAPS
     813
     814  ║ ╚TYPES
     815
     816  ╚UI
     817
    991818= [ Appendix A] =
    992 
    993819= [ PMD File Format] =
    994820PMD files store a model, which includes vertex positions, normals and texture coordinates, faces (all faces are triangles), rest state bone transformations (if bones are used), and prop point positions and transformations (where other models may be propped onto this one).
     
    996822All types are stored in little-endian format. Text is always ASCII. The following is the version 2 PMD format:
    997823
    998 
    999824{{{
    1000825PMD {
     
    11861011The algorithm for calculating vertex data under a skeletal animation is:
    11871012
    1188 
    11891013{{{
    11901014pos = (0,0,0)
     
    12171041 
    12181042}}}
    1219 '''[[BR]] '''
    12201043= [ Appendix B] =
    1221 
    12221044= [ PSA File Format] =
    12231045PSA files store a skeletal animation, which consists of bone states at a number of keyframes (see Appendix A). Animations can only be applied to models with the same number of bones in the same order (no bone names are used, only indices). Although PSA contains a name field and a frame length field, these are no longer used in the game since animation variants and total animation lengths (so the same animation can be reused with different lengths) are given in the actor XML files.
     
    12251047All types are stored in little-endian format. Text is always ASCII. The following is the version 1 PSA format:
    12261048
    1227 
    12281049{{{
    12291050PSA {
     
    13311152 
    13321153}}}
    1333