Introduction to Game Development 1 Introduction to game

  • Slides: 30
Download presentation
Introduction to Game Development 1

Introduction to Game Development 1

Introduction to game development Game Platform n Game Types n Game Team n Game

Introduction to game development Game Platform n Game Types n Game Team n Game Development Pipeline n Game Software System n Tools n 2

Game platform n PC – Single player – Massive multi-player online game ( MMOG

Game platform n PC – Single player – Massive multi-player online game ( MMOG ) – Web-based Games n Console ( Video game console ) – Sony PS 2 – Microsoft Xbox – Nintedo Game. Cube n n Arcade ( Coin-operated entertainment machine ) Mobile – – – Game Boy Advance ( GBA ) Handheld video game console i. Phone 3

Game development on PC n n n n Designed for office application Not for

Game development on PC n n n n 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 4

Game development on console n n n Specific hardware designed for games Single user

Game development on console n n n 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 n Limited resources – Memory n One console runs, the others do! 5

Game types n RPG (Role playing games) AVG (Adventure games) RTS (Real-time strategy games)

Game types n RPG (Role playing games) AVG (Adventure games) RTS (Real-time strategy games) FPS (First-person shooting games) n MMORPG ( Massively multiplayer online role n n n playing game ) n n n Strategy game Simulation game Sports Puzzle games Table games 6

Game team members n n Development Team – Producers – Executive producers – Game

Game team members n n Development Team – Producers – Executive producers – Game designers – Programmers – Artists – Level designers – Sound engineers Sales and marketing ( 行銷業務團隊 ) Testers (測試團隊 ) Game review committee ( 遊戲審議委員會 ) 7

Game producer 遊戲製作人 n n n Team leader (always) Resource management ( 資源管理 )

Game producer 遊戲製作人 n n n Team leader (always) Resource management ( 資源管理 ) Administration ( 行政管理 ) Upward management ( 向上管理) Project management ( 專案管理 ) 8

Game executive producer 遊戲執行製作人 n n Project management ( 專案管理執行 ) Daily operation House

Game executive producer 遊戲執行製作人 n n Project management ( 專案管理執行 ) Daily operation House keeping Not full-time job position 9

Game design 遊戲企劃 n n n n n Story telling ( 故事設計 ) Scripting

Game design 遊戲企劃 n n n n n Story telling ( 故事設計 ) Scripting ( 腳本設計 ) Game play design ( 玩法設計 ) Level design ( 關卡設計 ) Game tuning ( 遊戲調適 ) Numerical setup ( 數值設定 ) Game AI ( AI 設計 ) Sound FX setup ( 音效設定 ) Scene setup ( 場景設定 ) 10

Game art 遊戲美術 n n n n Terrain ( 場景 ) Character ( 人物

Game art 遊戲美術 n n n n Terrain ( 場景 ) Character ( 人物 ) Models ( 建模 ) Textures ( 材質 ) Motion / Animation ( 動作 ) FX ( 特效 ) User Interface 11

Game program 遊戲程式 n n n Game program (遊戲程式) Game tools (遊戲開發 具) –

Game program 遊戲程式 n n n Game program (遊戲程式) Game tools (遊戲開發 具) – Level editor – Scene editor – FX editor – Script editor Game data exporters from 3 D software – 3 ds. Max / Maya / Softimage Game engine development Online game server development 12

Flowchart of game development Basic Procedures for Game Development Idea Proposal Production Concept Prototype

Flowchart of game development Basic Procedures for Game Development Idea Proposal Production Concept Prototype Approval n n n Integration Idea (發想) Proposal (提案) Production (製作) Integration (整合) Testing (測試) – Debug (除錯) – Tuning (調適) Pre-alpha Testing Debug Tuning Alpha Beta > Concept Approval > 雛形 (Prototype) > Pre-alpha > Alpha > Beta 13 Final

Concept design ( 遊戲發想 ) n n n n Game types ( 遊戲類型 )

Concept design ( 遊戲發想 ) n n n n Game types ( 遊戲類型 ) Game world ( 遊戲世界觀 ) Story ( 故事 ) Features ( 遊戲特色 ) Game play ( 遊戲玩法 ) Game product positioning ( 遊戲定位 ) – Target player – Marketing segmentation / positioning Risk ( 風險評估 ) – SWOT (Strength/Weakness/Opportunity/Threat) 14

Proposal 遊戲提案 n n n n System analysis ( 系統分析 ) Game design document

Proposal 遊戲提案 n n n n 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 遊戲開發 n n n High quality artworks – Modeling – Textures – Animation

Production 遊戲開發 n n n High quality artworks – Modeling – Textures – Animation – Motion – FX (Special Effects) Coding ( 程式開發 ) Marketing Quality > Quantity 16

Integration 遊戲整合 n n n Level integration ( 關卡串聯 ) Number tuning ( 數值調整

Integration 遊戲整合 n n n 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 遊戲測試 n n n Alpha ( 測試 ) – Debug ( 除錯 )

Testing 遊戲測試 n n n Alpha ( 測試 ) – Debug ( 除錯 ) Beta ( 測試 ) – Number tuning ( 值微調 ) – Game play tuning ( 微調 ) – MMOG ( 對線上遊戲而言 ) » Closed beta ( 封閉測試 ) » Open beta ( 開放測試 ) Critical testing ( 極限測試 ) 18

Bugs n Bug Classification ( Bug 分級 ) http: //www. cse. iitd. ernet. in/

Bugs n Bug Classification ( Bug 分級 ) http: //www. cse. iitd. ernet. in/ n Bug ~jalote/papers/Common. Bugs. 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 NPC System Fighting System Terrain Collision 3 D Scene Mngmt

Game software system Game NPC System Fighting System Terrain Collision 3 D Scene Mngmt 3 D Graphics API Virtual Agent Trading System FX System Game AI Story Script System Character Dynamics Sound FX 2 D Sprite Gamepad Audio Network Input Device OS API 2 D API Game Play Layer UI Engine Layer System Layer Hardware 20

System Layer – APIs (1/2) n Graphics API – Direct. X Graphics – Open.

System Layer – APIs (1/2) n Graphics API – Direct. X Graphics – Open. GL 3. 0 n Input Device – Direct. X SDK – Direct. Input n Audio – Direct. X SDK – Direct. Sound / Direct 3 DSound / Direct. Media – Open. AL – Network 21

System Layer – APIs (2/2) n OS API – Win 32 SDK – MFC

System Layer – APIs (2/2) n OS API – Win 32 SDK – MFC n Network – Direct. X SDK – Direct. Play – Socket library n Rak. Net “Rak. Net 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) n 3 D scene management system – Scene graph n n

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

Engine Layer (2/2) n n Terrain Advanced scene management – space partition – BSP

Engine Layer (2/2) n n Terrain Advanced scene management – space partition – BSP Tree – Octree n n n Character system Motion blending techniques Dynamics Collision detection Sound. FX User interface 24

Game Play Modula n n NPC (Non-playable characters) Game AI – Path finding –

Game Play Modula n n NPC (Non-playable characters) Game AI – Path finding – Finite state machine n n n Avatar Combat system FX system Script system Trading system Number system 25

Game development tools n Visual C++ –. NET – Visual C/C++ 6. 0+ SP

Game development tools n Visual C++ –. NET – Visual C/C++ 6. 0+ SP 5 n n Direct. X or Open. GL Nu. Mega Bounds. Checker http: //en. wikipedia. org/wiki/Bounds. Checker A memory checking tool n Intel v. Tune (效能分析器) http: //software. intel. com/en-us/articles/intel-vtune-amplifier-xe/ n 3 D tools – 3 ds. Max/Maya/Softimage/Blender/ n In-house tools 26

Course Homepage http: //www. cs. nctu. edu. tw/~cswingo/teaching/3 DGame. Pro/

Course Homepage http: //www. cs. nctu. edu. tw/~cswingo/teaching/3 DGame. Pro/

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

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

The File Structure of Game Skeleton 3 DGame. Course_Ogre_vc_9_v 1 -7 -1 – –

The File Structure of Game Skeleton 3 DGame. Course_Ogre_vc_9_v 1 -7 -1 – – – boost_1_42 lib Ogre. Main. dll, Ogre. Terrain. dll, etc. Include OIS, OGRE media programs » game. Skeleton n n n demo_hello. sln media release debug source binrelease docs \ stores fonts, textures, scripts, etc \ cpp files and. h files and other \ binary, DLLs \ documents

OGRE 3 D http: //www. ogre 3 d. org/download/sdk n OGRE 1. 7. 1

OGRE 3 D http: //www. ogre 3 d. org/download/sdk n OGRE 1. 7. 1 or up Visual C++. Net 2010 (32 -bit) n n Course: http: //sourceforge. net/projects/ogre/files/ogre/1. 7/ Ogre. SDK_vc 9_v 1 -7 -1. exe 2010 -04 -25 52. 3 MB