Title: 3D Game Programming
13D Game Programming
- ???
- kevin.cwang_at_msa.hinet.net
- 2005
2????
- Introduction to Game Development (3hr)
- Game System Analysis (3hr)
- The Game Main Loop (3hr)
- 3D Game Engine Training (Using TheFly3D) (6hr)
- Game Mathematics Geometry (3hr)
- Terrain (3hr)
- Characters (3hr)
- Game Control System (3hr)
- Advanced Scene Management System (3hr)
- Game AI (6hr)
- Game Physics (3hr)
- Game FX (3hr)
- Network Gaming (3hr)
- MMOG (3hr)
- Summary
- Wangs Method for Real-time 3D Game Development
3????
- One term project
- The students are in teams.
- Use TheFly3D 3D engine to code a Real-time 3D
Game. - Action RPG
- The teacher will provide graphics materials and
setup the game design. - Final examination
- Homework will be closely coupled with the term
project.
4??? (1/3)
- ??
- ?????? ???? / ??
- ???? ??
- ???? 3D????
- ??
- ????????????
- ??
- 04-04 ??????????? ????
- 97-04 ?????????? ???
- 96-96 ?????????????? ????
- 93-96 ???????????? ????
- 90-93 ???????? ?????
- 89-90 ?????????? CAE Lab ????
5??? (2/3)
- Game??
- Current
- TheFly3D 3D Engine
- ????
- DragonFly 3D Game Engine
- M2????, VRLobby, ???
- Lizard 3D Game Engine
- ????????? I II????? I II??????????????????????
?????????? - ??????
- Ultimate Fighter
- 1st real-time 3D fighting game in Taiwan
6??? (3/3)
- ?? (Expertise)
- 3D Computer Graphics
- Geometric Modeling
- Numerical Methods
- Character Animation
- Photo-realistic Rendering
- Real-time Shading
- Volume Rendering
- ???? (Applications)
- ??3D???? (Real-time 3D Game Development)
- ???? (Computer Animation)
- ???? (Virtual Reality)
- ?????? (Computer-aided Design, CAD)
- ???? (Scientific Visualization)
71st Introduction to Game Development
8Introduction to Game Development
- Game platform
- Game types
- Game team
- Game development pipeline
- Game software system
- Tools
9Game Platform
- PC
- Single player
- Match Makings
- MMOG (Massive Multi-player Online Game)
- Web-based Games
- Console
- Sony PS2
- MS Xbox
- Nintendo GameCube
- Arcade
- Mobile
- Nintendo GBA
- Nintendo DS
- Sony PSP
- Hand-held
10Game Development on PC
- PC is designed for general office application.
- Not for entertainment purpose
- A virtual memory system
- Unlimited system memory
- But video memory is limited.
- For frame buffers, z buffers, textures, vertices,
- PCI / AGP might be a problem for performance.
- Open architecture
- Hardware driver version issue
- Different capabilities
- Different performance
- Compatibility test is very important.
- Development is easy to setup.
- Visual C/C with DirectX
11Game Development for Consoles
- Specific hardware designed for games
- Single user OS
- Single process OS
- No hard disk drive (?)
- Closed system
- Native coding environment
- Proprietary SDK
- Hardware related features
- C language with assembly
- Limited resources
- Memory for everything
- 32M for PS2
- 64M for Xbox
- One console runs, the others do !
- Use gamepad and no keyboard
12Game Types
- RPG (Role playing games)
- AVG (Adventure games)
- RTS (Real-time strategy games)
- FPS (First-person shooting games)
- RSLG (??)
- STG
- Sports
- Action
- Puzzle games
- Table games
- MMORPG
- Massive Multiple Player Online Role Playing Games
13Game Team Members
- ????
- ???
- ?????
- ????
- ????
- ????
- ??????
- ????(PM)
- ????
- ???????
- Game project approval
- ??????
- ???? game master (GM)
- Customer services
- MIS
14Game Producer ?????
- Team leader (usually)
- ???? (Resource management)
- ???? (Administration)
- ???? (Project management)
- ???? (Upward management)
- ?????
- ????
15???????
- ??????
- Daily ??
- House keeping
- Meeting coordinator
- Schedule checking
- Cross-domain communication
- Usually not a full-time job position
- A position for training and becoming a producer
16???? (1/2)
- ???? (Story telling)
- ???? (Scripting)
- ???? (Game play design)
- ????(Character design)
- ????(Animation design)
- ???? (Level design)
- ????(Effect design)
- ????
- ????(User Interface design)
- ???? (Game tuning)
- ???? (Numerical setup)
- AI ?? (Game AI design)
- ???? (Sound FX setup)
17???? (2/2)
- ???? (Scene setup)
- Game document writing
- Game quality checking
18????
- Visual setup for game design
- 2D setup
- 3D setup
- Graphics design and production
- ?? (Terrain)
- ?? (Character)
- ?? (Models)
- ?? (Textures)
- ?? (Motion / Animation)
- ?? (FX)
- User Interface
- ???? (??.??..?)
19????
- ???? (Game Program) ??
- ?????? (Game Tools) ??
- Level editor
- Scene editor
- FX editor
- Script editor
- Game editor
- ??Data exporters from 3D animation Software
- 3dsMax / Maya / Softimage
- Game engine development
- Game technique research
- Online game server development
20??????
Basic Procedures for Game Development
Idea
Proposal
Production
Integration
Testing
Debug
Tuning
Concept Approval
Prototype
Pre-alpha
Alpha
Beta
Final
- ?? (Idea)
- ?? (Proposal)
- ?? (Production)
- ?? (Integration)
- ?? (Testing)
- ?? (Debug)
- ?? (Tuning)
gt Concept approval
gt ?? (prototype)
gt Pre-alpha
gt Alpha
gt Beta
21????(Concept Design)
- ???? (Game types)
- ????? (Game world)
- ?? (Story)
- ???? (Features)
- ???? (Game play)
- ???? (Game product positioning)
- Target player
- Marketing segmentation / positioning
- ??????
- ???? (Risk)
- SWOT (Strength/Weakness/Opportunity/Threat) ??
- ???
- Concept Design Document (CDD)
22????(Proposal)
- ???? (System analysis)
- GDD ?? (Game design document)
- MDD ?? (Media design document)
- TDD ?? (Technical design document)
- ?????? (Game project)
- Schedule
- Milestones / Check points
- Risk management
- ?????
- ???? (Team building)
- ???
- GDD
- MDD
- TDD
- The Team
23????(Production)
- ??????
- Modeling
- Textures
- Animation
- Motion
- FX
- ???? (Coding)
- ??????
?? !
24????(Integration)
- ???? (Level integration)
- ???? (Number tuning)
- ???? (Audio)
- ??????
- ???????
- Testing within the game team
- Focus group (User study)
- Release some playable levels for focus group.
- Get the feedback from focus group to adjust the
game play. - Invited outside game players but evaluation
in-house
25????(Test)
- Alpha ??
- ?? (Debug)
- Make the game stable
- Beta ??
- ????
- Game play ??
- ??????? (MMOG)
- ???? (Closed beta)
- Invited game players
- ???? (Open beta)
- Free for public players
- ???? (Critical testing)
- Only for MMOG
- Continuously implementing
- For servers
26Bugs
- Bug ?? (Bug Classification)
- A Bug
- B Bug
- C Bug
- S Bug
- Principles
- Bug ????
- Tester vs Debugger
27Game Software System
Game
Game Play Layer
Engine Layer
System Layer
Hardware
28System Layer APIs (1/2)
- 3D Graphics API
- DirectX 9.0 SDK Direct3D
- Newest update DirectX 9.0c SDK Update (June,
2005) - OpenGL
- 2.0
- 2D API
- DirectX 9.0 SDK - DirectMedia
- Win32 GDI
- Input device
- DirectX 9.0 SDK DirectInput
- Audio
- DirectX 9.0 SDK DirectSound / Direct3DSound /
DirectMedia - OpenAL
29System Layer APIs (2/2)
- OS API
- Win32 SDK
- MFC
- Network
- DirectX 9.0 SDK DirectPlay
- Socket library
30Engine Layer (1/2)
- 3D scene management system
- Scene graph
- Shaders
- 2D sprite system
- Audio system
- Gamepad
- Hotkeys
- Mouse
- Timers
- Network
- DDK interface
31Engine Layer (2/2)
- Terrain system
- Advanced scene management system
- Space partition technique
- BSP Tree
- Octree
- Character system
- Bone-skin
- Motion Blending
- Dynamics
- Particle system
- Rigid-body dynamics
- Collision detection
- Sound FX
- User interface
32Game Play Layer
- NPC (Non-playable characters) management
- Game AI
- Path finding
- Finite state machine (FSM)
- Steering behavior
- Avatar
- Combat system
- FX system
- Script system
- Trading system
- Number system
33Game Development Tools for Programming (1/2)
- System Tools
- Visual C/C
- .Net 2003
- VC/C 7.1
- Visual C/C 6.0 SP5
- NuMega BoundsChecker
- Finding memory leaking
- Intel vTune
- Finding computation performance bottlenecks
- for CPU
- PIX
- Finding graphics performance bottlenecks
- For GPU
34Game Development Tools for Programming (2/2)
- SDKs
- System API
- Win32 SDK or MFC
- DirectX SDK or OpenGL
- Socket library
- Middleware (Game engine)
- Renderware
- Unreal
-
- Physics
- ODE
35Game Development Tools for Artists
- 3D tools
- Discrete 3dsMax
- Maya
- Softimage XSI
- 2D tools
- Photoshop
- Illustrator
- Motion tools
- Motion capture devices
- Motion Builder
- FiLMBOX
362nd Game System Analysis
37What Will We Talk Here
- The idea about system analysis (SA)
- Mind mapping
- Case study - Term project
38Why System Analysis (1/2)
- For ???? analysis
- The main program
- Game development tools
- To identify ???
- New game engine ?
- Re-used code ?
- Tools needed to be developed ?
- For ?? management
- Total man month
- How many programmers ?
- How good the programmers ?
- For job dependency analysis
39Why System Analysis (2/2)
- To do ????? Analysis
- RD ?
- Where is the technical bottleneck ?
- Pre-processor for
- Technical design document
- Project management
- Bridge from game design to programming
40Something about System Analysis
- No standard procedures or approaches
- Its not a theory.
- Experience
- You can use your own method/tool
- UML
- Mind mapping (????)
- This is the one we will use in this course
41Wangs System Analysis Steps
- Brainstorming
- Integration
- Dependency analysis
- Create the project
- Technical design document (TDD) writing
42Brainstorming
- Based on the game design to put everything as
many as you could - Use mind mapping
- 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 / audio /
43Integration
- Confirm the resource limitation
- Technical implement possibility
- Put all related items together
- Man month analysis
- How many ?
- Who ?
- Jobs / System identification
44Dependency Analysis
- Sort the Jobs
- By job dependency
- By programmers schedule
- Prototype for scheduling
45System Analysis Create the Project
- Scheduling
- Job assignment
- Resource allocation
- Check points
- Milestones
- Major check points
- Output
- Risk management
- Alternatives
- Risk management policy
46Write the Technical Design Document
- Specification
- Resources
- Design in details
- Implement methods (??)
- Algorithms
- Project
- Output in each milestone
- SOP (optional)
- TDD Template
47Mind Map
- ????
- A radiant thinking tool
- Applications
- ????
- Proposal
- ????
- ??
- System Analysis
-
- Reference
- Programs
- Visio
- MindManager
- Books
- Tony Buzan, Barry Buzan
- The Mind Map Book How to Use Radiant Thinking
to Maximize Your Brain's Untapped Potential
48(No Transcript)
49(No Transcript)
50Mind Map Demo Using MindManager
- Use MindManager X5 pro
- Developed by MindJet