BRIG Technical Design Document

advertisement
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
Download