1 / 27

Labyrinth - PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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.


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)


  • 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,3973,594,00.asp


  • 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.


  • 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


  • Make it as realistic as possible

  • Provide more details on the surface

Texture mapping cont..


  • Provide multiple choice for user

    (ie Labyrinth can have multiple skins, user even can design their own skin)

Texture mapping cont..


  • 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..


  • Bitmap

    A traditional texture mapping method

  • Bump mapping

    Creates apparent alteration to the geometry of the object surface

Texture mapping cont..


  • Procedural textures

    Can get arbitrarily high resolution 3D textures for natural materials like wood and marble.


  • Simple DirectMedia Layer (SDL)

    A cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL.

  • For Labyrinth user input:

    • Keyboard

    • Mouse

    • Command base user interface

    • Windows menu user interface

References (texture mapping)

  • "Texture Mapping" Techniques (2004)

  • Burkhard's Lectures Texture Mapping (2005)

  • Nvidia (1999) Demos: Bubble

  • Solid Texturing of Complex Surfaces D. R. Peachey (SIGGRAPH 1985)

    Reading material

    Andy G. Ye & David M. Lewis Procedural texture mapping on FPGAs

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.

In 80s, games is 2D and simple. Colourful, interesting game style and system requirement are the number of main factor to develop game.

Games in 1980s Vs Now

  • 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

We will use some formula in Newton’s laws and Circular motion to evaluate our physical model.

Physics model evaluation

There are 3 stage of the ball:


We need to find out the location, velocity, acceleration.


When and why it is not rolloing.


Collisions detection

Labyrinth ball model

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.

Challenge(Realistic Vs Performance)

  • 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


  • Introduction to physically-based animation


References (Physical Model)

  • Microsoft Flight Simulator Century of Flight


  • EA - Battlefield 2


  • 80’s games in 80s Music Lyrics


References (Physical Model)

  • PC Hardware: Ageia PhysX Interview


  • Login