Labyrinth topic presentation
Download
Report
Transcript Labyrinth topic presentation
Labyrinth
Zhou Zhen
Barry Allison
Stephen Kao
Rex Ma
Software Environment
OpenGL (Graphics)
OpenAL (Sound)
C++
Windows Environment – desirable portable code
Source Control (e.g Visual SourceSafe)
Games Engine at least should be portable with wrapper
for Environment specific code
Coded with Multi Processor / Dual Core PC’s in mind
Client Server (MMOG)
Efficiency - Trade-offs if 60fps is goal, Full Screen more
efficient, Compromises to Software Engineering
Staged realeases – e.g. box without textures, no holes,
no friction etc.
Architecture
Engine Components
Renderer – First thing we need to see anything
Texture Maps (MIP mapping), bump mapping (for ball)
Model of World (Objects) – polygons (triangles),
patches/surfaces, LOD
Physics
Collision Detection
Sound
Spatial Partitioning / Culling, Use view frustrum (volume)
with Octrees, Binary Space Partitioning (BSP), Portals.
AI – Covered in other projects
Animation/Simulation - Mesh, Skeletal (hierarchical),
Inverse Kinematics
Network/Internet (MMOG)
Sound
OpenAL or Commercial (Licensed)
Stereo, Surround Sound – positional (but not
above/below)
Mood Music – can depend on what is happening (e.g.
search, fight)
Filters due to environment (e.g. under water)
Use samples or procedurally generated sounds
Complications - Mixing sounds, volume of each and
synchronizing with events (e.g. collisions).
Occlusion (blocking – muffled & muted), obstructed
(hear reflections)
WAV, MP3, WMA, MIDI Samples – Maximum Memory vs.
Channels
Labyrinth – Mono (stereo if time allows), Rolling based
on speed, Collision with walls
References (Game Engine)
“Game Development – Harder Than You Think” (2004)
ACM Digital Library (See last years notes)
“Designing a PC Game Engine” (1998)
IEEE Digital Library
Last Years 777 Notes
COMPSCI 715 Resources
Game Engine Anatomy 101
www.extremetech.com/article2/0,3973,594,00.asp
Modeling
Three Stage of Development
Stage One: Simple Model
Single colour model
No hole in the labyrinth.
Stage Two: Texture
Put the basic texture into the labyrinth and
ball.
To have proper reflection on ball.
Modeling
Stage Three: The complete labyrinth
Build the complete labyrinth.
With friction
Enhancement (If we have time)
Different environment (i.e. on the moon or
Mars
Texture mapping
Aims
Make it as realistic as possible
Provide more details on the surface
Texture mapping cont..
Ideal
Provide multiple
choice for user
(ie Labyrinth can have
multiple skins, user
even can design their
own skin)
Texture mapping cont..
Ideal
First step
Only use Phong shading
algorithm for the ball
Second step
Texture map a certain pattern
on the ball, from that we can
see how the ball actually
rolling.
Third step
Produce reflect image on the
ball at real time
Texture mapping cont..
Technologies
Bitmap
A traditional texture mapping
method
Bump mapping
Creates apparent alteration to
the geometry of the object
surface
Texture mapping cont..
Technologies
Procedural textures
Can get arbitrarily high
resolution 3D textures
for natural materials like
wood and marble.
Interface
Simple DirectMedia Layer (SDL)
A cross-platform multimedia library designed to provide
low level access to audio, keyboard, mouse, joystick, 3D
hardware via OpenGL.
http://www.libsdl.org/index.php
For Labyrinth user input:
Keyboard
Mouse
Command base user interface
Windows menu user interface
References (texture mapping)
"Texture Mapping" Techniques (2004)
http://undergraduate.csse.uwa.edu.au/units/233.413/Handouts/Lecture
s22and23.html
Burkhard's Lectures Texture Mapping (2005)
http://www.cs.auckland.ac.nz/compsci372s1c/burkhardLectures/372Ha
ndout6_1up.pdf
Nvidia (1999) Demos: Bubble
http://www.nvidia.co.uk/object/IO_20011113_6700.html
Solid Texturing of Complex Surfaces D. R. Peachey
(SIGGRAPH 1985)
Reading material
Andy G. Ye & David M. Lewis Procedural texture mapping on FPGAs
http://www.hwswworld.com/downloads/y13/05_2.PDF
Physically based modelling
Physically based modelling is important in
game development nowadays.
Laws of physics evaluated by the most
modern 3D games for both motion and
graphics calculation.
E.g. Collisions detection, Movement,
Weather.
Physically based modelling engine has
been used by many of simulator program
too.
Games in 1980s Vs Now
In 80s, games is 2D
and simple. Colourful,
interesting game style
and system
requirement are the
number of main
factor to develop
game.
Now, many games
use 3D engine and
physics engine to
model. “Realistic” is
the main factor for
the game.
Games in 1980s Vs Now
(Cont’d)
Physics Chips
Because physics
factor become more
important in games
today. Some
computer add-on card
for physics calculation
have been developing
too.
Particle systems
We will use Particle Systems to evalute our
physical model.
It need many of particle to support our
the calculation.
But it have many of advantages:
Reduces need for human animators
Reusable and react whatever user input
Physics model evaluation
We will use some
formula in Newton’s
laws and Circular
motion to evaluate
our physical model.
Labyrinth ball model
There are 3 stage of
the ball:
Rolling
Stable
We need to find out the
location, velocity,
acceleration.
When and why it is not
rolloing.
Crushing
Collisions detection
Challenge
(Realistic Vs Performance)
In real world:
The movement of the
ball is curve.
Friction on the wood
plate.
Collisions when ball
crush the wall.
Wood is not “perfectly”
hard.
In Computer:
The movement is not
curve but close to
curve if large number
of time calculation in a
second.
Friction and Collision
detection model
development.
Another challenge in
development
How many percentages of the ball, or
which part of the ball on the hole to
represent the ball is drop in the hole or
just roll around it?
When the ball is fly over the hole but not
drop?
References (Physical Model)
“Approximate and Probabilistic Algorithmn for
Shading and Rendering Structured Particle
Systems” in SIGGRAPH 1985 porject
Notes of Physically-Based Modelling for Compsci
777 2004 in University of Auckland
http://www.cs.auckland.ac.nz/compsci777s2c/archive
/lectures/Burkhard/777Handout6.pdf
Introduction to physically-based animation
http://www.cg.tuwien.ac.at/courses/Animation/I_Phy
sically_Based.pdf
References (Physical Model)
Microsoft Flight Simulator Century of Flight
EA - Battlefield 2
http://www.microsoft.com/games/flightsimula
tor/
http://www.eagames.com/official/battlefield/b
attlefield2/us/features.jsp
80’s games in 80s Music Lyrics
http://www.80smusiclyrics.com
References (Physical Model)
PC Hardware: Ageia PhysX Interview
http://www.gdhardware.com/interviews/agiea
/001.htm