Anda di halaman 1dari 30

Introduction to Game Development

Introduction to game development

Game Game Game Game Game Tools

Platform Types Team Development Pipeline Software System

Game platform

PC
Single player Massive multi-player online game ( MMOG ) Web-based Games

Console ( Video game console )


Sony PS2 Microsoft Xbox Nintedo GameCube

Arcade ( Coin-operated entertainment machine ) Mobile


Game Boy Advance ( GBA ) Handheld video game console iPhone
3

Game development on PC

Designed for office application Not for entertainment A virtual memory system Unlimited memory using But video memory is limited PCI/AGP might be a challenge Open architecture Compatibility test is important Development is easy to setup

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
Proprietary SDK Hardware related features

Limited resources
Memory

One console runs, the others do!


5

Game types

RPG (Role playing games) AVG (Adventure games) RTS (Real-time strategy games) FPS (First-person shooting games) MMORPG ( Massively multiplayer online role

playing game )

Strategy game Simulation game Sports Puzzle games Table games


6

Game team members

Development Team Producers Executive producers Game designers Programmers Artists Level designers Sound engineers Sales and marketing ( ) Testers ( ) Game review committee ( )
7

Game producer

Team leader (always) Resource management ( ) Administration ( ) Upward management ( ) Project management ( )

Game executive producer


Project management ( ) Daily operation House keeping Not full-time job position

Game design

Story telling ( ) Scripting ( ) Game play design ( ) Level design ( ) Game tuning ( ) Numerical setup ( ) Game AI ( AI ) Sound FX setup ( ) Scene setup ( )

10

Game art

Terrain ( ) Character ( ) Models ( ) Textures ( ) Motion / Animation ( ) FX ( ) User Interface

11

Game program

Game program () Game tools () Level editor Scene editor FX editor Script editor Game data exporters from 3D software 3dsMax / Maya / Softimage Game engine development Online game server development
12

Flowchart of game development


Basic Procedures for Game Development

Idea

Proposal

Production

Integration

Testing Debug Tuning

Concept Prototype Approval

Pre-alpha

Alpha Beta

Final

Idea () Proposal () Production () Integration () Testing () Debug () Tuning ()

> Concept Approval


> (Prototype) > Pre-alpha > Alpha > Beta
13

Concept design ( )

Game types ( ) Game world ( ) Story ( ) Features ( ) Game play ( ) Game product positioning ( ) Target player Marketing segmentation / positioning Risk ( ) SWOT (Strength/Weakness/Opportunity/Threat)
14

Proposal

System analysis ( ) Game design document ( GDD ) Media design document ( MDD ) Technical design document ( TDD ) Game project ( ) Schedule Milestones / check points Risk management Proposal for testing ( ) Team building ( )
15

Production

High quality artworks Modeling Textures Animation Motion FX (Special Effects) Coding ( ) Marketing

Quality > Quantity


16

Integration

Level integration ( ) Number tuning ( ) Audio ( ) Artworks ( ) Integration of game programs and artworks ( ) Focus group (User study) Release some playable levels for focus group

17

Testing

Alpha ( ) Debug ( ) Beta ( ) Number tuning ( ) Game play tuning ( ) MMOG ( ) Closed beta ( ) Open beta ( ) Critical testing ( )

18

Bugs

Bug Classification ( Bug )


http://www.cse.iitd.ernet.in/

Bug

~jalote/papers/CommonBugs.pdf Bug Classification Memory leaks Bug Dispatch Free already freed resources NULL dereferencing Debug Show in different formats Synchronization errors N Verify Value outside domain Y In terms of game play experience FAQ Principles Strict guidelines for bug classification Tester vs Debugger

19

Game software system

Game

Game Play Layer

Terrain

Collision

Character 2D Sprite

Dynamics Gamepad

Sound FX Audio

UI Network OS API

Engine Layer

3D Scene Mngmt 3D Graphics API

2D API

Input Device

System Layer

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. Source: http://www.jenkinssoftware.com/
(last visited: 19 Feb. 2011)
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++
.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

Course Homepage

http://www.cs.nctu.edu.tw/~cswingo/teaching/3DGamePro/

Doxygen

-Use doxygen to document ALL programs: http://www.stack.nl/~dimitri/doxygen/download.html

The File Structure of Game Skeleton

\3DGameCourse_Ogre_vc_9_v1-7-1
\boost_1_42 \lib OgreMain.dll, OgreTerrain.dll, etc. Include \OIS, \OGRE media \programs
gameSkeleton

demo_hello.sln \media \release \debug \source \bin\release docs

\\ stores fonts, textures, scripts, etc

\\ cpp files and .h files and other \\ binary, DLLs \\ documents

OGRE3D
http://www.ogre3d.org/download/sdk OGRE 1.7.1 or up Visual C++ .Net 2010 (32-bit)

Course:
http://sourceforge.net/projects/ogre/files/ogre/1.7/

OgreSDK_vc9_v1-7-1.exe 2010-04-25 52.3 MB

Anda mungkin juga menyukai