Game System Analysis
-
Upload
kibo-hicks -
Category
Documents
-
view
55 -
download
0
description
Transcript of Game System Analysis
![Page 1: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/1.jpg)
1
Game System AnalysisGame System Analysis
![Page 2: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/2.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/3.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/4.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/5.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/6.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/7.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/8.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/9.jpg)
Sort the JobsSort the Jobs– By dependencyBy dependency– By programmersBy programmers
Prototype for schedulingPrototype for scheduling
Dependency analysisDependency analysis
![Page 10: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/10.jpg)
10
Dependency analysisDependency analysis
Schedule One:
Schedule Two:
![Page 11: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/11.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/13.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/14.jpg)
14
![Page 15: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/15.jpg)
15MindMapper 2008
![Page 16: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/17.jpg)
17
Term ProjectTerm ProjectSystem AnalysisSystem Analysis
![Page 18: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/18.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/19.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/20.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/21.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/23.jpg)
23
Introduction to OGRE 3DIntroduction to OGRE 3D
![Page 24: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/24.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/26.jpg)
26
Dependencies
On Windows:On Windows:
- FreeType- FreeType- devIL- devIL- zziplib- zziplib- zlib- zlib- Cg Toolkit- Cg Toolkit
![Page 27: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/27.jpg)
27
Where does OGRE 3D fit?Rendering Video View
A typical high-level game / simulation architecture
![Page 28: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/28.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/29.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/30.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/31.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/32.jpg)
32
Attached ?
Implements ?
![Page 33: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/33.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/34.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/36.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/37.jpg)
373737
OGRE3D: Managers-(5) CompositorManager
-(6) ParticleSystemManager
-(7) MaterialManager
-(8) SkeletonManager
![Page 38: Game System Analysis](https://reader036.fdocuments.us/reader036/viewer/2022062517/56813797550346895d9f3b9e/html5/thumbnails/38.jpg)
38383838
OGRE3D: Managers
-(9) MeshManager
-(10) OverlayManager
-(11) ResourceGroupManager
-(12) TextureManager