Top Banner
1 Game System Analysis Game System Analysis
38

Game System Analysis

Jan 03, 2016

Download

Documents

kibo-hicks

Game System Analysis. Contents. Idea about system analysis (SA) Mind mapping Case study – term project. Why system analysis (1/2). For program structure analysis Program modulus Tools To identify work load Programs/tools under development For resource management Man month - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Game System Analysis

1

Game System AnalysisGame System Analysis

Page 2: Game System Analysis

Idea about system analysis (SA)Idea about system analysis (SA) Mind mappingMind mapping Case study – term projectCase study – term project

2

ContentsContents

Page 3: Game System Analysis

For program structure analysisFor program structure analysis– Program modulusProgram modulus– ToolsTools

To identify work load To identify work load – Programs/tools under developmentPrograms/tools under development

For resource managementFor resource management– Man monthMan month– How many programmers ?How many programmers ?– Development tools ?Development tools ?– Specific tools ?Specific tools ?

For job dependency analysisFor job dependency analysis

3

Why system analysis (1/2)Why system analysis (1/2)

Page 4: Game System Analysis

To make technical feasibility analysis To make technical feasibility analysis 程式結程式結構 構 – R&D ?R&D ?

Pre-process forPre-process for– Technical design documentTechnical design document– Project managementProject management

Bridge from game design to programmingBridge from game design to programming

4

Why system analysis (2/2)Why system analysis (2/2)

Page 5: Game System Analysis

No standard proceduresNo standard procedures Something must be done!Something must be done! MethodsMethods

– UMLUML– Mind mapping (Mind mapping ( 心智圖法心智圖法 ))

5

Something about system analysisSomething about system analysis

Page 6: Game System Analysis

BrainstormingBrainstorming IntegrationIntegration Dependency analysisDependency analysis Create the projectCreate the project Write the technical design document (TDD)Write the technical design document (TDD)

6

System analysis stepsSystem analysis steps

Page 7: Game System Analysis

Based on the game design to put everything Based on the game design to put everything as many as we couldas many as we could

Use mind mappingUse mind mapping 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 / vehicles / terrain / audio / …Characters / vehicles / terrain / audio / …

7

BrainstormingBrainstorming

Page 8: Game System Analysis

Confirm the resource limitationConfirm the resource limitation Technical implement possibilityTechnical implement possibility Put all related items togetherPut all related items together Man month analysisMan month analysis

– How many ?How many ?– Who ?Who ?

Jobs/System identificationJobs/System identification

8

IntegrationIntegration

Page 9: Game System Analysis

Sort the JobsSort the Jobs– By dependencyBy dependency– By programmersBy programmers

Prototype for schedulingPrototype for scheduling

Dependency analysisDependency analysis

Page 10: Game System Analysis

10

Dependency analysisDependency analysis

Schedule One:

Schedule Two:

Page 11: Game System Analysis

SchedulingScheduling Job assignmentJob assignment Resource allocationResource allocation Check pointsCheck points MilestonesMilestones Risk management policyRisk management policy

11

System analysis – create the projectSystem analysis – create the project

Page 12: Game System Analysis

SpecificationSpecification ResourcesResources Design in detailsDesign in details Implementation methods (Implementation methods ( 工法工法 )) AlgorithmsAlgorithms The projectThe project Show each milestoneShow each milestone SOP (standard operation procedure SOP (standard operation procedure 標準作業標準作業

程序程序 ))

12

Write the technical design documentWrite the technical design document

Page 13: Game System Analysis

Mind mapping Mind mapping 心智圖法心智圖法 A radiant thinking toolA radiant thinking tool ApplicationsApplications

– What one has learned from studyWhat one has learned from study– ProposalProposal– Notes Notes – Traveling journal Traveling journal 遊記遊記– System analysisSystem analysis

ReferenceReference– ProgramProgram

» VisioVisio» MindManager, MindManager, » MindMapper: http://www.mindmapper.com/?gclid=CI7837Ot15ECFRs3egod7ixdagMindMapper: http://www.mindmapper.com/?gclid=CI7837Ot15ECFRs3egod7ixdag

– Tony Buzan, Barry Buzan, “Tony Buzan, Barry Buzan, “The Mind Map Book: How to Use The Mind Map Book: How to Use Radiant Thinking to Maximize Your Brain's Untapped Radiant Thinking to Maximize Your Brain's Untapped PotentialPotential” ”

13

Mind mapMind map

Page 14: Game System Analysis

14

Page 15: Game System Analysis

15MindMapper 2008

Page 16: Game System Analysis

Use MindManager Pro 7Use MindManager Pro 7

Developed by MindJetDeveloped by MindJet

http://www.softpedia.com/get/Others/Finances-Business/Mindjet-MindManager-Pro.shtmlhttp://www.softpedia.com/get/Others/Finances-Business/Mindjet-MindManager-Pro.shtml

16

Mind map demo using MindManagerMind map demo using MindManager

Page 17: Game System Analysis

17

Term ProjectTerm ProjectSystem AnalysisSystem Analysis

Page 18: Game System Analysis

Real-time shooting gameReal-time shooting game Mission-based levelsMission-based levels Keyboard- and mouse-driven controls Keyboard- and mouse-driven controls Player vs computerPlayer vs computer State-based AIState-based AI Group movementGroup movement

Game design (1/3)Game design (1/3)

Page 19: Game System Analysis

Space ship – controlled by playerSpace ship – controlled by player» MoveMove» AttackAttack

NPC – controlled by computerNPC – controlled by computer– ““Robots” - EnemyRobots” - Enemy

» Triggered by time tableTriggered by time table

– AIAI» MoveMove» StandbyStandby» Anti-attackAnti-attack» AttackAttack

19

Game design (2/3)Game design (2/3)

Page 20: Game System Analysis

Game AIGame AI– Finite state machineFinite state machine– Path findingPath finding

» 3D3D» A*A*

– Steering behaviorSteering behavior» Flocks / Schools / HerdsFlocks / Schools / Herds» http://www.red3d.com/cwr/boids/http://www.red3d.com/cwr/boids/

– AI Game Programming WisdomAI Game Programming Wisdom, Charles River Media, Charles River Media (1 & (1 & 2)2)

20

Game design (3/3)Game design (3/3)

Page 21: Game System Analysis

Basic commentsBasic comments/*!/*!

\brief A game listener\brief A game listener

A detailed description: A game listener handles game events, A detailed description: A game listener handles game events, game state and game geometry.game state and game geometry.

*/*/

class GameListener {class GameListener {

private:private:

int n; int n; //!< The number of elements.//!< The number of elements.

//!<//!<

……

……

};};21

Doxygen – A documentation generatorDoxygen – A documentation generator

Page 22: Game System Analysis

Basic commentsBasic comments

/*!/*!\brief Add two numbers\brief Add two numbers

Compute the sum of two integers.Compute the sum of two integers.

\param a The first integer.\param a The first integer.

\param b The second integer.\param b The second integer.

\return The sum of two integers.\return The sum of two integers.

*/*/

int addTwoNumbers(int a, int b);int addTwoNumbers(int a, int b);22

Doxygen – A documentation generatorDoxygen – A documentation generator

Page 23: Game System Analysis

23

Introduction to OGRE 3DIntroduction to OGRE 3D

Page 24: Game System Analysis

24

Prerequisites:

On Windows, Microsoft Visual C++ .NET 2003

Familiar with ISO Standard C++, STL Familiar with ISO Standard C++, STL

Latest drivers for graphics hardwareLatest drivers for graphics hardware

Page 25: Game System Analysis

25

OGRE3D - An open source software project- Lesser GNU Public License

-Mature Mature -StableStable-ReliableReliable-Flexible, plug-in librariesFlexible, plug-in libraries-Cross-platformCross-platform-Full-featured libraryFull-featured library

For real-time 3D graphics applications For real-time 3D graphics applications in an object-oriented mannerin an object-oriented manner

Page 26: Game System Analysis

26

Dependencies

On Windows:On Windows:

- FreeType- FreeType- devIL- devIL- zziplib- zziplib- zlib- zlib- Cg Toolkit- Cg Toolkit

Page 27: Game System Analysis

27

Where does OGRE 3D fit?Rendering Video View

A typical high-level game / simulation architecture

Page 28: Game System Analysis

2828

Features:

- Support both OpenGL and Direct3D

- Cross-platforms, e.g. Windows, Linux, Mac OS

- Extensible object framework

- Support fixed-function texture, blending techniques, programmable GPU techniques, shading languages, e.g. Cg, HLSL

- Queue-based rendering management

- LoD

Page 29: Game System Analysis

292929

Features:

- Advanced maskable scene-querying system

- Advanced plug in-based particle system

- Support for skyboxes, skyplanes and skydomes

- Robust material system

- Support animation: skeletal, morph, pose

- Compositor postprocessing

- Extensible resource management

Page 30: Game System Analysis

303030

Scene Graph

- The data structure of the scene objects- Design ?

- Something to render - meshes- sub-meshes- materials- positions of the objects

Page 31: Game System Analysis

31313131

Scene GraphThe data structure of the scene objects- Design ?

- Something to render - meshes- sub-meshes- materials- positions of the objects-

Scene Graph

Mesh Sub-mesh

Material

RenderableScene Node

[ 1 .. n ] [ 1 .. 1 ] [ 1 .. n ]

[ 1 .. n ]

[ 1 .. n ]

Movable or not?

Page 32: Game System Analysis

32

Attached ?

Implements ?

Page 33: Game System Analysis

33

Render queue architecture- Each queue has an order- Render based on order- Each item in a queue has an order too!

Page 34: Game System Analysis

3434

OGRE3D: Subsystem overview(1) Root

- fire up and shut down- can access every subsystems

(2) Resource management- Mesh, .mesh- Skeleton, .skeleton- Material, .material- GPU program, .program, .asm- Texture- Compositor, .compositor- Font, .fontdef

Page 35: Game System Analysis

35

OGRE3D: Subsystem overview(3) Scene management

- SceneManager

- SceneNode

(4) Render system and render target- RenderSystem, generalization of the interface between OGRE and hardware API

- RenderTarget

Page 36: Game System Analysis

3636

OGRE3D: Managers- Manages access to or control lifetimes of other related types of objects-Singleton objects.

-(1) LogManager

-(2) ControllerManager

-(3) DynLibManager

-(4) PlatformManager

Page 37: Game System Analysis

373737

OGRE3D: Managers-(5) CompositorManager

-(6) ParticleSystemManager

-(7) MaterialManager

-(8) SkeletonManager

Page 38: Game System Analysis

38383838

OGRE3D: Managers

-(9) MeshManager

-(10) OverlayManager

-(11) ResourceGroupManager

-(12) TextureManager