gmng 4312 –game engines

11
University of Houston – Victoria GMNG 4312 –Game Engines Unit 02:Tools of the Trade Alireza Tavakkoli, Ph.D. 1

Upload: rob

Post on 06-Feb-2016

44 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: GMNG 4312 –Game Engines

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

Page 2: GMNG 4312 –Game Engines

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

Page 3: GMNG 4312 –Game Engines

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

Page 4: GMNG 4312 –Game Engines

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

Page 5: GMNG 4312 –Game Engines

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

Page 6: GMNG 4312 –Game Engines

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

Page 7: GMNG 4312 –Game Engines

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

Page 8: GMNG 4312 –Game Engines

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

Page 9: GMNG 4312 –Game Engines

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

Page 10: GMNG 4312 –Game Engines

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

Page 11: GMNG 4312 –Game Engines

Un

ivers

ity o

f Hou

sto

n –

Vic

toria

Questions?

Game Engine Architecture Chapter 2

11