25
Introduction Introduction To To Game Development Game Development

Introduction To Game Development

  • Upload
    cyrah

  • View
    75

  • Download
    0

Embed Size (px)

DESCRIPTION

Introduction To Game Development. Introduction to Game Dev. Game Platform Game Types Game Team Game Development Pipeline Game Software System Tools. Game Platform. PC Single player Match Makings MMOG (Massive Multi-player Online Game) Web-based Games Console Sony PS2 MS Xbox - PowerPoint PPT Presentation

Citation preview

Page 1: Introduction To Game Development

IntroductionIntroductionToToGame DevelopmentGame Development

Page 2: Introduction To Game Development

Introduction to Game DevIntroduction to Game Dev Game PlatformGame Platform Game TypesGame Types Game TeamGame Team Game Development PipelineGame Development Pipeline Game Software SystemGame Software System ToolsTools

Page 3: Introduction To Game Development

Game PlatformGame Platform PCPC

Single playerSingle player Match MakingsMatch Makings MMOG (Massive Multi-player Online Game)MMOG (Massive Multi-player Online Game) Web-based GamesWeb-based Games

ConsoleConsole Sony PS2Sony PS2 MS XboxMS Xbox Nintedo GameCubeNintedo GameCube

ArcadeArcade MobileMobile

GBAGBA Hand-heldHand-held

Page 4: Introduction To Game Development

Game Development on Game Development on ConsoleConsole Specific Hardware Designed for GamesSpecific Hardware Designed for Games Single User / Single Process OSSingle User / Single Process OS In General no Hard Disk Drive In General no Hard Disk Drive Closed SystemClosed System Very Native Coding WayVery Native Coding Way

Proprietary SDKProprietary SDK Hardware related featuresHardware related features

Limited ResourcesLimited Resources MemoryMemory

One Console runs, the others do!One Console runs, the others do!

Page 5: Introduction To Game Development

Game TypesGame Types RPG (Role playing games)RPG (Role playing games) AVG (Adventure games)AVG (Adventure games) RTS (Real-time strategy games)RTS (Real-time strategy games) FPS (First-person shooting games)FPS (First-person shooting games) MMORPGMMORPG ( ( Massive Multi-player Online Massive Multi-player Online )) SLG (SLG ( 戰棋戰棋 )) SimulationSimulation SportsSports Puzzle gamesPuzzle games Table gamesTable games

Page 6: Introduction To Game Development

Game TeamGame Team 組成組成 開發團隊開發團隊

製作人製作人 執行製作人執行製作人 企劃團隊企劃團隊 程式團隊程式團隊 美術團隊美術團隊

行銷業務團隊行銷業務團隊 測試團隊測試團隊 遊戲審議委員會遊戲審議委員會

Page 7: Introduction To Game Development

ProducerProducer ( ( 遊戲製作人 遊戲製作人 )) Team Leader (always)Team Leader (always) Resource ManagementResource Management(( 資源管理資源管理 )) AdministrationAdministration ( ( 行政管理行政管理 )) Upward ManagementUpward Management ( ( 向上負責 向上負責 )) Project ManagementProject Management ( ( 專案管理 專案管理 ))

Page 8: Introduction To Game Development

遊戲執行製作人遊戲執行製作人 Project ManagementProject Management(( 專案管理執行專案管理執行 )) Daily Daily 運作運作 House KeepingHouse Keeping Not full-time job positionNot full-time job position

Page 9: Introduction To Game Development

遊戲企劃遊戲企劃 Story TellingStory Telling(( 故事設計故事設計 )) ScriptingScripting ( ( 腳本設計 腳本設計 )) Game Play DesignGame Play Design ( ( 玩法設計 玩法設計 )) Level DesignLevel Design ( ( 關卡設計 關卡設計 )) Game TuningGame Tuning ( ( 遊戲調適 遊戲調適 )) Numerical SetupNumerical Setup ( ( 數值設定 數值設定 )) Game AI Game AI ((AI AI 設計 設計 )) Sound FX SetupSound FX Setup ( ( 音效設定 音效設定 )) Scene SetupScene Setup(( 場景設定場景設定 ))

Page 10: Introduction To Game Development

遊戲美術遊戲美術 TerrainTerrain(( 場景場景 )) CharacterCharacter ( ( 人物人物 )) ModelsModels ( ( 建模建模 )) TexturesTextures(( 材質材質 )) Motion / AnimationMotion / Animation(( 動作動作 )) FXFX ( ( 特效特效 )) User InterfaceUser Interface

Page 11: Introduction To Game Development

遊戲程式遊戲程式 Game ProgramGame Program(( 遊戲程式 遊戲程式 )) Game Tools Game Tools (( 遊戲開發工具 遊戲開發工具 ))

Level EditorLevel Editor Scene EditorScene Editor FX EditorFX Editor Script EditorScript Editor

Game Data Exporters from 3D SoftwareGame Data Exporters from 3D Software 3dsMax / Maya / Softimage3dsMax / Maya / Softimage

Game Engine DevelopmentGame Engine Development Online Game Server DevelopmentOnline Game Server Development

Page 12: Introduction To Game Development

遊戲開發流程遊戲開發流程Basic Procedures for Game Development

Idea Proposal Production IntegrationTesting

Debug Tuning

ConceptApproval

Prototype Pre-alpha Alpha Beta Final

IdeaIdea(( 發想 發想 )) ProposalProposal ( ( 提案提案 )) ProductionProduction(( 製作 製作 )) IntegrationIntegration ( ( 整合整合 )) TestingTesting(( 測試 測試 ))

DebugDebug(( 除錯 除錯 )) TuningTuning(( 調適調適 ))

> Concept Approval

> 雛形 (Prototype)

> Pre-alpha

> Alpha

> Beta

Page 13: Introduction To Game Development

遊戲發想 遊戲發想 ((Concept Design)Concept Design) Game TypesGame Types(( 遊戲類型遊戲類型 )) Game World Game World (( 遊戲世界觀 遊戲世界觀 )) StoryStory ( ( 故事故事 )) Features Features (( 遊戲特色遊戲特色 )) Game PlayGame Play(( 遊戲玩法 遊戲玩法 )) Game Product Positioning Game Product Positioning (( 遊戲定位 遊戲定位 ))

Target playerTarget player Marketing segmentation / positioningMarketing segmentation / positioning

RiskRisk(( 風險評估 風險評估 )) SWOT SWOT

(Strength/Weakness/Opportunity/Threat)(Strength/Weakness/Opportunity/Threat)

Page 14: Introduction To Game Development

遊戲提案 遊戲提案 ((Proposal)Proposal) System AnalysisSystem Analysis(( 系統分析 系統分析 )) Game Design DocumentGame Design Document((GDD GDD 撰寫 撰寫 )) Media Design DocumentMedia Design Document((MDD MDD 撰寫 撰寫 )) Technical Design Document Technical Design Document ((TDD TDD 撰寫 撰寫 )) Game ProjectGame Project ( ( 遊戲專案建立 遊戲專案建立 ))

ScheduleSchedule Milestones / Check pointsMilestones / Check points Risk managementRisk management

測試計畫書測試計畫書 Team BuildingTeam Building ( ( 團隊建立 團隊建立 ))

Page 15: Introduction To Game Development

遊戲開發 遊戲開發 ((Production)Production) 美術量產製作美術量產製作

ModelingModeling TexturesTextures AnimationAnimation MotionMotion FXFX

程式開發 程式開發 ((Coding)Coding) 企劃數值設定企劃數值設定 ……

量產 量產 !!

Page 16: Introduction To Game Development

遊戲整合 遊戲整合 ((Integration)Integration) Level IntegrationLevel Integration(( 關卡串聯 關卡串聯 )) Number Tuning Number Tuning (( 數值調整 數值調整 )) AudioAudio(( 音效置入 音效置入 )) 完成所有美術完成所有美術 程式與美術結合程式與美術結合 Focus Group (User Study)Focus Group (User Study)

Release some playable levels for focus Release some playable levels for focus groupgroup

Page 17: Introduction To Game Development

遊戲測試 遊戲測試 ((Testing)Testing) Alpha TestAlpha Test

DebugDebug ( ( 除錯 除錯 )) Beta TestBeta Test

數值微調數值微調 Game play Game play 微調微調 對線上遊戲而言 對線上遊戲而言 ((MMOG)MMOG)

封閉測試 封閉測試 ((Closed Beta)Closed Beta) 開放測試 開放測試 ((Open Beta)Open Beta)

極限測試 極限測試 ((Critical Testing)Critical Testing) 線上遊戲才有線上遊戲才有

Page 18: Introduction To Game Development

BugBug Bug Bug 分級 分級 ((Bug Classification)Bug Classification)

A BugA Bug B BugB Bug C BugC Bug S BugS Bug

PrinciplesPrinciples Bug Bug 分級從嚴分級從嚴 Tester vs DebuggerTester vs Debugger

Bug Classification

Bug Dispatch

Debug

Verify

Bug

FAQ

Y

N

?

Page 19: Introduction To Game Development

Game Software SystemGame Software System

Hardware

3D Graphics API 2D API Input Device OS API

3D Scene Mngmt 2D Sprite Gamepad NetworkAudio

Terrain Collision Character UIDynamics Sound FX

Fighting System FX System Game AI Script System

NPC System Virtual Agent Trading System Story

Game

Game PlayLayer

EngineLayer

SystemLayer

Page 20: Introduction To Game Development

System Layer - APIsSystem Layer - APIs 33D Graphics APID Graphics API

DirectX 9.0 SDK – Direct3DDirectX 9.0 SDK – Direct3D OpenGL 2.0OpenGL 2.0

2D API2D API DirectX 9.0 SDK - DirectMediaDirectX 9.0 SDK - DirectMedia Win32 GDIWin32 GDI

Input DeviceInput Device DirectX 9.0 SDK – DirectInputDirectX 9.0 SDK – DirectInput

AudioAudio DirectX 9.0 SDK – DirectSound / Direct3DSound / DirectX 9.0 SDK – DirectSound / Direct3DSound /

DirectMediaDirectMedia OpenALOpenAL

Page 21: Introduction To Game Development

System Layer - APIsSystem Layer - APIs OS APIOS API

Win32 SDKWin32 SDK MFCMFC

NetworkNetwork DirectX 9.0 SDK – DirectPlayDirectX 9.0 SDK – DirectPlay Socket librarySocket library

Page 22: Introduction To Game Development

Engine LayerEngine Layer 3D Scene Management System3D Scene Management System

Scene GraphScene Graph ShadersShaders 2D Sprite System2D Sprite System Audio SystemAudio System GamepadGamepad HotkeyHotkey MouseMouse TimersTimers NetworkNetwork DDK InterfaceDDK Interface

Page 23: Introduction To Game Development

Engine LayerEngine Layer TerrainTerrain Advanced Scene Management – Space Advanced Scene Management – Space

PartitionPartition BSP TreeBSP Tree OctreeOctree

Character SystemCharacter System Motion Blending TechniquesMotion Blending Techniques DynamicsDynamics Collision DetectionCollision Detection SoundFXSoundFX User InterfaceUser Interface

Page 24: Introduction To Game Development

Game Play ModulaGame Play Modula NPC (Non-playable Characters)NPC (Non-playable Characters) Game AIGame AI

Path FindingPath Finding Finite State MachineFinite State Machine ……

AvatarAvatar Combat SystemCombat System FX SystemFX System Script SystemScript System Trading SystemTrading System Number SystemNumber System ……

Page 25: Introduction To Game Development

Game Dev ToolsGame Dev Tools javajava Visual C/C++Visual C/C++

.net 2003.net 2003 Visual C/C++ 6.0+ SP5Visual C/C++ 6.0+ SP5

DirectX / OpenGLDirectX / OpenGL DirectX Current 9.0c DirectX Current 9.0c OpenGL Current 2.0OpenGL Current 2.0

NuMega BoundsCheckerNuMega BoundsChecker Intel vTuneIntel vTune 3D Tools3D Tools

3dsMax/Maya/Softimage3dsMax/Maya/Softimage In-house ToolsIn-house Tools