Advanced Game Technology CMPCD3026 CMPSEM044 - PowerPoint PPT Presentation

1 / 49
About This Presentation
Title:

Advanced Game Technology CMPCD3026 CMPSEM044

Description:

5. Course Details (Attempt) 3D Game Engines Components. DirectX D3D, 3D Modelling and Rendering ... Resident Evil. 40. Examples in Games. Quake III ... – PowerPoint PPT presentation

Number of Views:159
Avg rating:3.0/5.0
Slides: 50
Provided by: abdennour8
Category:

less

Transcript and Presenter's Notes

Title: Advanced Game Technology CMPCD3026 CMPSEM044


1
Advanced Game TechnologyCMPCD3026-CMPSEM044
Dr. Abdennour El Rhalibi Room 723 a.elrhalibi_at_ljmu
.ac.uk
2
Introduction
  • The computer game world is now officially 3D.
  • In this Module, we will learn how to develop
    three-dimensional games and how to write part of
    3D game engine.

7th Guest
Capture the Flag
Black and White
Half-life
3
General Outline
  • Advanced Games Technology
  • Game Engine Components
  • 3D Game Programming with DirectX
  • Advanced 3D Graphics and Shading languages
  • 3D NPC Behavior AI and Physics
  • Game Networking Issues
  • Introduction to Console Programming

4
Aims
  • To introduce advanced techniques applicable to
    game programming.
  • Identify, formulate and apply solutions to a
    diverse range of advanced computer game problems.
  • Select and supply concrete data types in the
    representation, storage, communication and
    manipulation of game world data
  • Design and develop two-dimensional and three
    dimensional animations
  • Deploy simulation methods to model behavior in
    computer games
  • Appraise different artificial intelligence
    techniques and their relevance for a particular
    game solution
  • Learn about Game Networking and their problems

5
Course Details (Attempt)
  • 3D Game Engines Components
  • DirectX D3D, 3D Modelling and Rendering
  • Camera Setting and Animation
  • Meshes, Level Loading and Editing, LOD
  • Terrain Rendering
  • Spatial Data structure BSP and PVS
  • 3D Collision Detection
  • NPC Behaviour and 3D PathFinding A, Flocking,
    Scripting
  • Shading languages
  • Game networking Issues Architecture, Protocol,
    Event Synchronisation
  • Introduction to Console Programming

6
Main References
  • Introduction to 3D Games Programming with
    DirectX 9.0 - Frank D. Luna
  • 3D games Animation and advanced real-time
    rendering - Alan Watt and Fabio Policarpo
  • Beginning 3D Game Programming - Tom Miller
  • Programming Role Playing Games with DirectX - 2nd
    Edition - Jim Adams
  • http//arstechnica.com/reviews/1q00/playstation2/e
    e-1.html
  • http//playstation2-linux.com/projects/3dprotut
  • The Internet

7
Course Assessment CMPCD3026
  • 1) Coursework 60 Development of a 3D
    Application in DirectX with C/C/C/XNA
  • 2) Exam 40 Examination
  • 1) Coursework 40 Research Paper State of the
    Art on an Advanced Game Technology Subject (30)
    Presentation (10)
  • 2) Coursework 60 Development of a 3D
    Application in DirectX with C/C/C/XNA

Course Assessment CMPSEM044
8
3D - Video Games Technologies Lecture 1
Abdennour El Rhalibi
9
Overview
  • Game Middleware?
  • Middleware Taxonomy
  • Game Engine Components

10
What Middleware?
  • Middleware are software that supports application
    (game) development
  • Middleware provide the common functionalities of
    specific domain of applications (game)

Application
Application
Middleware
Operating System
Operating System
Hardware
Hardware
11
Why Middleware?
  • Prevent re-inventing the wheel
  • Game system becomes more and more complicated
  • real-time, interactive, networked, persistent,
    massive users, virtual reality system
  • Game development requires a vast domains of
    expertise nowadays
  • To use technologies with success stories

12
Why Middleware? (cont.)
  • Developing a game from ground up is
  • Expensive
  • Need to hire many domain experts
  • Train developers with latest technologies
  • Slow
  • Market changes rapidly
  • Publishers want shorter development time
  • Risky
  • Development of high-end technologies is very risky

13
Why Middleware? (cont.)
  • However, there are a few disadvantages
  • Licensing may be a big investment
  • Middleware may not be fully suitable to the
    project, customization may be needed
  • Difficult to integrate with existing assets
  • Developing in-house technologies makes
  • The game having unique features
  • Possible to re-use in future
  • Possible to sell to third parties (as middleware)

14
Middleware Taxonomy
  • Graphics Rendering
  • Audio Rendering
  • Physics Simulation
  • Artificial Intelligence
  • Multiplayer
  • Mathematics
  • Special (e.g. Plant, Planet synthesis)
  • All-in-one (3D Game Engine)

15
Middleware Taxonomy
  • Middleware products normally include
  • Application Programming Interface (API), normally
    in C/C
  • Runtime Components (e.g. DLLs)
  • Tools
  • Documentation
  • Examples
  • Some products are cross-platform

16
Graphics Rendering
  • Visual quality and fluency is very important to
    games
  • Most games nowadays requires 3D real-time
    computer graphics
  • Famous products
  • Criterions RenderWare Graphics

17
Graphics Rendering
  • Features
  • Lighting/Material, Shadowing
  • Scene Management (indoor/outdoor)
  • Camera Control
  • Animation (objects, character, facial)
  • Special Effects (particles, lens flare, etc)
  • Workflow Tools (e.g. exporting 3D models from 3D
    Studio Max, Maya)

18
Physics Simulation
  • Traditional games have little use of physics
    simulation
  • Collision Detection (preventing penetration among
    objects and environment)
  • Physics become more important in game development
    recently
  • Physics simulation add realism to games
  • Famous Products
  • Havok
  • Novedex
  • Open Dynamics Engine (ODE)

19
Physics Simulation
  • Features
  • Collision Detection
  • Rigid-body Dynamics Simulation
  • Kinematics Simulation
  • Special domains
  • Vehicle simulation
  • Ragdoll simulation

20
Artificial Intelligence
  • Artificial Intelligence (AI) adds behavior to
    Non-Playable Characters (NPCs)
  • Behavior can be low- or high-level
  • Low-level behavior such as finding a path from
    current position to target is vital to games
  • High-level behavior such as decision making adds
    realism to human (or human-like) NPCs
  • Famous Products
  • Renderware AI

21
Artificial Intelligence
  • Features
  • World/Perception Modeling
  • Mobility (Where NPCs can move through)
  • Visibility (What NPCs can see)
  • Audibility (What NPCs can here)
  • Path-Finding
  • Behavior Modeling
  • Finite-State Machine (FSM)
  • Artificial Neural Network (ANN)
  • Rule-based Systems
  • Team Collaboration

22
Multiplayer
  • Multiplayer games continue to grow
  • Lobby Games
  • Massively Multiplayer Online Game (MMOG)
  • Multiplayer games are complicated to design and
    implement (relative to single player games)
  • In research, it is Networked Virtual Environment
    (NVE)
  • NVE can be applied on military simulation
  • Famous Products
  • Net-Z/Eterna
  • Terrazona
  • Butterfly.net (Distributed Architecture)

23
Multiplayer
  • Features
  • Communication
  • TCP/UDP, Encryption, Compression
  • Session Management
  • Object
  • World Management, Transaction, Persistency
  • Remote Method Invocation (RMI)
  • Synchronization Management
  • Optimistic/Pessimistic
  • Dead-Reckoning Models
  • Interest Management (reduce synchronization
    traffic)
  • Lobby and User Management

24
All-in-one (3D Game Engine)
  • 3D Game Engines provide all-in-one solutions to
    game development
  • Normally 3D Game Engines contain integrated
    workflow tools
  • Famous Products
  • Unreal Technology (Unreal Tournament)
  • Source Engine (Half-life 2)
  • Jupiter (No One Lives Forever)
  • Renderware Studio
  • NetImmerse

25
All-in-one (3D Game Engine)
  • Features
  • 3D Graphics/Audio Rendering
  • Input Handling
  • Graphical User Interface (GUI)
  • Physics Simulation
  • Artificial Intelligence
  • Script Engine
  • Integrated Tools
  • Multiplayer (for lobby type only)

26
Game Engine
27
Game Engine Architecture
Game Content
Geometry Management
Animation and Simulation
Sound
Script Interpreter
Network
AI
  • Control the presentation of game content
  • Geometry and Texture
  • Script
  • Sound
  • Simulation (i.e. Physics)
  • AI
  • Network Traffic

Core Library
28
Core Library
  • Math
  • Range-checked Trigonometric functions
  • Linear Algebra
  • Vector, Matrix, Quaternion
  • Curves and Surfaces
  • Linear, Quadratic, and Cubic curves
  • Bezier and Tension-Continuity-Bias (TCB) curves
  • Bezier and Subdivision Surfaces
  • Bounding Volumes
  • Box and Sphere
  • Intersection testing
  • Memory Management
  • Reference counting and/or garbage collection
  • Error Reporting
  • Miscellaneous Types

29
Geometry Management
  • Move as many polygons as possible as quickly as
    possible
  • Apply Texture (usually multiple textures)
  • Lighting
  • Color and Blending
  • Depth sort (ZBuffer, BSP tree)
  • Bind shader programs (DX9)
  • Control each rendering pass
  • Cull out invisible geometry
  • Meshes are exported from the art tool
  • Usually 3D Studio MAX or Maya
  • Some additional processing is done
  • Level-of-detail simplification
  • Polygons organized into engine-friendly
    structures
  • Vertex arrays
  • Triangle strips
  • Scene graph
  • Texture compression

30
Vertex Arrays
  • Vertex Buffers (DX) / Vertex Arrays (OGL)
  • An array of per-vertex information
  • x, y, z position
  • r, g, b color
  • i, j, k normal (for lighting and physics)
  • u, v, w texture (w optional)
  • Multitexturing would append other (u, v, w)
    coordinates
  • Other stuff (tangent, binormal for bump mapping
    other application-specific per-vertex
    information)
  • Each array has a primitive type
  • Points
  • Lines
  • Triangles
  • Triangle Strip or Fan
  • Quadrilaterals
  • Quad strip
  • Polygons

31
3D Games
  • Virtual worlds are composed of objects,
    characters, and environmental effects. Objects
    are unified and tangible things in the virtual
    world. Characters are a special kind of object,
    either driven by a player or by artificial
    intelligence.
  • Polygons are typically represented as a series of
    indices into a list of 3D points. This method
    conserves space and processing time. Motion can
    be stored as a series of models, which are either
    cycled or morphed through, as a series of
    transformations that are applied to parts of a
    model, or as physical formulas, which describe
    how the model would behave in the real world.
    Texture maps, bump maps, and other such details
    applied to 3D surfaces are stored in 2D bitmaps.
    Environmental effects are stored in a way that
    depends on the effect.
  • To display a virtual world, a number of steps are
    involved loading the world, defining a camera
    with a viewing frustum and position, transforming
    points by using matrices so it can be displayed,
    updating the changing aspects of the virtual
    world.

32
Spatial Subdivision (1/2)
  • For action games you need spatial subdivision to
    quickly figure out what objects are interacting
    with each other and what objects are visible to
    the viewer
  • One of the most important aspects of a video game
    engine is how fast it can operate with huge
    numbers of polygons and interacting objects
  • For strategy games the number of objects and the
    camera location may be more restricted
  • Subdivide world into a 2D grid

33
Spatial Subdivision (2/2)
  • Typical techniques
  • Octrees put a cube around the world, then split
    that cube into eight pieces. Recursively split
    sections that have many objects in them
  • BSP Trees pick a plane. Everything on one side
    of the plane goes in the left node, everything on
    the right goes in the right node, keep splitting
    nodes that have many objects (generalization of
    the octree)
  • Portals divide the level into sectors, sectors
    are connected by portals (such as a door)

34
Current Technologies
  • Quake III
  • Standard for most video games right now
  • Uses vertex lighting, light maps, particle
    systems, keyframe animation
  • Halo
  • Pushed the envelope
  • Vertex/pixel shaders for better special effects,
    real time shadows using shadow maps
  • Doom III / IV
  • Current generation
  • Real time stencil shadows, vertex/pixel shaders
    to create per-pixel fully dynamic lighting,
    skeletal animation with kinematics, rigid body
    physics simulation

35
Future Trends
  • Halo 3 and Doom IV set the bar in many different
    areas
  • Physics, and AI engines are reinvented for every
    game, soon more general techniques will become
    available
  • Online play is just starting to reach its full
    potential
  • Cooperating with many human players will become
    more popular
  • Real time shadows favor less lights and more
    dramatic lighting, leads to more darker, creepier
    environments

36
Game Examples
37
Examples in Games
Metroid Prime
  • Heads Up Display (including 3D Map in the upper
    right)
  • Standard first person view (hence the genre of
    first person shooters)

38
Examples in Games
Metroid Prime
  • Metroid Prime transitions to third person view in
    some scenarios (even has strange 2D point of view
    for some puzzle areas)

39
Examples in Games
Resident Evil
  • Cinematic point of view
  • The light maps (such as the light coming from the
    window on the floor) will turn off and on
    depending on lightning

40
Examples in Games
Quake III
  • This shows the extensive use of light maps
    shadows are computed when compiling the levels
    static geometry
  • players that walk over shadows on the floor are
    not shadowed

41
Examples in Games
Halo
  • Billboard used for laser beam
  • Billboard used for gun muzzle flash
  • Particle system used for laser sparks

42
Examples in Games
Halo
  • Sky box in background

43
Examples in Games
Halo
  • Particle System for dirt chunks and smoke
  • Rigid Body Simulation for the spinning jeep
  • Sky Box in background
  • Lens Flare from sun
  • Halos from the lights on the windshield
  • Shadow on ground (using shadow map)

44
Examples in Games
Grand Theft Auto 3
  • Halos around street lights (billboards)

45
Examples in Games
Doom III
  • Specular map gives red flesh that nice glossy look

46
Examples in Games
Doom III
  • Environment map on goggles
  • pretty expensive
  • Fine detail on helmet shows normal maps (normal
    maps serve the same purpose as bump maps)

47
Examples in Games
Doom III
  • The soft shadow grill effect is projectively
    textured onto the room
  • The shadows cast by the monster are different
    (notice how they are sharp Doom III uses
    stencil shadows)

48
Examples in Games
Tron 2.0
  • Halos (glowing around elbow)
  • Possibly using fin idea invented for real-time
    fur effects
  • Possibly a combination of many small light halos

49
Examples in Games
Halo 2
  • Halos (light bleeding around leg and arm)
  • Interaction of the light in the background with
    the foreground cannot be done easily in
    vertex/pixel shader, seems to be some type of
    post-processing effect
Write a Comment
User Comments (0)
About PowerShow.com