420 likes | 631 Views
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)
E N D
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