3D Game Programming - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

3D Game Programming

Description:

3D Game Programming kevin.cwang_at_msa.hinet.net 2005 – PowerPoint PPT presentation

Number of Views:108
Avg rating:3.0/5.0
Slides: 51
Provided by: cggmcsieN4
Category:

less

Transcript and Presenter's Notes

Title: 3D Game Programming


1
3D 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)

7
1st Introduction to Game Development
8
Introduction to Game Development
  • Game platform
  • Game types
  • Game team
  • Game development pipeline
  • Game software system
  • Tools

9
Game 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

10
Game 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

11
Game 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

12
Game 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

13
Game Team Members
  • ????
  • ???
  • ?????
  • ????
  • ????
  • ????
  • ??????
  • ????(PM)
  • ????
  • ???????
  • Game project approval
  • ??????
  • ???? game master (GM)
  • Customer services
  • MIS

14
Game 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

26
Bugs
  • Bug ?? (Bug Classification)
  • A Bug
  • B Bug
  • C Bug
  • S Bug
  • Principles
  • Bug ????
  • Tester vs Debugger

27
Game Software System
Game
Game Play Layer
Engine Layer
System Layer
Hardware
28
System 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

29
System Layer APIs (2/2)
  • OS API
  • Win32 SDK
  • MFC
  • Network
  • DirectX 9.0 SDK DirectPlay
  • Socket library

30
Engine Layer (1/2)
  • 3D scene management system
  • Scene graph
  • Shaders
  • 2D sprite system
  • Audio system
  • Gamepad
  • Hotkeys
  • Mouse
  • Timers
  • Network
  • DDK interface

31
Engine 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

32
Game 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

33
Game 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

34
Game 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

35
Game Development Tools for Artists
  • 3D tools
  • Discrete 3dsMax
  • Maya
  • Softimage XSI
  • 2D tools
  • Photoshop
  • Illustrator
  • Motion tools
  • Motion capture devices
  • Motion Builder
  • FiLMBOX

36
2nd Game System Analysis
37
What Will We Talk Here
  • The idea about system analysis (SA)
  • Mind mapping
  • Case study - Term project

38
Why 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

39
Why 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

40
Something 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

41
Wangs System Analysis Steps
  • Brainstorming
  • Integration
  • Dependency analysis
  • Create the project
  • Technical design document (TDD) writing

42
Brainstorming
  • 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 /

43
Integration
  • Confirm the resource limitation
  • Technical implement possibility
  • Put all related items together
  • Man month analysis
  • How many ?
  • Who ?
  • Jobs / System identification

44
Dependency Analysis
  • Sort the Jobs
  • By job dependency
  • By programmers schedule
  • Prototype for scheduling

45
System Analysis Create the Project
  • Scheduling
  • Job assignment
  • Resource allocation
  • Check points
  • Milestones
  • Major check points
  • Output
  • Risk management
  • Alternatives
  • Risk management policy

46
Write the Technical Design Document
  • Specification
  • Resources
  • Design in details
  • Implement methods (??)
  • Algorithms
  • Project
  • Output in each milestone
  • SOP (optional)
  • TDD Template

47
Mind 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)
50
Mind Map Demo Using MindManager
  • Use MindManager X5 pro
  • Developed by MindJet
Write a Comment
User Comments (0)
About PowerShow.com