Presentation is loading. Please wait.

Presentation is loading. Please wait.

Labyrinth Zhou Zhen Barry Allison Stephen Kao Rex Ma.

Similar presentations


Presentation on theme: "Labyrinth Zhou Zhen Barry Allison Stephen Kao Rex Ma."— Presentation transcript:

1 Labyrinth Zhou Zhen Barry Allison Stephen Kao Rex Ma

2 Software Environment OpenGL (Graphics) OpenGL (Graphics) OpenAL (Sound) OpenAL (Sound) C++ C++ Windows Environment – desirable portable code Windows Environment – desirable portable code Source Control (e.g Visual SourceSafe) Source Control (e.g Visual SourceSafe) Games Engine at least should be portable with wrapper for Environment specific code Games Engine at least should be portable with wrapper for Environment specific code Coded with Multi Processor / Dual Core PC ’ s in mind Coded with Multi Processor / Dual Core PC ’ s in mind Client Server (MMOG) Client Server (MMOG) Efficiency - Trade-offs if 60fps is goal, Full Screen more efficient, Compromises to Software Engineering 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. Staged realeases – e.g. box without textures, no holes, no friction etc.

3 Architecture

4 Engine Components Renderer – First thing we need to see anything Renderer – First thing we need to see anything Texture Maps (MIP mapping), bump mapping (for ball) Texture Maps (MIP mapping), bump mapping (for ball) Model of World (Objects) – polygons (triangles), patches/surfaces, LOD Model of World (Objects) – polygons (triangles), patches/surfaces, LOD Physics Physics Collision Detection Collision Detection Sound Sound Spatial Partitioning / Culling, Use view frustrum (volume) with Octrees, Binary Space Partitioning (BSP), Portals. Spatial Partitioning / Culling, Use view frustrum (volume) with Octrees, Binary Space Partitioning (BSP), Portals. AI – Covered in other projects AI – Covered in other projects Animation/Simulation - Mesh, Skeletal (hierarchical), Inverse Kinematics Animation/Simulation - Mesh, Skeletal (hierarchical), Inverse Kinematics Network/Internet (MMOG) Network/Internet (MMOG)

5 Sound OpenAL or Commercial (Licensed) OpenAL or Commercial (Licensed) Stereo, Surround Sound – positional (but not above/below) Stereo, Surround Sound – positional (but not above/below) Mood Music – can depend on what is happening (e.g. search, fight) Mood Music – can depend on what is happening (e.g. search, fight) Filters due to environment (e.g. under water) Filters due to environment (e.g. under water) Use samples or procedurally generated sounds Use samples or procedurally generated sounds Complications - Mixing sounds, volume of each and synchronizing with events (e.g. collisions). Complications - Mixing sounds, volume of each and synchronizing with events (e.g. collisions). Occlusion (blocking – muffled & muted), obstructed (hear reflections) Occlusion (blocking – muffled & muted), obstructed (hear reflections) WAV, MP3, WMA, MIDI Samples – Maximum Memory vs. Channels WAV, MP3, WMA, MIDI Samples – Maximum Memory vs. Channels Labyrinth – Mono (stereo if time allows), Rolling based on speed, Collision with walls Labyrinth – Mono (stereo if time allows), Rolling based on speed, Collision with walls

6 References (Game Engine) “ Game Development – Harder Than You Think ” (2004) ACM Digital Library (See last years notes) “ Game Development – Harder Than You Think ” (2004) ACM Digital Library (See last years notes) “ Designing a PC Game Engine ” (1998) IEEE Digital Library “ Designing a PC Game Engine ” (1998) IEEE Digital Library Last Years 777 Notes Last Years 777 Notes COMPSCI 715 Resources COMPSCI 715 Resources Game Engine Anatomy 101 www.extremetech.com/article2/0,3973,594,00.asp Game Engine Anatomy 101 www.extremetech.com/article2/0,3973,594,00.asp www.extremetech.com/article2/0,3973,594,00.asp

7 Modeling Three Stage of Development Three Stage of Development Stage One: Simple Model Stage One: Simple Model Single colour model Single colour model No hole in the labyrinth. No hole in the labyrinth. Stage Two: Texture Stage Two: Texture Put the basic texture into the labyrinth and ball. Put the basic texture into the labyrinth and ball. To have proper reflection on ball. To have proper reflection on ball.

8 Modeling Stage Three: The complete labyrinth Stage Three: The complete labyrinth Build the complete labyrinth. Build the complete labyrinth. With friction With friction Enhancement (If we have time) Enhancement (If we have time) Different environment (i.e. on the moon or Mars Different environment (i.e. on the moon or Mars

9 Texture mapping Aims Make it as realistic as possible Make it as realistic as possible Provide more details on the surface Provide more details on the surface

10 Texture mapping cont.. Ideal Provide multiple choice for user Provide multiple choice for user (ie Labyrinth can have multiple skins, user even can design their own skin) (ie Labyrinth can have multiple skins, user even can design their own skin)

11 Texture mapping cont.. Ideal First step First step Only use Phong shading algorithm for the ball Only use Phong shading algorithm for the ball Second step Second step Texture map a certain pattern on the ball, from that we can see how the ball actually rolling. Texture map a certain pattern on the ball, from that we can see how the ball actually rolling. Third step Third step Produce reflect image on the ball at real time Produce reflect image on the ball at real time

12 Texture mapping cont.. Technologies Bitmap Bitmap A traditional texture mapping method A traditional texture mapping method Bump mapping Bump mapping Creates apparent alteration to the geometry of the object surface Creates apparent alteration to the geometry of the object surface

13 Texture mapping cont.. Technologies Procedural textures Can get arbitrarily high resolution 3D textures for natural materials like wood and marble. Can get arbitrarily high resolution 3D textures for natural materials like wood and marble.

14 Interface Simple DirectMedia Layer (SDL) Simple DirectMedia Layer (SDL) A cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL. 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: For Labyrinth user input: Keyboard Keyboard Mouse Mouse Command base user interface Command base user interface Windows menu user interface Windows menu user interface

15 References (texture mapping) "Texture Mapping" Techniques (2004) "Texture Mapping" Techniques (2004) http://undergraduate.csse.uwa.edu.au/units/233.413/Handouts/Lecture s22and23.html http://undergraduate.csse.uwa.edu.au/units/233.413/Handouts/Lecture s22and23.html Burkhard's Lectures Texture Mapping (2005) Burkhard's Lectures Texture Mapping (2005) http://www.cs.auckland.ac.nz/compsci372s1c/burkhardLectures/372Ha ndout6_1up.pdf 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 Nvidia (1999) Demos: Bubble http://www.nvidia.co.uk/object/IO_20011113_6700.html http://www.nvidia.co.uk/object/IO_20011113_6700.html Solid Texturing of Complex Surfaces D. R. Peachey (SIGGRAPH 1985) Solid Texturing of Complex Surfaces D. R. Peachey (SIGGRAPH 1985) Reading material Lewis Procedural texture mapping on FPGAs Andy G. Ye & David M. Lewis Procedural texture mapping on FPGAs http://www.hwswworld.com/downloads/y13/05_2.PDF

16 Physically based modelling Physically based modelling is important in game development nowadays. 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. Laws of physics evaluated by the most modern 3D games for both motion and graphics calculation. E.g. Collisions detection, Movement, Weather. E.g. Collisions detection, Movement, Weather. Physically based modelling engine has been used by many of simulator program too. Physically based modelling engine has been used by many of simulator program too.

17 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. 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. Now, many games use 3D engine and physics engine to model. “ Realistic ” is the main factor for the game.

18 Games in 1980s Vs Now (Cont ’ d)

19 Physics Chips Because physics factor become more important in games today. Some computer add-on card for physics calculation have been developing too. Because physics factor become more important in games today. Some computer add-on card for physics calculation have been developing too.

20 Particle systems We will use Particle Systems to evalute our physical model. We will use Particle Systems to evalute our physical model. It need many of particle to support our the calculation. It need many of particle to support our the calculation. But it have many of advantages: But it have many of advantages: Reduces need for human animators Reduces need for human animators Reusable and react whatever user input Reusable and react whatever user input

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

22 Labyrinth ball model There are 3 stage of the ball: There are 3 stage of the ball: Rolling Rolling We need to find out the location, velocity, acceleration. We need to find out the location, velocity, acceleration. Stable Stable When and why it is not rolloing. When and why it is not rolloing. Crushing Crushing Collisions detection Collisions detection

23 Challenge (Realistic Vs Performance) In real world: In real world: The movement of the ball is curve. The movement of the ball is curve. Friction on the wood plate. Friction on the wood plate. Collisions when ball crush the wall. Collisions when ball crush the wall. Wood is not “ perfectly ” hard. Wood is not “ perfectly ” hard. In Computer: In Computer: The movement is not curve but close to curve if large number of time calculation in a second. The movement is not curve but close to curve if large number of time calculation in a second. Friction and Collision detection model development. Friction and Collision detection model development.

24 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? 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? When the ball is fly over the hole but not drop?

25 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 http://www.cg.tuwien.ac.at/courses/Animation/I_Phy sically_Based.pdf http://www.cg.tuwien.ac.at/courses/Animation/I_Phy sically_Based.pdf http://www.cg.tuwien.ac.at/courses/Animation/I_Phy sically_Based.pdf

26 References (Physical Model) Microsoft Flight Simulator Century of Flight Microsoft Flight Simulator Century of Flight http://www.microsoft.com/games/flightsimula tor/ http://www.microsoft.com/games/flightsimula tor/ http://www.microsoft.com/games/flightsimula tor/ http://www.microsoft.com/games/flightsimula tor/ EA - Battlefield 2 EA - Battlefield 2 http://www.eagames.com/official/battlefield/b attlefield2/us/features.jsp http://www.eagames.com/official/battlefield/b attlefield2/us/features.jsp 80 ’ s games in 80s Music Lyrics 80 ’ s games in 80s Music Lyrics http://www.80smusiclyrics.com http://www.80smusiclyrics.com http://www.80smusiclyrics.com

27 References (Physical Model) PC Hardware: Ageia PhysX Interview PC Hardware: Ageia PhysX Interview http://www.gdhardware.com/interviews/agiea /001.htm http://www.gdhardware.com/interviews/agiea /001.htm


Download ppt "Labyrinth Zhou Zhen Barry Allison Stephen Kao Rex Ma."

Similar presentations


Ads by Google