+ All Categories
Home > Technology > What Is A Game Engine

What Is A Game Engine

Date post: 17-Jan-2017
Category:
Upload: seth-sivak
View: 9,988 times
Download: 7 times
Share this document with a friend
18
What is a game engine? Game engine basics every developer should know Seth Sivak
Transcript

What is a game engine?

Game engine basics every developer should know 

Seth Sivak

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

Custom Tools

• Quest Editor• Dialogue System• Multiplayer Support• Chat Systems• Ranking Systems

Questions?


Recommended