Download Labyrinth - University of Auckland

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts

2.5D wikipedia, lookup

InfiniteReality wikipedia, lookup

Transcript
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