0% found this document useful (0 votes)
18 views24 pages

Game Engine

A game engine is a software framework that facilitates the creation and development of video games across various platforms, providing tools for rendering, collision detection, scripting, and more. It utilizes digital content creation tools for multimedia elements and supports version control, profiling, and memory management for efficient development. Popular game engines include Unreal Engine, Unity, and CryEngine, each offering unique features and capabilities for game developers.

Uploaded by

DIVYAM GUPTA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views24 pages

Game Engine

A game engine is a software framework that facilitates the creation and development of video games across various platforms, providing tools for rendering, collision detection, scripting, and more. It utilizes digital content creation tools for multimedia elements and supports version control, profiling, and memory management for efficient development. Popular game engines include Unreal Engine, Unity, and CryEngine, each offering unique features and capabilities for game developers.

Uploaded by

DIVYAM GUPTA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Game Engine

⦿ A game engine is a software framework


designed for the creation and development of
video
games. Developers use them to create games
for consoles, mobile devices and personal
computers.
⦿ Set of tools to assist in making a game
⦿ Game agnostic software components
⦿ Reusable for many different games
⦿ Multi-platform
⦿ Allows for data driven development
⦿ Makes development faster!
• Renderer (2D or
3D)
• Collision
Detection
• Scripting
• Sound/Video
• Animation
• Shading/Lighting
• Networking
• Physics
• Artificial
Intelligence
• Level Editor
• Custom Tools
Digital Content Creation Tools
Games are multimedia applications by nature. A
game engine’s input data comes in a wide
variety of forms, from 3D mesh data to texture
bitmaps to animation data to audio files. All of
this source data must be created and
manipulated by artists. The tools that the artists
use are called digital content creation (DCC)
applications.
• Used by the Render Engine, Sound/Video Engine,
Animation Engine
• Anything that is in the game besides code
o Models
o Textures
o Sounds
o Videos
o Animations
• Tells the Render Engine where to place
Assets
• Arranges a scene
o Logically
o Spatially
• Tree Structure
o Hierarchical
• Graph Structure
o Non-hierarchical
• Usually built
onOpenGL or
DirectX
• Generates images in
real-time from
assets
• Controlled by the
Scene Graph
• Interacts directly
with the
GPU
• Intersection of two given
solids
o Spheres
o Planes
o Tubes
o Polygons
• Collision Response
o Event
• Usually uses an interpreted language
(Python, etc.)
• Allows custom code
• Does not require the source code
• Does not change any engine code
• Game Specific
• 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
• Handles animation of objects on the Scene
Graph
• Tween animation
• Rig/Skeleton Based animation
• Tells the Renderer how to display the assets
• Calculates special effects
o Shadows
o Normal Maps
o Particle Effects
o More...
• Applied by the Render Engine on objects in the
Scene Graph
• Handles multicomputer
communication
o Peer to Peer
o Client to Server
o Distributed
• Handles behavior of objects based on
collisions
• Simulates or predicts physics models
o Rigid Body Dynamics
o Soft Body Physics
o Fluid Dynamics
• Controls object interaction
o Stimuli
o Needs
o Desires
o Flocking
• Often uses Finite State
Machines
• Allows placement of multiple assets to create
environments
• Can allow custom scripting for AI
• Primarily used for static asset placement
Tools used by the majority of professional game engineers are of
three types :

Version Control : A version control system is a tool that permits


multiple users to work on a group of files collectively. It maintains a
history of each file, so that changes can be tracked and resverted if
necessary.

Why Use Version Control?

⦿ Version control is crucial whenever software is developed by a team


of multiple
engineers. Version control
⦿ provides a central repository from which engineers can share source
code;
⦿ keeps a history of the changes made to each source file;
⦿ provides mechanisms allowing specific versions of the code base to
be tagged and later retrieved;
⦿ Permits versions of the code to be branched off from the main
development line, a feature often used to produce demos or make
patches to older versions of the soft ware.
⦿ Microsoft Visual Studio
⦿ Profiling Tools : A profiler is a tool that
measures the execution time of your code. It
can tell you how much time is spent in each
function.
⦿ Memory Leak and Corruption Detection
⦿ A memory leak occurs when memory is
allocated but never freed. Memory corruption
occurs when the program inadvertently writes
data to the wrong memory location,
Unreal Engine 4:
⦿ The Unreal Engine is a game engine developed by Epic
Games, first showcased in the1998 first
person shooter game Unreal.
⦿ With its code written in C++, the Unreal Engine
features a high degree of portability and is a tool used
by many game developers today.
⦿ Company: Epic games
⦿ Platforms (UE4): consoles, TBA, PS3.
⦿ Used in (UE3): Gears of War, Infinity Blade, Mass effect
etc.
 Unity is a cross-platform game engine
developed by Unity Technologies and
games
used for to PC, develop
consoles,
video mobile devices
and With an emphasis engineontargetsportability,
the
the Direct3D on Windows following
APIs: and Xbox 360; OpenGL on
Mac and Windows; OpenGL ES on Android and iOS;
and proprietary APIs on video game consoles.
⦿ Platforms: Android browser, flash, iOS, Linux, Mac, PC,
PS3,
Wii U, Xbox 360.
⦿ Used in (Any Version): Bad Piggies, Castle Stories, Dead
Trigger 2, Wasteland 2.
⦿ CryEngine is a game engine designed by
the German game developer Crytek. It
has been used in all of their titles with the
initial version being used in Far Cry,
⦿ It has also been used for many third-party
games under Crytek's licensing scheme,
including Sniper: Ghost Warrior 2 and
SNOW.
⦿This game engine has earned wide acclaim in
massive multiplayer and online game circles —
you can see its results in Star Wars: The Old
⦿ Republic.
It offers several maps and
open-world instances. lively seamless
It
between also
them.Easyoffers
and handy mapping
tools a transition
and integrated tool set.
⦿ Cloud support for client server with HeroCloud.
⦿ AppGameKit was developed out of our own need
to create a one stop solution for making game
apps for mobile devices.
⦿ It enables you to write codes for multiple
platforms, including Android iOS, Windows,
Mac, and Linux.
⦿ AGK script has powerful commands for
networking, 2D graphics, and physics.
GE are now being used for serious
games:
visualizatio training, medical, and
n, military applications,
simulation
the CryEngine being one example. with To
facilitate this accessibility, new hardware
platforms are now being targeted by
game engines, including mobile phones
(e.g. Android, iphone) & web browsers
(e.g. WebGL, Shockwave, Flash, Trinigy’s,
Unity player).

You might also like