gmng 4312 –game engines
DESCRIPTION
GMNG 4312 –Game Engines. Unit 02:Tools of the Trade Alireza Tavakkoli, Ph.D. Objectives. Tools of the Trade Version Control Visual Studio 2010 Profiling Tools Memory Leaks and Corruption Detection Tools Other Tools. Version Control. What is Version Control? - PowerPoint PPT PresentationTRANSCRIPT
Un
ivers
ity o
f H
ou
sto
n –
V
icto
ria
GMNG 4312 –Game Engines
Unit 02:Tools of the Trade
Alireza Tavakkoli, Ph.D.
1
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Objectives
Tools of the Trade Version Control Visual Studio 2010 Profiling Tools Memory Leaks and Corruption Detection Tools Other Tools
2
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Version Control
What is Version Control? Multiple users to work on a project
Trace changes Keep track of multiple modifications Share the latest code Avoid unintentional code corruptions
Even for one user Keep a copy of the latest files on the repository
On multiple machines! Version control keeps track of the history of the
files! Also called source control.
Can be used to keep track of text files and binaries as well.
Invaluable in Gaming Industry! 3
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Why Using Version Control?
Reasons to use version control Central repository Keeping history of changes Tagging specific code versions for retrieval Branching off from main development for patches
and updates
As mentioned source control is also useful in single engineer projects!
4
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Common Version Control Systems SCCS and RCS
Source Code Control System and Revision Control System Oldest version control systems Use command line interface
CVS Concurrent Version System
Heavy-duty professional grade version control Command-line based Mostly in UNIX bases systems CVSSNT (WinCVS) is the windows counterpart
5
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Common Version Control Systems
Subversion Open source version control system Popular for individual, student, small studio
projects We use this!
Git Open source revision control
Used for linux kernel Make changes to files Commit to branches Git can roll the diff(erences) and reapply them to
new bases revisions rebasing.
6
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Common Version Control Systems
Perforce A Professional grade source control system Change lists:
A collection of source files that have been modified as a logical unit.
Useful as a transaction processing unit Either all changes within the list are submitted or
none will.
NxN Alienbrain A source control system for the game industry Support very large databases
Specially for binary assets like movies, 3D models, etc.
7
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Common Version Control Systems
ClearCase Very large scale software production
A Unique UI that extends the windows explorer functionality
Expensive!
Microsoft Visual SourceSafe Light-weight source control package
8
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Subversion and TortoiseSVN We use Subversion
It’s free It’s nice and reliable Easy to setup
Actually we use GoogleCode! A number of windows and mac subversion clients
We use TortoiseSVN Client-Server Architecture
Server contains the repository Client connect to server to update the repository
Commits, Updates, Tags, Revisions, Branches, etc.
Let’s see how to set up our Source Version Control system.
9
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Setting Up Version Control
Code.Google.Com http://code.google.com
Setup an account Sign in Go to project hosting Create a project for Google Code (or Eclipse Labs).
Set up administrative options and users. 4GB with 200MB upload size limit
Download and install TortoiseSVN http://tortoisesvn.tigris.org
10
Un
ivers
ity o
f Hou
sto
n –
Vic
toria
Questions?
Game Engine Architecture Chapter 2
11