0% found this document useful (0 votes)
54 views29 pages

GameProg Ilect1 Ntro

The document outlines a course on Game Programming, covering topics such as game development, game design, and various game types. It includes details on course structure, assignments, team roles, and the game development process, including production and testing phases. Additionally, it discusses the technical aspects of game development, including programming languages and software systems used in the industry.

Uploaded by

abdo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views29 pages

GameProg Ilect1 Ntro

The document outlines a course on Game Programming, covering topics such as game development, game design, and various game types. It includes details on course structure, assignments, team roles, and the game development process, including production and testing phases. Additionally, it discusses the technical aspects of game development, including programming languages and software systems used in the industry.

Uploaded by

abdo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 29

Game Programming

Introduction

1
Course content

■Introduction to Game Development


■Game System Analysis
■The Game Main Loop
■Game Engine Training
■Game Mathematics
■Geometry for Games
■Scene Management System
■Game AI
■Game Physics
■Characters
■Network Gaming
■Audio
2
Homework assignments, term project and exams
■One term project ( 10% ),
– The students will be divided into teams
( 2~3 )
– Use to code 2 and 3D real-time game
– Unity
– A precompiled library MUST be used for the
development of the term project and
homework assignments.
- Use to document ALL programs:
■7 and 12th exams (30%)
■Programming homework assignments
(5% )
Expertise

■Expertise
– Computer Graphics
– Geometric Modeling
– Physically-based simulation
– Character Animation
– Collision Detection

4
Game platform
■PC
– Single player
– Massive multi-player online game
( MMOG )
– Web-based Games
■Console ( Video game console )
– Sony PS5
– Microsoft Xbox
– Nintedo Switch
■Arcade ( Coin-operated entertainment machine
)
■Mobile
– Game Boy Advance ( GBA ) 5
Game development on PC

■Designed for office application


■Not for entertainment
■A virtual memory system
– Unlimited memory using
■But video memory is limited
■Open architecture
■Compatibility test is important
■Development is easy to setup
6
Game development on console
■Specific hardware designed for games
■Single user / single process OS
■In general no hard disk drive (??)
■Closed system
■Very native coding way
– Hardware related features
■Limited resources
– Memory
■One console runs, the others do!

7
Game types
■RPG (Role playing games)
■AVG (Adventure games)
■RTS (Real-time strategy games)
■FPS (First-person shooting games)
■Strategy game
■Simulation game
■Sports
■Puzzle games
8
Game team members
■Development Team
– Producers
– Executive producers
– Game designers
– Programmers
– Artists
– Level designers
– Sound engineers
■Sales and marketing
■Testers
■Game review committee
9
Game design

■Story telling
■Scripting
■Game play design
■Level design
■Numerical setup
■Game AI
■Sound FX setup
■Scene setup
10
Game art

■Terrain
■Character
■Models
■Textures
■Motion / Animation
■FX
■User Interface
11
Cloth draping simulation

Different textures can be applied to different regions of a garment.


Small wrinkles along seam lines are created automatically. 12
Multiple interacting objects

Interacting performance is achieved


for many deformable objects even though the contact regions are large.
This simulation was executed on a multicore machine. 13
Flowchart of game development
Basic Procedures for Game
Proposa
Development Testing
Idea l
Production Integration Debug Tuning

Concept Prototype Pre-alpha Alph Beta Final


Approval a

■Idea > Concept


Approval
■Proposal >
■Production Prototype
> Pre-
■Integration alpha
>
■Testing Alpha
– Debug >
– Tuning Beta
14
Concept design
■Game types
■Game world
■Story
■Features
■Game play
■Game product positioning
– Target player
– Marketing segmentation / positioning
■Risk
– SWOT
(Strength/Weakness/Opportunity/Threat)
15
Proposal
■System analysis
■Game design document
■Media design document
■Technical design document
■Game project
– Schedule
– Milestones / check points
– Risk management
■Proposal for testing
■Team building

16
Production
■High quality artworks
– Modeling
– Textures
– Animation
– Motion
Quality
– FX (Special Effects)
■Coding
>
■Marketing
Quanti
ty 17
Testing
■Alpha
– Debug
■Beta
– Number tuning
– Game play tuning
»Closed beta
»Open beta
■Critical testing
18
Bugs
B
■Bug Classification u
– Memory leaks g
– Free already freed resources Bug
Classification
– NULL dereferencing
– Show in different formats Bug Dispatch

– Synchronization errors
?
– Value outside domain Debug

– In terms of game play experience


N
Verify
■Principles Y
F
– Strict guidelines for bug classification
– Tester vs Debugger A
Q

19
Game software system

Game

NPC System Virtual Agent Trading System Story Game Play


Layer
Fighting System FX System Game AI Script System

Terrain Collision Character Dynamics Sound FX UI Engine


Layer
3D Scene Mngmt 2D Sprite Gamepad Audio Network

3D Graphics API 2D API Input Device OS API System


Layer
Hardware

20
System Layer – APIs (1/2)
■Graphics API
– DirectX Graphics
– OpenGL 3.0

■Input Device
– DirectX SDK – DirectInput

■Audio
– DirectX SDK – DirectSound / Direct3DSound / DirectMedia
– OpenAL
– Network

21
System Layer – APIs (2/2)
■OS API
– Win32 SDK
– MFC
■Network
– DirectX SDK – DirectPlay
– Socket library
■RakNet
“RakNet is a cross platform, open source, C++
networking engine for game programmers. A lower
level framework powers higher-level features such as
game object replication.”

22
Engine Layer (1/2)
■3D scene management system
– Scene graph
■Shaders
■2D sprite system
■Audio system
■Gamepad
■Hotkey
■Mouse
■Timers
■Network
■Driver development kit ( DDK ) interface

23
Engine Layer (2/2)
■Terrain
■Advanced scene management – space
partition
– BSP Tree
– Octree
■Character system
■Motion blending techniques
■Dynamics
■Collision detection
■SoundFX
■User interface

24
Game Play Modula
■NPC (Non-playable characters)
■Game AI
– Path finding
– Finite state machine

■Avatar
■Combat system
■FX system
■Script system
■Trading system
■Number system

25
Game development tools
■Visual C++/ C#/Java
– .NET
– Visual C/C++ 6.0+ SP5
■DirectX or OpenGL
■NuMega BoundsChecker
http://en.wikipedia.org/wiki/BoundsChecker

A memory checking tool


■Intel vTune
http://software.intel.com/en-us/articles/intel-vtune-amplifier-
xe/
■3D tools
– 3dsMax/Maya/Softimage/Blender/
■In-house tools 26
Programming Languages
for Game Design
• C++
• Java
• HTML5
• CSS3
• JavaScript
Presentation
■Review a game: Graphics, sound, gameplay, user
interface, etc. What do you find interesting, and
what do you dislike?
■What are the unique characteristics of this game?
Are there technical advances that this game
showcased (at the time of its release)?
■What games influenced your game? How did
your game influence other games? Sequels? Has
your game shaped media, television, film,
culture, society, etc.?

You might also like