270 likes | 290 Vues
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
E N D
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.
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 101www.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/Lectures22and23.html • Burkhard's Lectures Texture Mapping (2005) http://www.cs.auckland.ac.nz/compsci372s1c/burkhardLectures/372Handout6_1up.pdf • Nvidia (1999) Demos: Bubblehttp://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.
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.
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: Rolling We need to find out the location, velocity, acceleration. Stable When and why it is not rolloing. Crushing 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 • 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_Physically_Based.pdf
References (Physical Model) • Microsoft Flight Simulator Century of Flight • http://www.microsoft.com/games/flightsimulator/ • EA - Battlefield 2 • http://www.eagames.com/official/battlefield/battlefield2/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