game engines non-game specific technology game: – engine – assets (models, animations, sounds,...

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

Upload: blake-lewis

Post on 22-Dec-2015

227 views

Category:

Documents


5 download

TRANSCRIPT

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

Game EnginesGame Engines

Non-game specific technologyGame:

– Engine– Assets (models, animations, sounds, AI, and

physics)– Code (AI, Scripting, etc.)

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

Game Engines:Game Engines: Rendering PipelineRendering Pipeline

1.1. AApplication/Scenepplication/Scene Scene database update/traversalScene database update/traversal Object/Camera Movement/AnimationObject/Camera Movement/Animation Visibility/LOD/CullingVisibility/LOD/Culling

2.2. GeometryGeometry Transforms: Model/World/ViewTransforms: Model/World/View Viewport & Backface CullingViewport & Backface Culling

3.3. TrianglesTriangles Scan-line conversionScan-line conversion

4.4. RasterizationRasterization ShadingShading Texturing/Fog/AlphaTexturing/Fog/Alpha DepthDepth

                                                 

                                                

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

Game Engines:Game Engines: Shading Shading

FlatFlat Vertex (Gouraud)Vertex (Gouraud) Pixel (Phong)Pixel (Phong)

Light MapsLight Maps Programmable (Vertex & Pixel Shaders)Programmable (Vertex & Pixel Shaders)

                                                 

                                                

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

Game Engines:Game Engines: Memory Management Memory Management

Cache ThrashingCache Thrashing– Group Primitives by Textures?Group Primitives by Textures?– Hardware T&LHardware T&L– CompressionCompression

Card MemoryCard Memory– Why isn’t 32 bit color (16.7M) enough?Why isn’t 32 bit color (16.7M) enough?– 1280x1024x12 (Front,Back,Z)= 15MB1280x1024x12 (Front,Back,Z)= 15MB

                                                 

                                                

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

Game EnginesGame Engines

3D Engine3D LanguagesAuthoring SystemSpecialized Authoring (first or third

person shooters)

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

Game EnginesGame 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.

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

Game EnginesGame 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.

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

Game EnginesGame 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.

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

Game EnginesGame 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.

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

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

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

PerformancePerformanceOcclusion Culling

– Cell Based: BSP tree, Portal, Octree– Other: Potentially Visible Set, HOM

LODAdaptive NURBS/PatchesPolygon ReductionTerrain Primitives

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

Data Import/ExportData 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

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

RenderingRenderingFeaturesFeatures

OpenGL vs. DirectXOpenGL vs. DirectX– DX6-9DX6-9– OpenGL1.1-1.5,2.0OpenGL1.1-1.5,2.0

Shadow Maps (Lightmaps)Shadow Maps (Lightmaps) ShadersShaders Dynamic ShadowsDynamic Shadows MIP Maps/Multi Maps/ Bump MappingMIP Maps/Multi Maps/ Bump Mapping EffectsEffects

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

AnimationAnimation

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

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

Physics & Physical Physics & Physical EnvironmentEnvironment

Visibility Collision Detection Terrain Following Gravity Physics

– Rigid & non-rigid bodies

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

ScriptingScripting

• 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

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

Save/Load SystemSave/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

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

Authoring/EditingAuthoring/Editing

• Level Editor• Model Editor• Script Editor• Terrain• Logic

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

Sample EnginesSample Engines

• Specialized Authoring (FPS, 3PS)Specialized Authoring (FPS, 3PS)• 3DGM, RF3DGM, RF

• AuthoringAuthoring• Quest, Radish, Virtools, Gamestudio/A6, Alice, Adobe Quest, Radish, Virtools, Gamestudio/A6, Alice, Adobe

Atmosphere, BlenderAtmosphere, Blender• 3D Languages3D Languages

• Jamagic, DarkBASIC, BlitzJamagic, DarkBASIC, Blitz• 3D Engines3D Engines

• TV3D, Irrlicht, Torque, Nebula, Crystal, Cipher, PR, Jupiter, TV3D, Irrlicht, Torque, Nebula, Crystal, Cipher, PR, Jupiter, Quake3, Unreal2Quake3, Unreal2

• Standards-based Engines & Tools (VRML/X3D)Standards-based Engines & Tools (VRML/X3D)• Internet Scene Assembler, Cortona, Blaxxun,OpenWorlds, Internet Scene Assembler, Cortona, Blaxxun,OpenWorlds,

VizX3DVizX3D

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

Game Engine ResourcesGame Engine Resources

http://www.devmaster.net/engineshttp://www.pcplus.co.uk/reviews/ (->Software->Development and ->Software->Graphics)

http://directory.google.com/Top/Computers/Programming/Games/3D/

http://cg.cs.tu-berlin.de/~ki/engines.html http://fraktali.849pm.com/graphengines.html http://www.flipcode.com/links/