Date post: | 17-Jan-2017 |
Category: |
Technology |
Upload: | seth-sivak |
View: | 9,988 times |
Download: | 7 times |
What is a Game Engine?
• Set of tools to assist in making a game • Game agnostic software components
oReusable for many different games • Multi-platform (typically)• Allows for data driven development• Makes development faster!
Terminology/Acronyms
• Integrated Development Environment (IDE)• Application Programming Interface (API)• Software Development Kit (SDK)• Graphics Processing Unit (GPU)• Central Processing Unit (CPU)• Artificial Intelligence (AI)• Middleware• Shader• Source Code• Dev Kit• Mod• Inverse Kinematics (IK)• Motion Capture (MoCap)• Pathfinding• Compiler• Interpreter• Level of Detail (LOD)• Rig
Game Engine Functions
• Renderer (2D or 3D)• Collision Detection• Scripting• Sound/Video• Animation• Shading/Lighting• Networking• Physics• Artificial Intelligence• Level Editor• Custom Tools
Assets
• Used by the Render Engine, Sound/Video Engine, Animation Engine
• Anything that is in the game besides codeo Modelso Textureso Soundso Videoso Animations
Scene Graph
• Tells the Render Engine where to place Assets
• Arranges a sceneo Logicallyo Spatially
• Tree Structureo Hierarchical
• Graph Structureo Non-hierarchical
Render Engine
• Usually built on OpenGL or DirectX
• Generates images in real-time from assets
• Controlled by the Scene Graph
• Interacts directly with the GPU
Collision Detection Engine
• Intersection of two given solidso Sphereso Planeso Tubeso Polygons
• Collision Responseo Event
Scripting Engine• Usually uses an interpreted language (Python, etc.) • Allows custom code• Does not require the source code• Does not change any engine code• Game Specific
Sound/Video Engine
• Usually played based on an event
• Built off of an external library (OpenAL,etc.)
• Video is often only for cut-scenes or as part of in-game objects
• Sound is for music and sound effects
• Handles sound objects that can control surround sound and 3D sound
Animation Engine
• Handles animation of objects on the Scene Graph• Tween animation• Rig/Skeleton Based animation• Tells the Renderer how to display the assets
Shading/Lighting Engine• Calculates special effects
o Shadowso Normal Mapso Particle Effectso More...
• Applied by the Render Engine on objects in the Scene Graph
Networking Engine
• Handles multicomputer communicationo Peer to Peero Client to Servero Distributed
Physics Engine
• Handles behavior of objects based on collisions• Simulates or predicts phyics models
o Rigid Body Dynamicso Soft Body Physicso Fluid Dynamics
Artificial Intelligence Engine
• Controls object interactiono Stimulio Needso Desireso Flocking
• Often uses Finite State Machines
Level Editor
• Allows placement of multiple assets to create environments• Can allow custom scripting for AI• Primarily used for static asset placement