System Analysis for Games
System Analysis for Games. 王銓彰 2014 cwang001@mac.com kevin.cwang3@gmail.com. 課程內容. Introduction System Analysis Mind map Game System. Game Team Members. 開發團隊 製作人 執行製作 企劃團隊 程式團隊 美術團隊 行銷業務團隊 產品經理 (PM) 測試團隊 遊戲審議委員會 Game project approval 遊戲營運團隊 線上遊戲 game master (GM)
System Analysis for Games
E N D
Presentation Transcript
System Analysis for Games 王銓彰 2014 cwang001@mac.com kevin.cwang3@gmail.com
課程內容 • Introduction • System Analysis • Mind map • Game System
Game Team Members • 開發團隊 • 製作人 • 執行製作 • 企劃團隊 • 程式團隊 • 美術團隊 • 行銷業務團隊 • 產品經理(PM) • 測試團隊 • 遊戲審議委員會 • Game project approval • 遊戲營運團隊 • 線上遊戲 game master (GM) • Customer services • MIS
遊戲開發流程 Basic Procedures for Game Development Idea Proposal Production Integration Testing Debug Tuning • 發想 (Idea) • 提案 (Proposal) • 製作 (Production) • 整合 (Integration) • 測試 (Testing) • 除錯 (Debug) • 調適 (Tuning) Concept Approval Prototype Pre-alpha Alpha Beta Final > Concept approval > 雛型 (prototype) > Pre-alpha > Alpha > Beta
遊戲開發工具 – 遊戲程式 (1/3) • 主要程式開發工具 • Visual C/C++ • Scripting Tools • Python, Lua, Java Script • C#, Objective-C • 必備軟體開發套件 (Software Development Kits, SDKs) • 系統方面 • 個人電腦方面 • Win32 SDK, MFC, .NET • 電視遊戲器 • 無標準通用的系統 • 3D圖形方面 • 個人電腦方面 : DirectX SDK (主要) or OpenGL • Xbox 360 : DirectX SDK • Sony PS3 : (OpenGL) • iOS/Android – OpenGL/ES
遊戲開發工具 – 遊戲程式 (2/3) • 網路方面 • Socket library, Smallfox • 選配中介軟體 (Middleware) • 遊戲引擎 (Game engine) • Unreal (Unreal Engine, UDK) • CryEnigne • Unity • Gamebryo • Renderware • BigWorld (MMO) • 物理引擎 (Physics engine) • ODE (Open Dynamics Engine) • Bullet Physics • PhysX • Havok
遊戲開發工具 – 遊戲程式 (3/3) • 使用者界面 • Qt • ScaleForm
Game Development Tools for Artists • 3D tools • Autodesk 3dsMax • Autodesk Maya • Autodesk Softimage XSI • 2D tools • Photoshop • Illustrator • Motion tools • Motion capture devices (Hardware) • Autodesk Motion Builder • Etc • Z Brush
Why System Analysis (1/2) • Connection from Game Design to Implementation • For Program StructureAnalysis (程式結構分析) • Program modulus • Tools needed • To Identify Work Load (工作量) • How much code to be done ? • What tools to be developed ? • For ResourceManagement (資源管理) • Man month ? (人月) • How many programmers ? • Development tools ? • Specific requirements ?
Why System Analysis (2/2) • For Jobs Dependency Analysis • To Analyze Technical ImplementPossibility • 技術可行性分析 • R&D • Work-flow • Pre-processor for • Game / technical design document (GDD/TDD) • Project management
Something about System Analysis • There Are No Standard Procedures • It’s Not a Theory, Just Something Must Be Done! • Popular Solutions : • UML • Mind map (心智圖法) • This is the one we will use for this course
System Analysis Steps • Brainstorming (腦力激盪) • Integration (整合) • Dependency Analysis (相依性分析) • Create the Project (專案建立) • Write the Design Document (設計文件撰寫)
Brainstorming • Select a Tool • Mind map • Based on the Game Design to Put Everything in Structure As Many As You Can • Including • Game system • Combat / Village / Puzzle / … • Program modulus • Camera / PC control / NPC AI / UI / FX /… • Tools • Level editor / Scene editor / … • Entities in games • Characters / vehicle / terrain / sky dome / audio / … • Technical hi-lights
Integration • Confirm the Resource Limitation • Technical Implement Possibility • Connect All Related Items Together • Remove Redundant Items • Jobs / System Identification • Man Month Analysis • Budgets • How many ? • Who ?
Dependency Analysis • Sort the Jobs • By dependency • By human resource • Prototype for scheduling • The Step That Always Is Ignored by Everyone • Doing good will make the schedule practical • Reduce unnecessary risks
Create the Project • Scheduling (時間排程) • Job Assignment (工作指派) • Resource Allocation (資源配置) • Check points • Milestones • Risk Management Policy (風險管理)
Writing Design Document • GDD • Game design document • MDD • Media design document • TDD • Technical design document
Mind Map • 心智圖法 • A Radiant Thinking Tool • Applications • 讀書心得 • Proposal (提案) • 上課筆記 • 遊記 • System Analysis • … • Reference • Program • Visio • MindManager • … • Tony Buzan, Barry Buzan, “The Mind Map Book: How to Use Radiant Thinking to Maximize Your Brain's Untapped Potential”
Mindmap Tools • Use MindManager Pro • Developed By MindJet • MindManager
Game Systems • Game systems • Control & camera system • Combat system • Reward system • Game FXs • Levels • Village system • User interface • The main program
Game Control System (1/2) • Game control is the interface between the game and the user. • Game control is not only input device control but also the camera control • Input device control • On PC • Mouse • Keyboard • Gamepad • On game console • Gamepad buttons • 0 or 255 • Joystick • 0 - 255
Game Control System (2/2) • Camera control • First-personal view • Third-personal view • God view • Pre-set camera view • Etc
Mouse Control (1/3) • Mouse is a 2D device. • 2-axis moving • Related movement • 2 or 3 buttons • Mouse can : • Move • Drag • Double-click • Behaviors • Hit test • Selection • Pilot • Position & orientation
Mouse Control (2/3) • Typical game types using mouse control • Real-time strategy games • Role Playing Game • Typical game play examples : • Path finding for playable character • Hitting the enemy • Selecting a group of units • Orientating the camera in FPS games • Menu selection • … • Features • Always coupling with god-view camera control • Viewing from the top of game world
Mouse Control (3/3) • Easy to hand on • 一鼠到底 • Slow action • Compared with joystick • Value range from -32727 ~ 32727
Keyboard Control (1/3) • Standard PC input device • Simulating the gamepads • Not every PC game player having gamepad • Using keyboard as the alternative device • Hotkey system • Each key has two states. • Pressed • Released • 256 keys • Behaviors • Key presses/released • ASCII code • One hotkey can represent a set of commands • Very fast input device
Keyboard Control (2/3) • Communication tool • Typing messages • Typical game types using keyboard • MMORPG • Needs chatting with friends • Real-time strategy games • Hotkey system • First-person shooting games • Fighting games • Typical game play examples : • Chatting • Character controls • Move forward • Turning
Keyboard Control (3/3) • Features • Shortcut for a sequence of actions • Commands • Menu selection • But a little bit complicated for players • 256 keys
Gamepad Control (1/3) • A small “keyboard” designed for game playing • Gamepad can map to the hotkey system • Same behaviors • Less than 20 keys • Majors keys :
Gamepad Control (2/3) • Recent gamepad capable of two extra digital joysticks • For buttons • Value range : 0 or 255 • For joystick • Value range : 0 to 255 • Typical game types using gamepad • Almost all types of games except • Need typing • Need large-range selection for game units • Typical game play examples : • Character controls • Move forward • Turn
Gamepad Control (3/3) • Combat system in a fighting game • Move forward • Turn • … • Features • Designed for game playing • Look and feel • Easy to hand-on • If you not to challenge the players’ usual practice
Camera Control • Types • First-personal view • Third-personal view but following the playable character • God view • Fixed • Following the playable character • Fixed view • Pre-rendered background • Pre-set view • … • Very sensitive to game play design & game control • Camera control is not an independent system
God-view Camera Example Age of Empire 3
Combat System (1/4) • Major source of the game fun • Take the action game as our example • Controls • Attack • Stun • Defend • Parry • Fatality • Motion management and blending • NPC AI • FX • Visual • Audio
Combat System (2/4) An Example
Combat System (3/4) • Motion management • Motion blending in runtime • A popular solution - “Blend tree” • Game Developers Conference 2003 • Proceedings CD, Programming Track • “Animation Blending : Achieving Inverse Kinematics and More” • Jerry Edsall • Mech Warrior blend tree Walk Forward Motion Fall Transition Run Fall Down
Combat System (4/4) • NPC AI • Finite state machine • Making decision • Steering behavior • Steering control • Group movement • Path finding • Etc • FX • Combat FX • A game without FX is likely a man walking on street in nude.
Reward System • Number system • Level up • Experience points • Inventory • Recovery • Damage • Mission complete
User Interface • Menu • Dialogue • Pictures • Mini-map • Blood bar • Caption • Messages • Game controls
Village System • Story branching • Script query • Information exchange • Trading • Reinforce • Rest
Cheat Code System • Game flow controls • Jump level • Number system testing • Barrow inventory • Game house keeping • Game data editing • Debugging