1 / 30

Introduction to Game Development

Introduction to Game Development. Introduction to game development. Game Platform Game Types Game Team Game Development Pipeline Game Software System Tools. Game platform. PC Single player Massive multi-player online game ( MMOG ) Web-based Games Console ( Video game console )

luft
Download Presentation

Introduction to Game Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Game Development

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

  3. 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

  4. 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

  5. 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!

  6. 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

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

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

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

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

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

  12. 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

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

  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 ( GDD 撰寫 ) • Media design document ( MDD 撰寫 ) • Technical design document ( TDD 撰寫 ) • Game project ( 遊戲專案建立 ) • Schedule • Milestones / check points • Risk management • Proposal for testing ( 測試計畫書 ) • Team building ( 團隊建立 )

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

  17. Integration 遊戲整合 • Level integration ( 關卡串聯 ) • Number tuning ( 數值調整 ) • Audio ( 音效置入 ) • Artworks ( 完成所有美術 ) • Integration of game programs and artworks ( 程式與美術結合 ) • Focus group (User study) • Release some playable levels for focus group

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

  19. Bugs Bug Bug Classification Bug Dispatch ? Debug N Verify Y FAQ • Bug Classification ( Bug 分級 ) http://www.cse.iitd.ernet.in/ ~jalote/papers/CommonBugs.pdf • Memory leaks • Free already freed resources • NULL dereferencing • Show in different formats • Synchronization errors • Value outside domain • In terms of game play experience • Principles • Strict guidelines for bug classification • Tester vs Debugger

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

  21. 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

  22. 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) • Development environment .NET 2003

  23. 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

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

  25. 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

  26. 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

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

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

  29. 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 \\ stores fonts, textures, scripts, etc • \release • \debug • \source \\ cpp files and .h files and other • \bin\release \\ binary, DLLs • docs \\ documents

  30. 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

More Related