TDD Confidential BRIG Technical Design Document Disposable Entertainment Version 2.2 Position Title Name Assistant Producer/Level Designer Game Designer/Level Designer Lead Level Designer Level Designer Level Designer Level Designer Level Designer Lead Artist Artist Artist Artist Lead Programmer Programmer Philip Riley Julian Trutmann Jose Nieves Matt Bonnitt Jason Sloan Jason Phillips Drew Wisniewski Jason Eeg Katie Sabin John Stamos Travis Everett Eduardo Lev Brad Johnston Disposable Entertainment Signature Page 1 of 35 12/9/2011 TDD Confidential BRIG Document Revisions Table Version Description Requestor Date 1.0 Initial Document Added new game components and updated risk analysis Incorporated instructor feedback throughout Updated End Product section to match the current state of the game. Updated component descriptions page 16, and added Issue Manager tutorial page 28. Professors McCoy and Rosemond 7/5/2011 Professors Rosemond and Stringer 8/22/2011 Professors Rosemond and Stringer 10/6/2011 Professors Clune and Stringer 12/9/2011 2.0 2.1 2.2 Disposable Entertainment Page 2 of 35 12/9/2011 TDD Confidential BRIG Table of Contents Table of Figures ............................................................................................................................................. 6 Project and Motivation ................................................................................................................................. 7 Scope ......................................................................................................................................................... 7 End Product............................................................................................................................................... 8 Gameplay .................................................................................................................................................. 8 Game objects ............................................................................................................................................ 9 HUD and GUI ............................................................................................................................................. 9 Menu Systems ......................................................................................................................................... 10 Deliverables................................................................................................................................................. 10 System Requirements ................................................................................................................................. 10 Target System ......................................................................................................................................... 10 Minimum................................................................................................................................................. 10 Peripheral: XBOX 360 ControllerRecommended ................................................................................... 10 Development System .............................................................................................................................. 11 Resource Budget ......................................................................................................................................... 12 CPU Execution Time Estimate ................................................................................................................. 12 Memory Utilization Estimate .................................................................................................................. 12 Assets Budgets Estimate ......................................................................................................................... 12 Art Assets Budgets Estimate ................................................................................................................... 12 Technology Sources .................................................................................................................................... 14 Acquired Technology and External Tools................................................................................................ 14 Art Creation ......................................................................................................................................... 14 Level Design ........................................................................................................................................ 14 Software Engineering .......................................................................................................................... 14 Miscellaneous ..................................................................................................................................... 14 Components ................................................................................................................................................ 16 Component Descriptions with Risk Assessments ....................................................................................... 17 Software Configuration Management ........................................................................................................ 19 Naming Convention ................................................................................................................................ 19 Category/File Formats............................................................................................................................. 19 Build Plan ................................................................................................................................................ 19 Disposable Entertainment Page 3 of 35 12/9/2011 TDD Confidential BRIG Backup Routines...................................................................................................................................... 20 Coding Standards .................................................................................................................................... 20 Version Control ....................................................................................................................................... 21 How to Use TortoiseSVN ..................................................................................................................... 21 Quality Assurance ................................................................................................................................... 27 Component Testing ............................................................................................................................. 27 Integration Testing .............................................................................................................................. 27 Kleenex Test Plan ................................................................................................................................ 27 Bug Tracking ........................................................................................................................................ 27 Questionnaire ..................................................................................................................................... 29 Tutorials ...................................................................................................................................................... 33 Advanced Scripting – UnrealScript.......................................................................................................... 33 Unreal Script Setup ............................................................................................................................. 33 Basic Script Example ........................................................................................................................... 33 Advanced Script Example .................................................................................................................... 33 AnimTree................................................................................................................................................. 33 Creating Custom AnimTrees ............................................................................................................... 33 AI ............................................................................................................................................................. 33 AI Navigation ....................................................................................................................................... 33 AI: Pawns and Controllers ................................................................................................................... 33 Basic Scripting – Kismet .......................................................................................................................... 33 Kismet ................................................................................................................................................. 33 Build ........................................................................................................................................................ 33 SVN Setup and Usage .......................................................................................................................... 33 UDK Build Process ............................................................................................................................... 33 Character Set-up ..................................................................................................................................... 33 Characters: Creating and Setting Up Custom Characters ................................................................... 33 Installer ................................................................................................................................................... 33 Creating a UDK Installer ...................................................................................................................... 33 Import/Export of Assets .......................................................................................................................... 34 Importing Mesh and Animations into UDK ......................................................................................... 34 Lighting.................................................................................................................................................... 34 Disposable Entertainment Page 4 of 35 12/9/2011 TDD Confidential BRIG Lighting ................................................................................................................................................ 34 Materials ................................................................................................................................................. 34 UDK Material Editor ............................................................................................................................ 34 Physics/Collision...................................................................................................................................... 34 Collisions ............................................................................................................................................. 34 Physics Asset Tool ............................................................................................................................... 34 Physics Volumes .................................................................................................................................. 34 Physics Constraints ............................................................................................................................. 34 Particle Effects ........................................................................................................................................ 34 Particles: Importing a Custom Weapon Particle ................................................................................. 34 Particles: Creating a Signal Flare ......................................................................................................... 34 Matinee ................................................................................................................................................... 34 Matinee ............................................................................................................................................... 34 Terrain ..................................................................................................................................................... 34 UDK Terrain Basics .............................................................................................................................. 34 UI/HUD .................................................................................................................................................... 35 HUD: Adding Functionality .................................................................................................................. 35 UPK .......................................................................................................................................................... 35 UPK ...................................................................................................................................................... 35 Weapon Set-up ....................................................................................................................................... 35 Weapon Setup..................................................................................................................................... 35 Weapons: Exporting, Importing, and Implementing Custom Weapons ............................................. 35 Disposable Entertainment Page 5 of 35 12/9/2011 TDD Confidential BRIG Table of Figures Figure 1 - Gameplay elements ...................................................................................................................... 9 Figure 2 - PCU Functions ............................................................................................................................... 9 Figure 3 - Pickup descriptions and functions ................................................................................................ 9 Figure 4 - HUD elements ............................................................................................................................... 9 Figure 5 - BRIG deliverables ........................................................................................................................ 10 Figure 6 - Estimated CPU Execution Time ................................................................................................... 12 Figure 7 - Estimated RAM Utilization .......................................................................................................... 12 Figure 8 - Estimated Assets Budget ............................................................................................................ 12 Figure 9 - Estimated Art Assets Budget....................................................................................................... 13 Figure 10 – Art Tools ................................................................................................................................... 14 Figure 11 – Level Design Tools .................................................................................................................... 14 Figure 12 – Software Engineering Tools ..................................................................................................... 14 Figure 13 – Misc Tools................................................................................................................................. 15 Figure 14 - Game Components Diagram ..................................................................................................... 16 Figure 15 - BRIG Game Risk Assessment..................................................................................................... 17 Figure 16 - Player Risk Assessment ............................................................................................................. 17 Figure 17 - HUD Risk Assessment................................................................................................................ 17 Figure 18 - PCU Risk Assessment ................................................................................................................ 18 Figure 19 - Herder Risk Assessment ............................................................................................................ 18 Figure 20 - Enemies Risk Assessment ......................................................................................................... 18 Figure 22 – AI Factory Risk Assessment ...................................................................................................... 18 Figure 24: Herder Nodes Risk Assessment.................................................................................................. 19 Figure 25 – File format types ...................................................................................................................... 19 Figure 26 – SVN Checkout Command ......................................................................................................... 21 Figure 27 – SVN Checkout Command ......................................................................................................... 22 Figure 28 – SVN Checkout Dialog ................................................................................................................ 22 Figure 29 – SVN Update .............................................................................................................................. 23 Figure 30 – SVN Add.................................................................................................................................... 23 Figure 31 – SVN Figure 32Commit Command............................................................................................. 25 Figure 33 – SVN Commit Dialog .................................................................................................................. 25 Figure 34 – Adding an issue to Issue Manager ........................................................................................... 28 Disposable Entertainment Page 6 of 35 12/9/2011 TDD Confidential BRIG Project and Motivation BRIG provides several avenues of technical interest. As a survival horror game, it involves a large amount of AI work - required to give the enemies a realistic feel. The AI implementation is a challenge that has no definite solution; its quality and feel continues to improve as the team works on it. Another interesting item on the technical side is the interaction between the player’s tools, the AI and the environment, and specifically the herders. The herders affect the players and most of the enemies in the same way, so the AI must have similar reactions and awareness to changes in the herders’ state. One of the main objectives for the programmers on the team is to expose as much functionality as possible to the level editor and Kismet scripts, so that level designers can fine-tune the use of UnrealScript components to their exact needs. Thus, the level designers can create complex events, and mechanics with little extra programmer help. Scope As stated in the previous section, the most significant technical challenge by far is the AI implementation. The programmers expect to dedicate roughly half of the total programming man hours on the game to AI. Other functionality in the game consists mostly of well-understood problems, where the implementation takes a limited, but still significant, amount of work. Initially, the programmers plan to focus on getting the basic game mechanics up and running. These mechanics include the functionality of at least the basic puzzle mechanics, the different weapon functionalities, player movement, and camera controls. Once these components are at least functional and usable, the team plans to implement the first iteration of the inmates’ AI. After this first iteration, programmers plan to iterate on all components, implementing derived components (such as other enemies) and giving particular focus to improving the AI’s quality. During the first weeks of the project, the programmers plan to create the groundwork for HUD and interface implementation. The team anticipates implementing the HUD using Flash and ActionScript, with the bulk of this work assigned to the Level Designers. The team implemented a completed HUD by Vertical Slice. The later stages of the project consists of polishing (again, with special focus given to AI) and implementation of non-critical features, such as HUD on weapon functionality, improved camera control, better player movement, and PCU extra damage mini-game. Disposable Entertainment Page 7 of 35 12/9/2011 TDD Confidential BRIG End Product The final product for BRIG is a third-person survival horror game with puzzle elements. The player controls a mysterious prisoner who needs to traverse a deep-space asylum filled with deadly traps and bloodthirsty inmates. All inmates in the asylum wear collars that interact with security checkpoints, known as “herders”, which will kill them if they step outside of designated safe zones. The player steals a control unit from a dead guard, and uses it to manipulate the herders and make a path through the level. Gameplay Mechanic Movement Description Movement allows the player to move around the game space and direct the orientation of the camera. Attacking Attacking enables the player to confront one or more adversaries by using the Prisoner Control Unit to choke or push other prisoners. The player can also engage in hand-tohand combat. Interact Interacting enables the player to perform actions on the environments like hit buttons, open doors, repair herders, and other scripted actions. Player must always remain within the boundaries of a herder. Failure to do so results in death. Players may control various forms of herders with the Prisoner Control Unit. Herders Gates Health Ammo Prisoner’s lockdown collars temporarily deactivate when passing through a gate. For a short time, prisoners do not need to be within the radius of a herder. Health represents the amount of damage the player can take before death. Players may regain health by interacting with Health Stations. The player must explicitly activate the station using the Interact mechanic. Ammo indicates the number of spare batteries the player has if the Prisoner Control Unit overheats. Disposable Entertainment Technical Detail Movement follows precedents established by existing horror action games. Players use the left analogue stick to direct the character’s motion and the right analogue to orient the camera. By holding down the left trigger, players go into aiming mode. While aiming the player can move the camera but cannot walk. While aimed at a prisoner the player can activate the choke ability by hitting the right trigger, or the push ability by tapping the right bumper. The player can use a melee attack by pressing the B button. Tapping the X Button while near a point of interaction triggers a pre-scripted event. Events may include interaction such as pushing buttons, examining objects, opening door. Herders create a radius of effect around their center in which prisoners are safe. When prisoners leave the herder’s safe zone, a timer activates. If the prisoner is unable to return to a herder’s save zone with the allotted time, the prisoner dies. Passing through a gate disables prisoner’s collars for a short time. Therefore, within gated areas the Prisoner Control Unit has no effect on prisoners. Prisoner 8896 Heath(Full Health) = 100 HP Player’s health cannot exceed max health. Min Health (Death) = 0 HP If player’s health reaches 0, the player dies. If the Prisoner Control Unit overheats, the player must replace the burnt-out battery with a new one from his inventory. The player can carry up Page 8 of 35 12/9/2011 TDD Confidential BRIG to 5 additional batteries at a time. If the Prisoner Control Unit overheats and the player has no battery to replace it, the PCU enters an emergency state, wherein it overheats much more quickly. Figure 1 - Gameplay elements Game objects Player – includes third person camera and controls PCU – Prisoner Control Unit Function Choke Pulse Push Activate Herder Behavior Immobilizes a single targeted prisoner for a variable length of time. If choked for long enough, the prisoner dies. While choking an inmate, the player enters a skill-based minigame. Each time the player succeeds, the inmate takes extra damage and is immobilized immediately. Knocks back a group of enemies in a cone of effect. Interacts with a single targeted herder. Figure 2 - PCU Functions Pickups Pickup Health Pack Power Cell Description Function Restores a portion of the player’s Health packs restore 50 HP to lost health. current health, not to exceed max health. Recharges the Prisoner Control Adds one power cell to the Unit after it overheats. player’s hub, recharges the PCU if it overheats. Figure 3 - Pickup descriptions and functions HUD and GUI HUD PCU Heat sink Indicator Sloping bar in the lower right hand corner Description Shows the PCU’s current temperature. Power Cells Small icon and number below the PCU Heat sink Indicates the number of extra power cells available. Health Sloping bar in the lower left hand corner of the screen. Displays the players max, min and current health. Behavior Fills up the bar as the player takes successive action with the PCU. Number increments and decrements as the player picks up or uses power cells. Fills up as the player gains health, and depletes as the player looses health. Figure 4 - HUD elements Disposable Entertainment Page 9 of 35 12/9/2011 TDD Confidential BRIG Menu Systems Main menu o New game o Load game o Credits o Exit Pause menus o Load game o Save game o Settings o Exit Deliverables The deliverables for the game will include the installer executable, readme file and trailer. Assorted marketing materials such as posters will be included on the disc. Asset Description UDKInstall-BRIG.exe Installer DefaultBRIG.ini Custom configuration settings Readme.txt Basic usage instructions Figure 5 - BRIG deliverables System Requirements Target System Minimum Processor: Intel Pentium 4 1.3 GHz or AMD Athlon XP 1500 Memory: 2GB or more of RAM Hard Drive: 7 GB free hard drive space Video Card: NVIDIA® GeForce® FX or ATI Radeon™ 9500 video card or better Operating System: Windows XP 32bit (SP3) Peripheral: XBOX 360 ControllerRecommended Processor: Quad-core processor, such as the Intel i5 or AMD Phenom II Memory: 4 GB RAM Hard Drive: 7 GB free hard drive space Video Card: NVIDIA GTX 460 or better, ATI Radeon HD 4600 or better Operating System: Windows 7 Peripheral: XBOX 360 Controller Disposable Entertainment Page 10 of 35 12/9/2011 TDD Confidential BRIG Development System Processor: Intel dual-core 2.4GHz Memory: 8 GB RAM Hard Drive: 451 GB Hard Drive Video Card: ATI Mobility Radeon HD 5870 with 2778 MB RAM Operating System: Windows 7 Ultimate Edition (64-bit) Software: Unreal Development Kit June 2011, Photoshop CS5, Autodesk 3DStudio Max 2011 Peripheral: Keyboard, Mouse, XBOX 360 Controller Disposable Entertainment Page 11 of 35 12/9/2011 TDD Confidential BRIG Resource Budget CPU Execution Time Estimate This estimate hinges upon the predicted complexity and level of usage of each system. System Name Execution Time (ms) Input Gameplay Physics Artificial Intelligence Sound Engine Animation Lighting Particle Effects Rendering Total 0.5 1 1 0.5 0.5 0.5 1.5 1 10 16.5 Figure 6 - Estimated CPU Execution Time Memory Utilization Estimate The document bases the memory utilization estimate upon the predicted number and size of assets. Subsystem Source Code Levels Models Textures Game State Total Memory Usage 3 MB 600 MB 250 MB 300 MB 2 MB 1155 MB Figure 7 - Estimated RAM Utilization Assets Budgets Estimate This document bases the asset budget estimate on testing through trial and error the amount of polygons the UDK engine is capable of rendering. Object Character Enemies Environment Weapons Total Instances 1 2 – 10 25 – 150 1 Polygons (per Object) 15000 8000 1 – 1000 5000 Max Polygons 15000 80000 150000 5000 243000 Figure 8 - Estimated Assets Budget Art Assets Budgets Estimate These guideline estimates are theoretical, and on a per case basis. Disposable Entertainment Page 12 of 35 12/9/2011 TDD Type Model Hi Resolution Textures Low Resolution Textures Dynamic Lights Confidential BRIG Max 8000 polygons 2048 x 2048 pixels 512 x 512 pixels 20 Figure 9 - Estimated Art Assets Budget Disposable Entertainment Page 13 of 35 12/9/2011 TDD Confidential BRIG Technology Sources Acquired Technology and External Tools Art Creation Tool Description Autodesk 3DS Max 2011 Autodesk Mudbox 2011 Adobe Photoshop CS5 ActorX Used to create original models and animations. Used to facilitate the modeling process. Used to create and modify textures and materials. Plugin for 3DSMax used to export character animations. Adding high detail onto meshes ZBrush Figure 10 – Art Tools Level Design Tool Description Google Sketch-up Used to prototype various initial level concepts before the game level goes into full production. Editor used to create levels Scripting language provided by UDK in order to script necessary events and gameplay in levels Used to create HUD assets UDK Editor Kismet Adobe Flash CS5 Figure 11 – Level Design Tools Software Engineering Tool Description Microsoft Visual Studio Pixel Mine nFringe The IDE used to develop all code on the project. Integrates with Visual Studio and facilitates the development of unreal script code while providing support for syntax highlighting and code navigation. Scripting language used to interact with the UDK engine. Unrealscript Figure 12 – Software Engineering Tools Miscellaneous Tool Unreal Development Kit (June 2011) Microsoft Excel 2010 Disposable Entertainment Description The game engine and framework that Io is built on. Used to manage asset lists and the product backlog. Page 14 of 35 12/9/2011 TDD Tortoise SVN Issue Manager Microsoft Word 2010 RAD Video Tools Microsoft Expression 2010 Confidential BRIG Serves as a shared, collective repository with support for sub-versioning and reversion. Bug Tracking database and management system. Used for document creation Used to create videos to play inside the game Used to create game trailers Figure 13 – Misc Tools Disposable Entertainment Page 15 of 35 12/9/2011 TDD Confidential BRIG Components Figure 14 - Game Components Diagram Disposable Entertainment Page 16 of 35 12/9/2011 TDD Confidential BRIG Component Descriptions with Risk Assessments Name: Description: Impact: Probability: Visibility: Mitigation: Current Status: BRIG Game Holds current information on Herders, player statistics, and level events. High Low Low No mitigation needed. Complete Figure 15 - BRIG Game Risk Assessment Name: Player Description: Holds the stats of the player such as: health, ammo (if needed), location, etc. Manages the player input and player physics. Holds camera positioning calculation here. This component brings together several critical functions, such as player animations and camera control, whose implementation entails large amounts of work, so it is probable that extra time will be required. Impact: High Probability: High Visibility: High Mitigation: Work on player early and often. This component is a top priority. The player experiences the game through this window. Current Status: Complete, needs polish Figure 16 - Player Risk Assessment Name: HUD Description: Displays the health of the player, weapon ammo (if necessary), and anything else we need to communicate to the player. Events: Damage Taken, Weapon Fired. HUD update. The HUD is implemented in 3D on the player’s model, so it is more difficult than usual on-screen HUD implementations. Impact: High Probability: Medium Visibility: High Mitigation: Familiarizing of Flash assets is one of the highest preproduction priorities. Current Status: Complete, needs polish Figure 17 - HUD Risk Assessment Name: PCU Description: The PCU contains weapon cooldown state, physics for pushing other inmates, and some HUD updating code. This is a central component for the player’s interaction with the game, and as such will require large amounts of iteration and refinement. Impact: High Probability: High Visibility: High Mitigation: Gameplay centers around the features of the PCU. As such, an early, high-quality Disposable Entertainment Page 17 of 35 12/9/2011 TDD Confidential BRIG implementation of the PCU is essential in fun factor testing. Current Status: Complete, needs polish Figure 18 - PCU Risk Assessment Name: Herder Description: Contains herder activation/deactivation logic. This component is at the center of the game’s puzzle dynamics, so any problems have a large impact on the player’s experience. Impact: High Probability: Low Visibility: High Mitigation: No Mitigation needed Current Status: Complete, needs visual polish Figure 19 - Herder Risk Assessment Name: Enemies Description: This component controls enemy states, physics, and actions at an individual level. Enemy behavior has a large impact on the player’s experience, so polishing the AI requires constant iteration. Enemy types include berserkers who blindly charge at the player, stalkers who attempt to circle around and attack from behind, and the boss, which is almost unaffected by the PCU. Impact: High Probability: High Visibility: Low Mitigation: The enemy AI and Pawn classes are highly important. It is essential to complete basic behavior after Proof of Tech, and more advanced behaviors over the break. Current Status: Functional, AI polish still needed Figure 20 - Enemies Risk Assessment Name: AI Factories Description: Contains specialized logic for enemy spawning. Most functionality for this component already exists in the engine. Impact: High Probability: Medium Visibility: Low Mitigation: Work on prototype spawning early and often to ensure consistent functioning before any major gameplay milestone. Current Status: Complete Figure 21 – AI Factory Risk Assessment Name: Herder Nodes Description: Contains herder logic for use in Kismet. This functionality includes the ability to toggle herders, manage the state of inmates’ collars, and respond to BRIG-specific events, namely toggling herders and choking inmates. Impact: High Risk Low Probability: Disposable Entertainment Page 18 of 35 12/9/2011 TDD Confidential BRIG Visibility: High Mitigation: Complete early in the project to make any problems evident. This functionality is critical for LDs to be able to control the flow of gameplay. Figure 22: Herder Nodes Risk Assessment Software Configuration Management Naming Convention All files follow this naming convention: BG_AssetType_Name00_Description. For example, name a player diffuse texture as BG_Texture_Player_Diffuse, and name a column static mesh as BG_StaticMesh_Column01. Category Tag BG_SkelMesh BG_StatMesh BG_Texture BG_Material BG_Sound BG_SoundCue BG_AnimSet BG_AnimTree BG_PhysAsset BG_Particle BG_Decal Description Skeletal Mesh Static Mesh Texture UDK Cascade material Sound file UDK sound cue UDK animation set UDK animation tree UDK skeletal mesh physics asset UDK particle effect Decal Category/File Formats File Extension .exe .uc .max .fbx .mud .psd .psk .u .udk .upk Example File CrystalSpaceInstaller.exe BG_Game.uc BG_Env_Window.max BG_Env_Window.fbx BG_Env_Window.mud BG_Env_Window_diffuse.psd BG_Pawn_Black_Attack.psk BRIG.u BG_Level_Sandbox.udk BG_Pawn_Black.upk Example Usage Crystal Space Installer Custom UnrealScript Model created by 3DS Max Exported format used by UDK Format created by Mudbox Diffuse texture for the environment asset, window Animation attached to a specific bone structure Compiled UnrealScript for CrystalSpace Mapfile created by UDK Storage of all Mainframe related assets Figure 23 – File format types Build Plan One week before the build is due, lock all assets for the build. Complete all essential bug fixes one session before the build is due. The lead programmer updates the local working copy to the latest Disposable Entertainment Page 19 of 35 12/9/2011 TDD Confidential BRIG repository version and ensures no conflicts or outstanding showstopper bugs. The lead programmer cooks the final build and creates the installer for the milestone. Backup Routines Each team member keeps an updated working copy of the project on his or her laptop. Each team member copies the working copy every day to an external flash drive. Each week, each team member performs a backup on an external hard drive outside the studio. The team utilizes an SVN repository on the Guildhall server, which serves as another remote backup. In case of computer failure, the team member obtains a default image for his or her laptop and restores the most up-do-date backup. Coding Standards Programmers strive for inherently clear and readable code, without a need for excessive comments. Comments clarify whenever the purpose of a piece of code is not immediately evident. If an entire function is unclear or has a side effect that is not evident, block comments beginning with /** reside above the function. This causes the comment to appear in tooltips within UDK. Programmers should attempt to write code that is naturally efficient, particularly when writing routines that might execute many times per frame. Efficiency is not such an important consideration when writing one-time code such as loading code or menus. Code structure should closely resemble that of native UnrealScript code, including capitalization and brace placement. However, the use of Hungarian notation is optional. Class variables start with a capital letter, and function local variables start with lowercase. Disposable Entertainment Page 20 of 35 12/9/2011 TDD Confidential BRIG Version Control How to Use TortoiseSVN Check-Out 1. Create a directory you want to serve as your local working directory. 2. Right click on the root folder of this directory to and select SVN Checkout. 3. Enter "http://ghsrv.ecsrv.smu.edu/svn/c15_Team_John_Stamos/" into the URL text box. 4. Enter the location of your working directory into the Checkout Directory text box (this should be the default). 5. Click OK to download all project files to your local working directory. 6. Enter in the user name and password you selected and click the checkbox to save your password in the future. Figure 24 – SVN Checkout Command Disposable Entertainment Page 21 of 35 12/9/2011 TDD Confidential BRIG Figure 25 – SVN Checkout Command Figure 26 – SVN Checkout Dialog Disposable Entertainment Page 22 of 35 12/9/2011 TDD Confidential BRIG Update 1. Right click on the root folder of your working directory. 2. Select SVN Update. Figure 27 – SVN Update Add File or Folder 1. Move the file to the correct location in your local working directory. 2. Right click on the file to open up the menu. 3. Select TortoiseSVN. 4. Select Add. Figure 28 – SVN Add Disposable Entertainment Page 23 of 35 12/9/2011 TDD Confidential BRIG Disposable Entertainment Page 24 of 35 12/9/2011 TDD Confidential BRIG Commit 1. SVN Commit adds the file to the repository and allows others to access updated files. 2. Right click on the file or folder to commit. 3. Select SVN Commit. 4. Enter comments detailing the changes. 5. Make sure to check all the files to add or commit to the repository. 6. Click OK. Figure 29 – SVN Figure 30Commit Command Figure 31 – SVN Commit Dialog Disposable Entertainment Page 25 of 35 12/9/2011 TDD Confidential BRIG Conflicts Occasionally, conflicts occur and SVN flags all the files involved with yellow caution icons. SVN creates three files when a conflict occurs: <filename>.< extension >.r<old revision #> o This is the original file prior to any changes. <filename>.<extension>.mine o This is the file with only your changes. <filename>. <extension>.r<new revision #> o This is the current version of the file from the repository. SVN appends the conflicted files with .mine and .r<new revision #>. Conflict Resolution 1. Examine both versions of the file and decide which version to keep. 2. Right click the file in the update log and choose “Resolving using their file” to keep the file currently in the repository, or “Resolve using my file” to keep your local working copy. 3. Incorporate changes from the version you decided not to keep (if any). 4. Right click the file and select TortoiseSVN -> Resolved. 5. Finally, right click the file and select TortoiseSVN -> SVN Commit. Change Log 1. Right-click a file. 2. Select TortoiseSVN. 3. Select Show log. 4. The top table shows: a. The revision number. b. The action taken. c. The author of the changes. d. When the file was last committed. e. Any notes the author left describing their changes. Disposable Entertainment Page 26 of 35 12/9/2011 TDD Confidential BRIG Quality Assurance Component Testing Team members must fully test their work before committing it to the repository. After testing, they update their working copy to the latest repository version. If any components change, they repeat all tests. If no issues arise in any of these tests, then they commit the work. After committing, team members test once more for possible issues. Integration Testing Integration takes place during the two days before each sprint milestone. The build master leads integration testing. During this period, integration testing requires that every member of the team play BRIG from beginning to end twice. The team identifies and fixes any showstopper bugs. The team logs other bugs appropriately in Issue Manager. Milestone Vertical Slice Alpha Beta RTM Test Date 09/28/2011 10/27/2011 11/16/2011 11/30/2011 Kleenex Test Plan The team will carry out Kleenex tests at the end of each milestone. Each Kleenex test utilizes a forward observer and a real observer. Forward observers note tester’s expressions, posture, and other reactions to the game. Rear observers note relevant gameplay choices testers make. Team members rotate responsibilities during each Kleenex session. Team members greet testers before gameplay and thank them for participating when they finish. Kleenex testers fill out the questionnaire after completing gameplay. Bug Tracking All members of the team use Issue Manager to report bugs, a browser-based issue tracking software. From Alpha onwards, team members must enter major issues with this software. This prevents “wordof-mouth” bug reporting and makes sure problems are documented and accessible. It also helps in notifying the correct developer to resolve and/or fix any problems. The Lead Programmer updates and checks the Issue Manager every work session for any new bugs or problems discovered by the team. Team members discuss these bugs each work session. After fixing, the lead relevant to the bug’s nature verifies the fix. The Lead Programmer closes resolved issues. Each issue receives a priority. Severe bugs have the highest priority, and thus are first to be fixed and minor bugs have the lowest on the priority list. Disposable Entertainment Page 27 of 35 12/9/2011 TDD Confidential BRIG How to Use Issue Manager Access the Issue Manager Navigate your web browser to: http://ghsrv3.ecsrv.smu.edu/thebrig/Login.asp. Login with the credentials issued by IT (Loren Matthis). Your username is the username you use for your SMU email. Your default password is your SMU ID#. View Your Issues Select the “Assigned to me” link from the Bookmarks box. A table will appear showing all issues that are assigned to you. Add a New Issue Select the “Add New Issue” link. The following screen will appear: Figure 32 – Adding an issue to Issue Manager Give your issue a clear name, then document the issue and a clear set of steps to reproduce it. Assign it a priority and leave the status as “Open”. In the “Version” field, enter the current stage of the game Click “Add” to add your issue to the tracking system. Mark Your Issue When the status of an issue changes, click its name in the Issue List, then change its status to the appropriate one and select the “Tested” or “Approved” checkboxes if necessary. Document the reason for the change in the Response field. Close an Issue When an issue has been resolved, set its status to Closed. Disposable Entertainment Page 28 of 35 12/9/2011 TDD Confidential BRIG Questionnaire November 4, 2011 BRIG Mark all that apply: Student Game Industry Other Please circle one: Male Female Mark all that apply: PC Gamer Console Gamer Casual Gamer Facebook Gamer Non-Gamer Do you play survival horror video games? Not at all Rarely Sometimes Often Disposable Entertainment Page 29 of 35 12/9/2011 TDD Confidential BRIG Do you play other casual video games? Example: Farmville, IPod Games, ext. Not at all Rarely Sometimes How many times did you die? Often 0 1-2 3-5 5+ How fun was BRIG? (least) 1 2 3 4 5 6 7 8 9 10 (most) 10 (most) What was fun and what was not fun? ________________________________________________________________________ ________________________________________________________________________ How difficult was BRIG? (least) 1 2 3 4 5 6 7 8 9 What was difficult and what was easy? ________________________________________________________________________ ________________________________________________________________________ Disposable Entertainment Page 30 of 35 12/9/2011 TDD Confidential BRIG Please summarize what you thought the story of BRIG was? ________________________________________________________________________ ________________________________________________________________________ What did you like the most about BRIG? ________________________________________________________________________ ________________________________________________________________________ What did you like the least about BRIG? ________________________________________________________________________ ________________________________________________________________________ What would have made BRIG more fun to play? ________________________________________________________________________ ________________________________________________________________________ Disposable Entertainment Page 31 of 35 12/9/2011 TDD Confidential BRIG How did you feel about the enemies? ________________________________________________________________________ ________________________________________________________________________ How did you feel about the main character (BRIG)? ________________________________________________________________________ ________________________________________________________________________ How did you feel about the environment? ________________________________________________________________________ ________________________________________________________________________ How did you feel about the choking mechanics? ________________________________________________________________________ ________________________________________________________________________ Disposable Entertainment Page 32 of 35 12/9/2011 TDD Confidential BRIG Tutorials Advanced Scripting – UnrealScript Unreal Script Setup http://wiki.guildhall.smu.edu/index.php/UnrealScript_December_2010 Basic Script Example http://wiki.guildhall.smu.edu/index.php/UnrealScript_Game_Mod_Basic_Example_December_2010 Advanced Script Example http://wiki.guildhall.smu.edu/index.php/UnrealScript_Advanced_Game_Mod_Example_December_201 0 AnimTree Creating Custom AnimTrees http://wiki.guildhall.smu.edu/index.php/Creating_Custom_AnimTrees_December_2010 AI AI Navigation http://wiki.guildhall.smu.edu/index.php/AI_Navigation AI: Pawns and Controllers http://wiki.guildhall.smu.edu/index.php/AI:_Pawns_and_Controllers Basic Scripting – Kismet Kismet http://wiki.guildhall.smu.edu/index.php/Kismet_(Dec_2010_UDK_Beta)_(Jan_2011) Build SVN Setup and Usage http://wiki.guildhall.smu.edu/index.php/SVN_Setup_and_Usage UDK Build Process http://wiki.guildhall.smu.edu/index.php/UDK_Build_Process_December_2010 Character Set-up Characters: Creating and Setting Up Custom Characters http://wiki.guildhall.smu.edu/index.php/Characters:_Creating_and_Setting_Up_Custom_Characters Installer Creating a UDK Installer http://wiki.guildhall.smu.edu/index.php/Installer Disposable Entertainment Page 33 of 35 12/9/2011 TDD Confidential BRIG Import/Export of Assets Importing Mesh and Animations into UDK http://wiki.guildhall.smu.edu/index.php/Importing_Mesh_and_Animations_into_UDK Lighting Lighting http://wiki.guildhall.smu.edu/index.php/Lighting_udk_ver._7637 Materials UDK Material Editor http://wiki.guildhall.smu.edu/index.php/UDK_Material_Editor Physics/Collision Collisions http://wiki.guildhall.smu.edu/index.php/Collisions_December_2010 Physics Asset Tool http://wiki.guildhall.smu.edu/index.php/Physics_Asset_Tool_December_2010 Physics Volumes http://wiki.guildhall.smu.edu/index.php/Physics_Volumes_December_2010 Physics Constraints http://wiki.guildhall.smu.edu/index.php/Physics:_Constraints_Decemeber_2010 Particle Effects Particles: Importing a Custom Weapon Particle http://wiki.guildhall.smu.edu/index.php/Particles:_Importing_a_Custom_Weapon_Particle Particles: Creating a Signal Flare http://wiki.guildhall.smu.edu/index.php/Particles:_Creating_a_Signal_Flare Matinee Matinee http://wiki.guildhall.smu.edu/index.php/Matinee Terrain UDK Terrain Basics http://wiki.guildhall.smu.edu/index.php/UDK_Terrain_Basics Disposable Entertainment Page 34 of 35 12/9/2011 TDD Confidential BRIG UI/HUD HUD: Adding Functionality http://wiki.guildhall.smu.edu/index.php/HUD:_adding_functionality UPK UPK http://wiki.guildhall.smu.edu/index.php/UPK_2010-12_(Jan_2011) Weapon Set-up Weapon Setup http://wiki.guildhall.smu.edu/index.php/Weapon_Setup Weapons: Exporting, Importing, and Implementing Custom Weapons http://wiki.guildhall.smu.edu/index.php/Weapons:_Exporting,_Importing_and_Implementing_Custom_ Weapons Disposable Entertainment Page 35 of 35 12/9/2011