Changes between Version 9 and Version 10 of ArtDesignDocument
- Timestamp:
- Jul 16, 2009, 12:48:59 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ArtDesignDocument
v9 v10 1 1 [[TOC]] 2 2 3 '''[ INTRODUCTION]''' 4 5 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image001.jpg)]]''' 6 7 '''All work reserved by Wildfire Games'''[[BR]] [[BR]] '''Statement of Confidentiality'''[[BR]] The information contained in this document is proprietary to Wildfire Games. Wildfire Games submits this[[BR]] document to its members with the understanding that you (the reader) are under the strictest confidence and accept that[[BR]] the following information will not be disclosed, duplicated or used, in whole or in part, without the prior written consent of[[BR]] Wildfire Games. 8 9 '''__[ PURPOSE]__''' 10 11 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. 12 13 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. 14 15 '''__[ THE VISION OF 0 A.D.]__''' 16 17 [[BR]] NOTE: The following section is a short extract that will aid you in understanding what 0 A.D. is all about. 18 19 0 A.D. is a historical ''(historically based)'' real time ''(non stop action)'' strategy ''(decisions affect the outcome, not chance)'' game ''(fun and enjoyable)''. I believe we say it best with the 0 A.D. creed: 20 21 ''It is a moment in time that never was. [[BR]] It is the spring of the world, and the dawn of history.[[BR]] It is a glimpse into an era when the empires of the world are at their zenith.[[BR]] It is but a breath of an age when mighty rulers wield rods of iron and brazen swords;[[BR]] to demonstrate that they are indeed the greatest ancient civilization! '' 22 23 Let's break this creed down piece by piece.[[BR]] [[BR]] '''''It is a moment in time that never was.''''' 24 25 It is important to note that "0 A.D." is a period in time that historically never actually existed. Historians go directly from 1 B.C. to 1 A.D. and skip over “0 A.D.” So, what are we saying? We are specifying that this time period is a fictional time period.[[BR]] [[BR]] '''''It is the spring of the world, and the dawn of history.''''' 26 27 History is defined as an account of a chronological chain of events. People started recording history during the time period of our game. It is this history that has been passed down to us, two millennia later. The western world as we know it was born during this time. 28 29 The Roman historian Tacitus (55 - 120 A.D.) stated: “The principle office of history I take to be this: To prevent virtuous actions from being forgotten...” 30 31 This game reflects on the heroes that lived and conquered during the timeframe of our game. It tells their stories in a fun and entertaining way.[[BR]] [[BR]] '''''It is a glimpse into an era when the empires of the world are at their zenith.''''' 32 33 0 A.D. is a slice in time. Imagine if all the ancient worlds (at the peak of their civilizations) were pitted one against another. We are plucking major civilizations out of their linear timeframe and placing them in the slice of time, which is 0 A.D.[[BR]] [[BR]] '''''It is but a breath of an age when mighty rulers wield rods of iron and brazen swords;''''' 34 35 Combat in the game plays the major role. Economic and political roles take a back seat to strategic warfare. Are we glorifying war for entertainment purposes? Uh… Yep.[[BR]] [[BR]] '''''to demonstrate that they are indeed the greatest ancient civilisation! ''''' 36 37 38 Out of the 6 civilizations, which is the best? Well, we don't know! That decision is put in the hands of the player. It is up to them to either recreate or rewrite history.[[BR]] [[BR]] '''''2000 Years Ago''''' 39 40 The game will draw people back 2000 years. This could be a bit difficult because nobody really knows for sure how things were exactly. Much information was lost during the dark ages. We are therefore basing most everything on what our historians have been able to dig up for us. We are taking a great effort to avoid stereotypical imagery and notions, in an effort to give our players a realistic world. 41 42 As 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. 43 44 '''__[ Artistic Theme]__''' 45 3 = '''__[ Artistic Theme]__''' = 46 4 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. 47 5 … … 87 45 * 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... 88 46 89 '''__[ File Naming Conventions]__''''''____'''''''' 90 47 = '''__[ File Naming Conventions]__''' = 91 48 All filenames should follow the naming conventions described below. 92 49 … … 109 66 ||'''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...||'''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|| 110 67 111 '''__[[BR]] [ Art Pipeline]__''' 112 68 = '''__ [ Art Pipeline]__''' = 113 69 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. 114 70 … … 143 99 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. 144 100 145 '''[[BR]] '''[[BR]]'''[ CONCEPTS]''' 146 101 = '''[ CONCEPTS]''' = 147 102 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: 148 103 … … 178 133 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image004.jpg)]]''' 179 134 180 '''[[BR]] '''[[BR]]'''[ Models]''' 181 135 = '''[ Models]''' = 182 136 Models 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: 183 137 … … 191 145 * '''Needed Files''' - .pmd export plugin for R6 [http://www.wildfiregames.com/%7Eart/pmdexp6.rar http://www.wildfiregames.com/~art/pmdexp6.rar] 192 146 193 '''__[ 3D ToolS]__''' 194 147 = '''__[ 3D Tools]__''' = 195 148 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 196 149 … … 211 164 [http://en.wikipedia.org/wiki/Gmax Gmax] (export W3D, import W3D into 3dsmax) 212 165 213 '''__[ COLLADA EXPORT]__''' 214 166 = '''__[ COLLADA EXPORT]__''' = 215 167 Note: Currently this has only been tested with 3ds Max. Some work may be needed to support other programs. 216 168 … … 246 198 * 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. 247 199 248 '''__[ PYROGENESIS IMPORT/EXPORT]__''' 249 200 = '''__[ PYROGENESIS IMPORT/EXPORT]__''' = 250 201 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). 251 202 … … 273 224 * Layers of animation work nicely to slightly alter a motion 274 225 275 '''__[ OTHER 3DS MAX]__''' 276 226 = '''__[ OTHER 3DS MAX]__''' = 277 227 3D Studio Max, while powerful, does have useful additional features/settings that may be added to the default installation and prove to be helpful for creating art content. 278 228 … … 291 241 '''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. 292 242 293 '''__[ Scale and PROPORTIONS]__''' 294 243 = '''__[ Scale and PROPORTIONS]__''' = 295 244 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) 296 245 … … 303 252 ||'''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|| 304 253 305 '''__[[BR]] [ Polygon Count Limits]__''''''____'''''''' 306 254 = '''__ [ Polygon Count Limits]__''' = 307 255 Pyrogenesis 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. 308 256 … … 311 259 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. 312 260 313 '''__[ LEVEL OF DETAIL]__''''''____'''''''' 314 261 = '''__[ LEVEL OF DETAIL]__'''''''' = 315 262 Because 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. 316 263 317 '''__[ ORIENTATION]__''' 318 264 = '''__[ ORIENTATION]__''' = 319 265 The orientation of models in the game follows standard max views. When viewing from the max Front view it would display the front facing view of the model. In other words, the model should be looking along the negative Y axis. 320 266 321 '''__[ PROPS]__''' 322 267 = '''__[ PROPS]__''' = 323 268 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. 324 269 … … 329 274 Here are some examples of props: helmets, weapons, shields, capes, quivers, pottery, barrels, baskets, vegetation. 330 275 331 '''__[ PROPping with pyrogenesis 3ds max plugin]__''''''____'''''''' 332 276 = '''__[ PROPping with pyrogenesis 3ds max plugin]__'''''''' = 333 277 This 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]. 334 278 … … 361 305 ||'''Step 5 - Exporting'''[[BR]][[BR]] [[BR]][[BR]]It is time to export! select both the prop point and the [[BR]] structure.[[BR]][[BR]]'''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image025.gif)]]'''[[BR]][[BR]] [[BR]][[BR]]Go to File => Export Selected[[BR]][[BR]]'''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image026.gif)]]'''[[BR]][[BR]] [[BR]][[BR]]Now go ahead and export your structure.[[BR]][[BR]]'''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image027.gif)]]'''[[BR]][[BR]] [[BR]][[BR]]And that's it! You just exported an object with a prop point included! Repeat the same export for the prop point.||'''Step 6 - xml code'''[[BR]][[BR]] [[BR]][[BR]]You're all done in 3dmax. Now it is time to look at the [[BR]] xml code.[[BR]][[BR]]'''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image028.gif)]]'''[[BR]][[BR]][[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (the name that will appear in Atlas). We are also pointing to the newly created *.pmd file. We call up the texture.[[BR]][[BR]]We name the prop point and tell it what actor is supposed to go there.[[BR]][[BR]] [[BR]]'''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image029.gif)]]'''[[BR]][[BR]][[BR]] [[BR]][[BR]]In this code snippet:[[BR]][[BR]] [[BR]][[BR]]We have given it the proper name (that will be 'called up' by the code above). We are also pointing to the newly created PMD file. We call up the texture.[[BR]][[BR]] [[BR]][[BR]]'''Summary'''[[BR]][[BR]] [[BR]][[BR]]The tutorial above probably has some unneeded steps, but for the beginner, this is a good way to start. You will find yourself refining your procedures with experience.|| 362 306 363 '''[[BR]] [ Skins and Textures]''' 364 307 = ''' [ Skins and Textures]''' = 365 308 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. 366 309 … … 388 331 * '''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. 389 332 390 '''__[ Preferred 2D Tool]__''' 391 333 = '''__[ Preferred 2D Tool]__''' = 392 334 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. 393 335 … … 416 358 [http://developer.nvidia.com/page/tools.html nVidia’s Developer Tools] – Other useful DDS tools 417 359 418 '''__[ Graphics Formats]__''''''____'''''''' 419 360 = '''__[ Graphics Formats]__'''''''' = 420 361 · '''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. 421 362 … … 440 381 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. 441 382 442 '''__[ BASIC HUMAN TEMPLATE]__''''''____'''''''' 443 383 = '''__[ BASIC HUMAN TEMPLATE]__'''''''' = 444 384 A basic human template can be found here: http://www.wildfiregames.com/users/art/mythos/textures/newdude-newUVmap.psd 445 385 … … 483 423 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. 484 424 485 '''__[ Player Color]__''' 486 425 = '''__[ Player Color]__''' = 487 426 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image038.jpg)]]''' 488 427 … … 505 444 These images show how the engine uses the player color to change between various colors. 506 445 507 '''__[[BR]] [ Object Color]__''' 508 446 = '''__ [ Object Color]__''' = 509 447 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image044.jpg)]]''' 510 448 … … 513 451 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image043.jpg)]]''' 514 452 515 '''__[ Transparency]__''' 516 453 = '''__[ Transparency]__''' = 517 454 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. 518 455 519 '''__[ Other]__''' 520 456 = '''__[ Other]__''' = 521 457 '''UV Coordinates and Texturing''' 522 458 … … 567 503 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. 568 504 569 '''[[BR]] [ Animation]''' 570 505 = ''' [ Animation]''' = 571 506 Animations 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: 572 507 … … 596 531 '''Farming''' – if capable, swinging a hoe 597 532 598 '''__[ Tools]__''' 599 533 = '''__[ Tools]__''' = 600 534 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. 601 535 … … 650 584 3.6.6.2 Emotion Animation List 651 585 652 '''[[BR]] [ ACTORS]''' 653 586 = ''' [ ACTORS]''' = 654 587 '''__[ What is an actor?]__''' 655 588 … … 664 597 <need to fill out> 665 598 666 '''[[BR]] [ SVN]''' 667 668 '''__Definitions__''' 669 670 '''Subversion; SVN:''' [http://subversion.tigris.org/ Link] (''!http://subversion.tigris.org/'') 671 672 * It records the history and manages changes to a repository of files by multiple users. 673 * 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. 674 675 '''TortoiseSVN:''' [http://tortoisesvn.tigris.org/ Link] (''!http://tortoisesvn.tigris.org'') 676 677 * "A free/open-source client for the Subversion version control system." 678 * An easy-to-use tool that integrates with Windows Explorer. It is used to access the Subversion repository. 679 680 '''Repository:''' 681 682 * 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. 683 684 '''__[ Section 1: Creating Your Account]__''''''____'''''''' 685 686 Request an account from '''Erik''' (feneur) 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 group or 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. 687 688 '''__Section 2: Getting and Installing TortoiseSVN__''' 689 690 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. 691 692 '''__Section 3: Making your first Checkout__''' 693 694 Now we need to point you to the correct SVN URL and checkout the current SVN source tree onto your harddrive. The current SVN trunk url is: 695 696 [http://svn.wildfiregames.com/svn/ps/trunk http://svn.wildfiregames.com/svn/ps/trunk/binaries/] 697 698 ''I also suggest creating a unique directory. I use the directory C:\0ad, but feel free to use whatever directory you see fit.'' 699 700 ''The directory you check the game out to should ideally have no spaces in its path. For example, C:\My Documents\0AD may cause problems.'' 701 702 Next, follow these steps to checkout the SVN tree. 703 704 '''1''' In Windows Explorer, navigate to the directory where you want to check the SVN tree out to. 705 706 '''2''' Right click to bring up the context menu. Select 'Checkout...' in the SVN section of the menu: 707 708 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image049.jpg)]]''' 709 710 '''3''' In the 'Url of repository' field enter the URL above. Leave all other fields at their defaults (note that the image below uses the incorrect URL – '''USE URL AS DIRECTED ABOVE'''): 711 712 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image050.jpg)]]''' 713 714 '''4''' After pressing OK, a dialog referring to caching the CVS server's host key could come up. Accept that key if it does. 715 716 You should then be prompted for your account login. Enter the username and password you have requested. In some cases you may be asked for your password twice. 717 718 Once your password has been successfully entered, you should see the repository beginning to download: 719 720 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image051.jpg)]]''' 721 722 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. 723 724 Checkout 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. 725 726 '''__[ Section 4: Updating your files]__''''''____'''''''' 727 728 A 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: 729 730 '''1''' Select the file, files or directories that you want to update ('''NOTE:''' I suggest updating entire modules of the project at a time. For instance, update the entire 'source' or 'binaries' module, or both. This will keep your entire source base in sync with the Subversion tree. If you have a reason to only update a subset of the projects objects, then you may do that as well) 731 732 '''2''' Right click to bring up the context menu. In the SVN section of the menu, select 'Update...': 733 734 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image052.jpg)]]''' 735 736 '''3''' You should immediately see a status dialog detailing what SVN is updating: 737 738 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image053.jpg)]]''' 739 740 The next two sections describe how to add to or change the repository contents, and are only available to accounts with write access (artists and programmers). 741 742 '''__Section 5: Making your first commit__''' 743 744 Once you have made some changes and are ready to check them in, you will need to commit them. You can commit an entire directory (and all of its sub-directories), a group of files, or a single file. Use the following steps to commit files to Subversion: 745 746 '''1''' Select the file, files or directories that you want to commit. 747 748 '''2''' Right click to bring up the context menu. Select 'Commit...' in the SVN area of the menu: 749 750 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image054.jpg)]]''' 751 752 '''3''' Enter appropriate comments about the changes in the 'Enter Log Message' dialog: 753 754 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image055.jpg)]]''' 755 756 '''4''' Press 'OK'. The commit should begin and you should see the following status dialog: 757 758 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image056.jpg)]]''' 759 760 '''__Section 6: Adding files to the repository__''' 761 762 Before you can commit a new file to the repository, you must first add it. Adding files to the repository is much like committing them, just use the following steps: 763 764 '''1''' Select the file, files or directories that you want to add. 765 766 '''2''' Right click to bring up the context menu. Under the 'TortoiseSVN' sub-menu, select the 'Add...' option: 767 768 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image057.jpg)]]''' 769 770 '''3''' Confirm which files you want to add to the repository: 771 772 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image058.jpg)]]''' 773 774 '''4''' Press 'OK'. You will see a status dialog detailing what was added to the SVN repository: 775 776 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image059.jpg)]]''' 777 778 '''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. 779 780 '''__[ Section 7: Locking a folder for your use alone]__''''''____'''''''' 781 782 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. '''____''' 783 784 '''1''' Select the file, files or directories that you want to lock. 785 786 '''2''' Right click to bring up the context menu. Under the 'TortoiseSVN' sub-menu, select the 'Get Lock...' option: 787 788 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image060.jpg)]]''' 789 790 '''3''' Enter appropriate comments about the changes in the 'Enter a message desribing why you lock the file(s)' dialog: 791 792 '''[[Image(http://www.wildfiregames.com/0ad/images/artspec/image061.jpg)]]''' 793 794 '''4''' Press 'OK'. SVN will proceed to lock the file(s) as specified. To reverse the process, use the SVN dialog to ‘Release 795 796 '''__[[BR]] __[ Folder Structure]''' 797 599 = ''' [ SVN]''' = 600 For instructions on comitting your work, see [wiki:"wiki:TortoiseSVN Guide" here]. __''''''__ 601 602 = '''[ Folder Structure]''' = 798 603 DATA 799 604