Upload
kibo-hicks
View
66
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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
Citation preview
1
Game System AnalysisGame System Analysis
Idea about system analysis (SA)Idea about system analysis (SA) Mind mappingMind mapping Case study – term projectCase study – term project
2
ContentsContents
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)
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)
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
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
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
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
Sort the JobsSort the Jobs– By dependencyBy dependency– By programmersBy programmers
Prototype for schedulingPrototype for scheduling
Dependency analysisDependency analysis
10
Dependency analysisDependency analysis
Schedule One:
Schedule Two:
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
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
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
14
15MindMapper 2008
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
17
Term ProjectTerm ProjectSystem AnalysisSystem 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)
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)
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)
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
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
23
Introduction to OGRE 3DIntroduction to OGRE 3D
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
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
26
Dependencies
On Windows:On Windows:
- FreeType- FreeType- devIL- devIL- zziplib- zziplib- zlib- zlib- Cg Toolkit- Cg Toolkit
27
Where does OGRE 3D fit?Rendering Video View
A typical high-level game / simulation architecture
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
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
303030
Scene Graph
- The data structure of the scene objects- Design ?
- Something to render - meshes- sub-meshes- materials- positions of the objects
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?
32
Attached ?
Implements ?
33
Render queue architecture- Each queue has an order- Render based on order- Each item in a queue has an order too!
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
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
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
373737
OGRE3D: Managers-(5) CompositorManager
-(6) ParticleSystemManager
-(7) MaterialManager
-(8) SkeletonManager
38383838
OGRE3D: Managers
-(9) MeshManager
-(10) OverlayManager
-(11) ResourceGroupManager
-(12) TextureManager