Presentation is loading. Please wait.

Presentation is loading. Please wait.

Game Engines Non-game specific technology Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (AI, Scripting, etc.)

Similar presentations


Presentation on theme: "Game Engines Non-game specific technology Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (AI, Scripting, etc.)"— Presentation transcript:

1 Game Engines Non-game specific technology Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (AI, Scripting, etc.)

2 Game Engines: Rendering Pipeline 1. Application/Scene Scene database update/traversal Scene database update/traversal Object/Camera Movement/Animation Object/Camera Movement/Animation Visibility/LOD/Culling Visibility/LOD/Culling 2. Geometry Transforms: Model/World/View Transforms: Model/World/View Viewport & Backface Culling Viewport & Backface Culling 3. Triangles Scan-line conversion Scan-line conversion 4. Rasterization Shading Shading Texturing/Fog/Alpha Texturing/Fog/Alpha Depth Depth

3 Game Engines: Shading Flat Flat Vertex (Gouraud) Vertex (Gouraud) Pixel (Phong) Pixel (Phong) Light Maps Light Maps Programmable (Vertex & Pixel Shaders) Programmable (Vertex & Pixel Shaders)

4 Game Engines: Memory Management Cache Thrashing Cache Thrashing – Group Primitives by Textures? – Hardware T&L – Compression Card Memory Card Memory – Why isn’t 32 bit color (16.7M) enough? – 1280x1024x12 (Front,Back,Z)= 15MB

5 Game Engines 3D Engine 3D Languages Authoring System Specialized Authoring (first or third person shooters)

6 Game Engines 3D Engine – library of 3D graphics functions. – free, $50-$100 up to $250,000 for commercial use. – Require programming with an external delevopment system, normally Microsoft Visual C++. – maximum of flexibility – maximum of experience, work and time required.

7 Game Engines 3D Languages – DirectX/OpenGL interface with a scripting language – especially designed for 3D games – Simpler than 'real' programming. – Many based on Basic easy to learn not very well suited for large or complex games – Alternatives: C- or Javascript-based languages.

8 Game Engines Authoring System – 3D engine and a visual – very fast 'clicking together' a game prototype. – only simple games can be created without any programming. – scripting language for programming or customizing the game.

9 Game Engines Specialized FPS (first or third person shooters) – offer no or limited scripting. – good alternative if you don't want to script and are not interested in publishing a game commercially.

10 Engine Considerations Platforms Performance Data Rendering/Features Animation Physics & Environment Scripting Authoring I/O Save/Load

11 Performance Occlusion Culling – Cell Based: BSP tree, Portal, Octree – Other: Potentially Visible Set, HOM LOD Adaptive NURBS/Patches Polygon Reduction Terrain Primitives

12 Data Import/Export 3D file formats – X, 3DS, MDL, MD2, MAP, WAD Texture/Image Formats Models/Animations: – Maya, 3D Studio MAX Levels – WorldcraftT or MilkshapeT Plugins

13 Rendering Features OpenGL vs. DirectX OpenGL vs. DirectX – DX6-9 – OpenGL1.1-1.5,2.0 Shadow Maps (Lightmaps) Shadow Maps (Lightmaps) Shaders Shaders Dynamic Shadows Dynamic Shadows MIP Maps/Multi Maps/ Bump Mapping MIP Maps/Multi Maps/ Bump Mapping Effects Effects

14 Animation Keyframe Bones (Skinning) Facial Animation Vertex Animation Inverse Kinematics (IK) Dynamics High-level Authoring

15 Physics & Physical Environment Visibility Collision Detection Terrain Following Gravity Physics – Rigid & non-rigid bodies

16 Scripting Scripting languages add logic for controlling actors or objects Languages: Javascript Luo -http://www.lua.org/ Python Basic Custom:UnrealScript, C-Script, etc. Script Compilers for performance

17 Save/Load System allows the end user to save a complete game state. 'freezes' all running scripts and all objects and variables of the game and writes them into a file Without such a system: a script has to be written which stores the state of every variable and object and the position within every script function

18 Authoring/Editing Level Editor Model Editor Script Editor Terrain Logic

19 Sample Engines Specialized Authoring (FPS, 3PS) Specialized Authoring (FPS, 3PS) 3DGM, RF 3DGM, RF Authoring Authoring Quest, Radish, Virtools, Gamestudio/A6, Alice, Adobe Atmosphere, Blender Quest, Radish, Virtools, Gamestudio/A6, Alice, Adobe Atmosphere, Blender 3D Languages 3D Languages Jamagic, DarkBASIC, Blitz Jamagic, DarkBASIC, Blitz 3D Engines 3D Engines TV3D, Irrlicht, Torque, Nebula, Crystal, Cipher, PR, Jupiter, Quake3, Unreal2 TV3D, Irrlicht, Torque, Nebula, Crystal, Cipher, PR, Jupiter, Quake3, Unreal2 Standards-based Engines & Tools (VRML/X3D) Standards-based Engines & Tools (VRML/X3D) Internet Scene Assembler, Cortona, Blaxxun,OpenWorlds, VizX3D Internet Scene Assembler, Cortona, Blaxxun,OpenWorlds, VizX3D

20 Game Engine Resources http://www.devmaster.net/engines http://www.pcplus.co.uk/reviews/ (->Software->Development and ->Software->Graphics) http://directory.google.com/Top/Computers/P rogramming/Games/3D/ http://directory.google.com/Top/Computers/P rogramming/Games/3D/ http://cg.cs.tu-berlin.de/~ki/engines.html http://fraktali.849pm.com/graphengines.html http://www.flipcode.com/links/


Download ppt "Game Engines Non-game specific technology Game: – Engine – Assets (models, animations, sounds, AI, and physics) – Code (AI, Scripting, etc.)"

Similar presentations


Ads by Google