So you’ve heard a lot about game engines and how they power the great gaming experiences
that you love.
But game engines can be complicated at first look - and learning exactly what they do and
how they are used in development can be a daunting task.
In this video we remove the mystery by explaining what a game engine does, how they came to
be, and which tools they typically provide to game developers.
You will learn your way around a typical game engine, and learn to evaluate what engine
is best for your project based on the different features they offer.
We are Ask GameDev, and this is game engines explained
Welcome back!
If you’re new to Ask Gamedev, we make videos to help you learn about the games industry
so that you can elevate your games and Inspire others.
If you’re on a gamedev journey, consider subscribing.
We’d love to help you along the way.
So what is a game engine?
At a high level, a game engine is a software framework that developers use to create video
games.
Engines provide toolsets and content pipelines across a variety of commonly used game areas
like graphics, audio, and code scripts.
These tools allow the developer to quickly create game experiences without having to
recreate a lot of conventional infrastructure.
There are lots of different engines available to developers - some free and some paid, and
many development studios have their own custom-made engines that only they use in house.
Additionally, many engines allow for customized extensions - and developers can build layers
of technology that sit on top on engine tech that are owned by other entities.
For example, a development team could build some scripts for an RPG game on top of Unity
to help with creating detailed character classes.
As you can imagine, engine tech can be extremely valuable - as it can allow a development team
to extend their capabilities or improve their development efficiency.
We recently did a video on the best engines available in 2018 - check it out by clicking
the card above for more info.
The different game engines available will all have their own unique features and customizations
- but most share a common set of functionality.
First, they typically house the main game program that defines the game logic and different
states that the user will experience.
They also typically support the graphical appearance of the game through a rendering
engine.
Audio is often also supported through an audio engine that defines what and when sounds get
played.
Then there are lots of other common game elements such as networking, physics, AI, and others
that have become regular components of modern engines.
We’ll get into the details of each area later, but first, let’s start by talking
about the history of engines and what has led us to today’s landscape.
In the early days of gaming, developers had to create their game tech from scratch.
Back then, most gaming was done on consoles or desktop computers, and the specific game
information was housed on a cartridge or disk.
The art and audio assets were loaded from the media, and the game logic would have to
tell the console or computer when to grab these assets and how to deploy them on screen.
Then game would then have to delete these assets from memory once gameplay no longer
had need for them, so that memory could be freed up for future game play assets.
The instructions behind all of this work and more was typically written from scratch each
and every time a game was developed - and it was inefficient and slow.
As you can imagine, there was real interest in simplifying the game development process
by building frameworks that would remove the need to recreate all that code from scratch
over again.
This increased development efficiency and speed meant that developers could create games
quicker and with more frequency.
The framework approach has since expanded to virtually all areas of game development
- engines provide shortcuts that touch all commonly used parts of gamedev.
With that increase in functionality, Engine costs have continuously decreased over time
- and now you can choose from a wide selection of great engines for free!
We recently did a video on the best free engines - click the card above to watch that now
Some of the more decorated engines of the early days of gaming include:
1991’s Wolfenstein 3D engine by John Carmack and ID software, which create the first person
perspective format that helped shape modern gaming,
1993’s ID Tech 1 or The “doom engine”, also developed by John Carmack and ID software,
was the engine that presented a huge step forward in computer graphics and spawned Doom
and its early secondary releases.
Build Engine.
Released in 1995 by Ken Silverman for 3D Realms, and is known for Duke Nukem 3D amongst other
titles.
This engine was one of the prolific first person shooter engines of all time and established
new standards for maps and movement.
XnGine, released in 1995 by Bethesda which was a breakthrough engine for 3D development
and was used by early Terminator and Elder Scrolls titles.
What do you think was the most impactful engines of early gaming days?
Let us know in the poll above.
So now that we know about how Engines came about, what can we expect to see offered in
modern game engines?
Well for starters - graphics, or the visual representation of the state of the game on
screen.
As mentioned earlier, use of the rendering capabilities of the engine will dictate the
appearance of the game.
This can include the display of 3D models, textures, animations and other varied asset
types.
Its common for Artists to create these assets in separate applications like Maya, 3D Studio
Max, or Blender - while the engine provides an integration pipeline that supports the
file formats from those popular programs.
But supporting art asset file formats isn’t all modern engines do - rendering capabilities
has become an competitive areas in development tech, with in-engine lighting and effects
functionality now making AAA quality visuals accessible to small development teams.
CryEngine, Unity, and Unreal are among the competitors trying to capture the market of
developers targeting AAA visuals - and the bar is very high.
Now lets talk about user input.
Engines account for user input - usually via a variety of different input types like keyboard,
mouse, controllers, or touch-screen gesture.The game engine provides intuitive ways to capture
input events like button presses or key presses - and then trigger elements into the code
that might displays actions like running or jumping on screen.
This is game interaction at its most basic - and usually goes hand-in-hand with...
Another core element of game development is the addition of sounds and music to gameplay
in an effort to invoke emotion and feeling.
Similar to graphics, audio assets are often created in separate applications like WWise
or Audacity.
The engine then provides a framework for easy integration of audio assets into the build,
with support of the commonly used file formats.
If you want to learn more about how get great audio and sound effects for your game - we
recently completed a video outlining the best audio sources.
Click the card above to learn more.
Engines often provide additional audio tools that allow for tweaking of sound effects and
behaviors while the game is being played.
The audio artist can author or adjust overall audio composition in the game engine, making
sure that the disparate assets work well together.
Online Multiplayer has become a staple of modern games and many of the leading engines
have integrated networking frameworks to allow for easy integration of social features.
Whether you are developing a two player turn based game or a massive multiplayer online
title, you will have to implement a networking solution that will allow all players to retain
the same game state.
This can be particularly complicated given that players can have different hardware,
connection speeds, or network quality - and reducing gameplay lag is a complicated process.
Many engines now come equipped with scripts and components that alleviate much of the
pain with client/server connection, thereby allowing developers to implement multiplayer
technology without having to create complicated network infrastructure.ide
The next area of engine focus is scripting - and this can be a huge time-saver for developers.
Engines typically offer a variety of pre-built scripts that define behaviors and can be attached
to various objects in gameplay.
This can include the triggering events like moving of a character or camera, or lighting
the game environment, or the generation of particles.
These time-saving scripts can also be as simple as importing a content asset into the game
world.
If you can think of it, there is probably a script out there for any behaviour that
you can use in your development.
Artificial intelligence is an common development area where scripting is useful.
AI is used for defining non-player character behaviour, and scripts typically use behavior
nodes to help streamline this process.
Need to make a slick User Interface to accompany your great gameplay?
Many engines have toolsets for easy creation of screens and HUDs.
Design the layout and look of your Buttons, drop-downs menus, sliders, and other UI elements
- and then tie them to input events that drive different elements of your game with scripting
options.
There are countless UI authoring tools out there - and many are already supported by
the major engines - so you don’t need to use a native engine UI solution if you don’t
want to.
The choice is yours.
Now onto Physics.
Realistic looking physics is important if the game is to recreate life-like movement.
World objects need to behave as if they are being affected by gravity or other forces
- and that’s why modern engines allow for the application of physics to game objects.
Popular physics engines like Havok, Box2D, and PhysX, are often supported in the popular
engines.
These engines handle the mathematical process of making the game elements mimic the real
world.
A more recent addition to game engines has been accompanying asset marketplaces where
developers can source licensable elements for their titles.
This marketplaces can offer 2D and 3D art, animations, music and SFX, code scripts, and
virtually anything else you can think of.
These marketplaces are of huge benefit to indie or solo developers - who no longer have
to learn how to create audio or art if they want to release a title.
Unity and Unreal have two of the largest asset marketplaces - and we imagine that most engines
will eventually follow suit and offer similar options.
If you want to go beyond the asset marketplaces to learn more about how secure great art for
your game - we recently completed a video outlining the best ways to get art assets
. Click the card above to learn more.
So there you are - all you need to know about game engines.
Thanks for watching…. and let us know in the comments if you have any additional questions
about game engines.
Also - let your fellow viewers know if we missed any criteria for evaluating a game
engine!
Don’t hold back - the viewer community needs your opinion!
If you do like this video, considering hitting the like button, or subscribing as we publish
new content every week on how to elevate your games.
Hit the bell below to be notified as soon as a new video is available.