Game platform
PC
Single player Massive multi-player online game ( MMOG ) Web-based Games
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
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
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 )
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 ( )
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
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
Idea
Proposal
Production
Integration
Pre-alpha
Alpha Beta
Final
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
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
~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
Terrain
Collision
Character 2D Sprite
Dynamics Gamepad
Sound FX Audio
UI Network OS API
Engine Layer
2D API
Input Device
System Layer
20
Graphics API
DirectX Graphics OpenGL 3.0
Input Device
DirectX SDK DirectInput
Audio
DirectX SDK DirectSound / Direct3DSound / DirectMedia OpenAL Network
21
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
Shaders 2D sprite system Audio system Gamepad Hotkey Mouse Timers Network Driver development kit ( DDK ) interface
23
Character system Motion blending techniques Dynamics Collision detection SoundFX User interface
24
Avatar Combat system FX system Script system Trading system Number system
25
Visual C++
.NET Visual C/C++ 6.0+ SP5
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
\3DGameCourse_Ogre_vc_9_v1-7-1
\boost_1_42 \lib OgreMain.dll, OgreTerrain.dll, etc. Include \OIS, \OGRE media \programs
gameSkeleton
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/