1 System Analysis for Games 王銓彰2014 [email protected] [email protected].
-
Upload
loreen-garrison -
Category
Documents
-
view
234 -
download
0
Transcript of 1 System Analysis for Games 王銓彰2014 [email protected] [email protected].
IntroductionIntroduction System AnalysisSystem Analysis Mind mapMind map Game SystemGame System
課程內容課程內容
22
3
開發團隊開發團隊 製作人製作人 執行製作執行製作 企劃團隊企劃團隊 程式團隊程式團隊 美術團隊美術團隊
行銷業務團隊行銷業務團隊 產品經理產品經理 (PM)(PM)
測試團隊測試團隊 遊戲審議委員會遊戲審議委員會
Game project approvalGame project approval 遊戲營運團隊遊戲營運團隊
線上遊戲 線上遊戲 game master (GM)game master (GM) Customer servicesCustomer services MISMIS
Game Team MembersGame Team Members
4
Basic Procedures for Game Development
Idea Proposal Production IntegrationTesting
Debug Tuning
ConceptApproval
Prototype Pre-alpha Alpha Beta Final
發想 發想 ((Idea)Idea) 提案 提案 ((Proposal)Proposal) 製作 製作 ((Production)Production) 整合 整合 ((Integration)Integration) 測試 測試 ((Testing)Testing)
除錯 除錯 ((Debug)Debug) 調適 調適 ((Tuning)Tuning)
> Concept approval
> 雛型 (prototype)
> Pre-alpha
> Alpha
> Beta
遊戲開發流程遊戲開發流程
5
主要程式開發工具主要程式開發工具 Visual C/C++Visual C/C++ Scripting ToolsScripting Tools
Python, Lua, Java ScriptPython, Lua, Java Script C#, Objective-CC#, Objective-C
必備必備軟體開發套件 軟體開發套件 (Software Development Kits, SDKs)(Software Development Kits, SDKs) 系統方面系統方面
個人電腦方面個人電腦方面 Win32 SDK, MFC, .NETWin32 SDK, MFC, .NET
電視遊戲器電視遊戲器 無標準通用的系統無標準通用的系統
3D3D 圖形方面圖形方面 個人電腦方面 個人電腦方面 : : DirectX SDK (DirectX SDK ( 主要主要 )) or OpenGL or OpenGL Xbox 360 : DirectX SDKXbox 360 : DirectX SDK Sony PS3 : (OpenGL)Sony PS3 : (OpenGL) iOS/Android – OpenGL/ESiOS/Android – OpenGL/ES
遊戲開發工具 遊戲開發工具 – – 遊戲程式 遊戲程式 (1/3)(1/3)
6
網路方面網路方面 Socket library, SmallfoxSocket library, Smallfox
選配選配中介軟體 中介軟體 (Middleware)(Middleware) 遊戲引擎 遊戲引擎 (Game engine)(Game engine)
Unreal (Unreal Engine, UDK)Unreal (Unreal Engine, UDK) CryEnigneCryEnigne UnityUnity GamebryoGamebryo RenderwareRenderware BigWorld (MMO)BigWorld (MMO)
物理引擎 物理引擎 (Physics engine)(Physics engine) ODE (Open Dynamics Engine)ODE (Open Dynamics Engine) Bullet PhysicsBullet Physics PhysXPhysX HavokHavok
遊戲開發工具 遊戲開發工具 – – 遊戲程式 遊戲程式 (2/3)(2/3)
7
使用者界面使用者界面 QtQt ScaleFormScaleForm
遊戲開發工具 遊戲開發工具 – – 遊戲程式 遊戲程式 (3/3)(3/3)
8
3D tools3D tools Autodesk 3dsMaxAutodesk 3dsMax Autodesk MayaAutodesk Maya Autodesk Softimage XSIAutodesk Softimage XSI
2D tools2D tools PhotoshopPhotoshop IllustratorIllustrator
Motion toolsMotion tools Motion capture devices (Hardware)Motion capture devices (Hardware) Autodesk Motion BuilderAutodesk Motion Builder
EtcEtc Z BrushZ Brush
Game Development Tools for ArtistsGame Development Tools for Artists
Connection from Game Design to ImplementationConnection from Game Design to Implementation For Program StructureFor Program Structure Analysis (Analysis ( 程式結構分析程式結構分析 ))
Program modulusProgram modulus Tools neededTools needed
To Identify Work Load (To Identify Work Load ( 工作量工作量 )) How much code to be done ?How much code to be done ? What tools to be developed ?What tools to be developed ?
For ResourceFor Resource Management (Management ( 資源管理資源管理 )) Man month ? (Man month ? ( 人月人月 )) How many programmers ?How many programmers ? Development tools ?Development tools ? Specific requirements ?Specific requirements ?
Why System Analysis (1/2)Why System Analysis (1/2)
99
For Jobs Dependency AnalysisFor Jobs Dependency Analysis To Analyze Technical ImplementTo Analyze Technical Implement PossibilityPossibility
技術可行性分析技術可行性分析 R&DR&D Work-flowWork-flow
Pre-processor forPre-processor for Game / technical design document (GDD/TDD)Game / technical design document (GDD/TDD) Project managementProject management
Why System Analysis (2/2)Why System Analysis (2/2)
1010
There Are No Standard ProceduresThere Are No Standard Procedures It’s Not a Theory, Just Something Must Be Done!It’s Not a Theory, Just Something Must Be Done! Popular Solutions :Popular Solutions :
UMLUML Mind map (Mind map ( 心智圖法心智圖法 ))
This is the one we will use for this courseThis is the one we will use for this course
Something about System AnalysisSomething about System Analysis
1111
Brainstorming (Brainstorming ( 腦力激盪腦力激盪 )) Integration (Integration ( 整合整合 )) Dependency Analysis (Dependency Analysis ( 相依性分析相依性分析 )) Create the Project (Create the Project ( 專案建立專案建立 )) Write the Design Document (Write the Design Document ( 設計文件撰寫設計文件撰寫 ))
System Analysis StepsSystem Analysis Steps
1212
Select a ToolSelect a Tool Mind mapMind map
Based on the Game Design to Put Everything in Structure As Many As You Based on the Game Design to Put Everything in Structure As Many As You CanCan
IncludingIncluding Game systemGame system
Combat / Village / Puzzle / …Combat / Village / Puzzle / … Program modulusProgram modulus
Camera / PC control / NPC AI / UI / FX /…Camera / PC control / NPC AI / UI / FX /… Tools Tools
Level editor / Scene editor / …Level editor / Scene editor / … Entities in gamesEntities in games
Characters / vehicle / terrain / sky dome / audio / …Characters / vehicle / terrain / sky dome / audio / … Technical hi-lightsTechnical hi-lights
BrainstormingBrainstorming
1313
Confirm the Resource LimitationConfirm the Resource Limitation Technical Implement PossibilityTechnical Implement Possibility Connect All Related Items TogetherConnect All Related Items Together Remove Redundant ItemsRemove Redundant Items Jobs / System IdentificationJobs / System Identification Man Month AnalysisMan Month Analysis
BudgetsBudgets How many ?How many ? Who ?Who ?
IntegrationIntegration
1414
Sort the JobsSort the Jobs By dependencyBy dependency By human resourceBy human resource
Prototype for schedulingPrototype for scheduling The Step That Always Is Ignored by EveryoneThe Step That Always Is Ignored by Everyone
Doing good will make the schedule practicalDoing good will make the schedule practical Reduce unnecessary risksReduce unnecessary risks
Dependency AnalysisDependency Analysis
1515
Scheduling (Scheduling ( 時間排程時間排程 )) Job Assignment (Job Assignment ( 工作指派工作指派 )) Resource Allocation (Resource Allocation ( 資源配置資源配置 )) Check pointsCheck points MilestonesMilestones Risk Management Policy (Risk Management Policy ( 風險管理風險管理 ))
Create the ProjectCreate the Project
1616
GDDGDD Game design documentGame design document
MDDMDD Media design documentMedia design document
TDDTDD Technical design documentTechnical design document
Writing Design DocumentWriting Design Document
1717
心智圖法心智圖法 A Radiant Thinking ToolA Radiant Thinking Tool ApplicationsApplications
讀書心得讀書心得 Proposal (Proposal ( 提案提案 )) 上課筆記上課筆記 遊記遊記 System AnalysisSystem Analysis ……
ReferenceReference ProgramProgram
VisioVisio MindManagerMindManager ……
Tony Buzan, Barry Buzan, “The Mind Map Book: How to Use Radiant Tony Buzan, Barry Buzan, “The Mind Map Book: How to Use Radiant Thinking to Maximize Your Brain's Untapped Potential” Thinking to Maximize Your Brain's Untapped Potential”
Mind MapMind Map
1818
19
Use MindManager ProUse MindManager Pro Developed By MindJetDeveloped By MindJet MindManagerMindManager
Mindmap ToolsMindmap Tools
2020
Game SystemsGame Systems Game systemsGame systems
Control & camera systemControl & camera system Combat systemCombat system Reward systemReward system Game FXsGame FXs LevelsLevels Village systemVillage system User interfaceUser interface The main programThe main program
2121
Game Control System (1/2)Game Control System (1/2) Game control is the interface between the game and the user.Game control is the interface between the game and the user. Game control is not only input device control but also the camera controlGame control is not only input device control but also the camera control Input device controlInput device control
On PCOn PC MouseMouse KeyboardKeyboard GamepadGamepad
On game consoleOn game console Gamepad buttonsGamepad buttons
0 or 2550 or 255 JoystickJoystick
0 - 2550 - 255
2222
Game Control System (2/2)Game Control System (2/2) Camera controlCamera control
First-personal viewFirst-personal view Third-personal viewThird-personal view God viewGod view Pre-set camera viewPre-set camera view EtcEtc
2323
Mouse Control (1/3)Mouse Control (1/3) Mouse is a 2D device.Mouse is a 2D device.
2-axis moving2-axis moving Related movementRelated movement 2 or 3 buttons2 or 3 buttons
Mouse can :Mouse can : MoveMove DragDrag Double-clickDouble-click
BehaviorsBehaviors Hit testHit test SelectionSelection PilotPilot
Position & orientationPosition & orientation
2424
Mouse Control (2/3)Mouse Control (2/3) Typical game types using mouse controlTypical game types using mouse control
Real-time strategy gamesReal-time strategy games Role Playing GameRole Playing Game
Typical game play examples :Typical game play examples : Path finding for playable characterPath finding for playable character Hitting the enemyHitting the enemy Selecting a group of unitsSelecting a group of units Orientating the camera in FPS gamesOrientating the camera in FPS games Menu selectionMenu selection ……
FeaturesFeatures Always coupling with god-view camera controlAlways coupling with god-view camera control
Viewing from the top of game worldViewing from the top of game world
2525
Mouse Control (3/3)Mouse Control (3/3) Easy to hand onEasy to hand on
一鼠到底一鼠到底 Slow actionSlow action
Compared with joystickCompared with joystick Value range from -32727 ~ 32727Value range from -32727 ~ 32727
2626
Keyboard Control (1/3)Keyboard Control (1/3) Standard PC input deviceStandard PC input device Simulating the gamepadsSimulating the gamepads
Not every PC game player having gamepadNot every PC game player having gamepad Using keyboard as the alternative deviceUsing keyboard as the alternative device
Hotkey systemHotkey system Each key has two states.Each key has two states.
PressedPressed ReleasedReleased
256 keys256 keys BehaviorsBehaviors
Key presses/releasedKey presses/released ASCII codeASCII code
One hotkey can represent a set of commandsOne hotkey can represent a set of commands Very fast input deviceVery fast input device
2727
Keyboard Control (2/3)Keyboard Control (2/3) Communication toolCommunication tool
Typing messages Typing messages Typical game types using keyboardTypical game types using keyboard
MMORPGMMORPG Needs chatting with friendsNeeds chatting with friends
Real-time strategy gamesReal-time strategy games Hotkey systemHotkey system
First-person shooting gamesFirst-person shooting games Fighting gamesFighting games
Typical game play examples :Typical game play examples : ChattingChatting Character controlsCharacter controls
Move forwardMove forward TurningTurning
2828
Keyboard Control (3/3)Keyboard Control (3/3) FeaturesFeatures
Shortcut for a sequence of actionsShortcut for a sequence of actions CommandsCommands Menu selectionMenu selection
But a little bit complicated for playersBut a little bit complicated for players 256 keys256 keys
2929
Gamepad Control (1/3)Gamepad Control (1/3) A small “keyboard” designed for game playingA small “keyboard” designed for game playing
Gamepad can map to the hotkey systemGamepad can map to the hotkey system Same behaviorsSame behaviors Less than 20 keysLess than 20 keys
Majors keys :Majors keys :
3030
Gamepad Control (2/3)Gamepad Control (2/3) Recent gamepad capable of two extra digital joysticksRecent gamepad capable of two extra digital joysticks
For buttonsFor buttons Value range : 0 or 255Value range : 0 or 255
For joystickFor joystick Value range : 0 to 255Value range : 0 to 255
Typical game types using gamepadTypical game types using gamepad Almost all types of games exceptAlmost all types of games except
Need typingNeed typing Need large-range selection for game unitsNeed large-range selection for game units
Typical game play examples :Typical game play examples : Character controlsCharacter controls
Move forwardMove forward Turn Turn
3131
Gamepad Control (3/3)Gamepad Control (3/3) Combat system in a fighting gameCombat system in a fighting game
Move forwardMove forward TurnTurn
…… FeaturesFeatures
Designed for game playingDesigned for game playing Look and feelLook and feel
Easy to hand-onEasy to hand-on If you not to challenge the players’ usual practiceIf you not to challenge the players’ usual practice
3232
Camera ControlCamera Control TypesTypes
First-personal viewFirst-personal view Third-personal view but following the playable characterThird-personal view but following the playable character God viewGod view
FixedFixed Following the playable characterFollowing the playable character
Fixed viewFixed view Pre-rendered backgroundPre-rendered background
Pre-set viewPre-set view ……
Very sensitive to game play design & game controlVery sensitive to game play design & game control Camera control is not an independent systemCamera control is not an independent system
3333
God-view Camera ExampleGod-view Camera Example
Age of Empire 3Age of Empire 33434
Major source of the game funMajor source of the game fun Take the action game as our exampleTake the action game as our example ControlsControls
AttackAttack StunStun DefendDefend ParryParry FatalityFatality
Motion management and blendingMotion management and blending NPC AINPC AI FXFX
VisualVisual AudioAudio
Combat System (1/4)Combat System (1/4)
3535
Combat System (2/4)Combat System (2/4)
3636
An ExampleAn Example
Motion managementMotion management Motion blending in runtimeMotion blending in runtime A popular solution - “Blend tree”A popular solution - “Blend tree”
GGame Developersame Developers Conference 2003 Conference 2003 PProceedings CD, Programming Trackroceedings CD, Programming Track ““AAnimation Blending : Achieving Inverse Kinematics and More”nimation Blending : Achieving Inverse Kinematics and More” JJerry Edsallerry Edsall MMech Warrior blend treeech Warrior blend tree
Combat System (3/4)Combat System (3/4)
Fall TransitionFall Transition
ForwardForwardMotionMotion
FallFallDownDown
WalkWalk
RunRun
3737
NPC AINPC AI Finite state machineFinite state machine
Making decisionMaking decision Steering behaviorSteering behavior
Steering controlSteering control Group movementGroup movement
Path findingPath finding EtcEtc
FXFX Combat FXCombat FX A game without FX is likely a man walking on street in nude.A game without FX is likely a man walking on street in nude.
Combat System (4/4)Combat System (4/4)
3838
Number systemNumber system Level upLevel up Experience pointsExperience points InventoryInventory RecoveryRecovery DamageDamage Mission completeMission complete
Reward SystemReward System
3939
MenuMenu DialogueDialogue PicturesPictures Mini-mapMini-map Blood barBlood bar CaptionCaption MessagesMessages Game controlsGame controls
User InterfaceUser Interface
4040
Story branchingStory branching Script queryScript query Information exchangeInformation exchange TradingTrading ReinforceReinforce
RestRest
Village SystemVillage System
4141
Game flow controlsGame flow controls Jump levelJump level Number system testingNumber system testing Barrow inventoryBarrow inventory Game house keepingGame house keeping Game data editingGame data editing DebuggingDebugging
Cheat Code SystemCheat Code System
4242