Chapter 4
Chapter 4
ENGINES
Ts. Dr. Nurul Hidayah Binti Mat Zain/
Ts Dr Norizan Mat Diah
Overview
• Game engines Architecture
• Game engines technology
Game Engine
Introduction
• The game engine term arose in the mid-1990s.
• Doom: First Person Shooter architected with a well-defined separation between
its:
• Core Software Components (the rendering system, the collision detection, the audio, etc.)
• The art assets, game worlds, and rules of play
• Developers began licensing games and remaking them into new products by
creating new art, world layouts, weapons, characters, vehicles, and game rules
with only minimal changes to the "engine“ software.
• Thus, game engines provide a selected set of core components, including the
rendering engine, the collision and physics engine, the animation system, the
audio system, the game world object model, the artificial intelligence system,
etc.
Introduction
• A game engine is a software development environment designed for
people to build video games.
• Game engines provide game developers a framework for creating a
video game without the need to create all systems, such as the physics,
graphics, and AI, from scratch.
• Game engines help developers save time and resources by removing the
need to program and integrate game-supporting systems together, so
developers can focus on creating the meat of the game itself
• Game development teams use game engines to support them while they
program a video game, and the decision of which game engine to use is
usually the first step towards actually creating a game.
Game Engine
• Game engine is defined as the collection of modules of simulation
code that do not directly specify the game’s behaviour (game logic)
or game’s environment (level data) (Lewis & Jacobson, 2002).
• The concept of a game engine: it exists to abstract the (sometime
platform-dependent) details of doing common game-related tasks,
like rendering, physics, and input, so that developers can focus on
the details that make their games unique (Jeff Ward, 2008).
• Commonly identified modules include input handling, graphics,
sound, and physics/dynamics (Bishop et al., 1998; Lewis &
Jacobson, 2002).
Game Engine
Game engine : A gaming engine is a software
development environment, also referred to as a “game
architecture” or “game framework,” with settings and
configurations that optimize and simplify the
development of video games across a variety of
programming languages.
Modern Game Engine
• Game engine should be able to simplify critical tasks like:
• Physics: In-game immersions/physics should be a perfect balance between
simulation quality and computing power limitations for the end-user.
• Input: This is an extremely common issue in cross-platform development. Is
your gaming engine solving this problem for you?
• Visual Assets Processing: Lighting, shading, texture-mapping, and depth-of-
field require less programming effort while using game engines.
• Game engine should perform tasks with reduced coding efforts.
• This helps shorten development times significantly and allows teams
to focus on designing their games to deliver a unique and special user
experience.
Example Game Engine
• Unreal Engine
• A game development multi-platform engine designed for
businesses of all sizes that helps use real-time technology to
transform ideas into engaging visual content.
• Unreal Engine users will be able to use Quixel’s bundled tools
(Bridge, Mixer) and all of Quixel’s Megascans library assets for
free.
• Strengths: scalability, tons of features, rich customization
abilities, 2D & 3D
• Pricing: Free
Example Game Engine
• Amazon Lumberyard
• 3D game engine designed to build games and fan communities.
• It offers VR preview mode, visual scripting tools, and also Twitch
integration.
• Powered by Amazon Web Services, secure cloud platform built
and maintained by Amazon, integration through Lumberyard
means it’s significantly easier to build games with online play.
• Strengths: feature-rich platform, extensive capabilities
• Pricing: Free
Example Game Engine
• CryENGINE
• A free-to-use platform where we get the full engine source
code and all engine features without having to pay any license
fees.
• This is also a great option to purchase in-game assets, which
can be found at the Cryengine Marketplace.
• Strengths: solid interface, stunning visual capabilities,
impressive VR support
• Pricing: Free. Memberships start at $50 per month
Example Game Engine
• Unity
• Multi-platform game engine to create interactive 3D content with
ease.
• This gaming engine is the choice of many large organizations today
due to its excellent functionality, high-quality content, and ability
to be used for any type of game.
• It supports both 2D and 3D content.
• Strengths: Free Version, Multi-Platform Support, Good for Teams of
All Sizes, 2D & 3D
• Pricing: Free for Personal Use. Paid Plans Starting at $35 per month.
Example Game Engine
• GameMaker: Studio
• GameMaker has become widely used because it doesn’t require
programming knowledge to use.
• Users can “point-and-click” to create games much faster than
coding with native languages.
• The problem with GameMaker and other point-and-click engines
is that developers are much more limited than with other
engines.
• Strengths: Easy to Use, Intuitive Interface
• Pricing: Free. Memberships start at $39 per month.
Review Game Engine
List of Game Engine
• https://en.wikipedia.org/wiki/List_of_game_engines
• https://www.incredibuild.com/blog/top-gaming-engines-y
ou-should-consider
• https://www.makeuseof.com/phaser-game-development/
Types of Game Engines
Types of Game Engines
• Game engines come in many different types and at
many levels of programming expertise.
• Three kinds of engines:
1. The Roll-your-own Version (lowest level)
2. The Mostly-ready Version (mid level)
3. The Point-and-click Engine (highest level)
Roll-your-own game engines
(lowest level)
• Despite the cost, many mainstream companies (as well as indie
game makers) will still attempt to roll their own engines.
• This means they use publicly available application interfaces, such
as APIs like XNA, DirectX, OpenGL, the Windows and Linux APIs and
SDL, to create their own engines.
• In addition, they may use other libraries, both commercial and open
source, to help them along the way.
• These libraries might include physics libraries like Havok and ODE,
scene graph libraries like OpenSceneGraph, and GUI libraries like
AntTweakBar.
Roll-your-own game engines
(lowest level)
• Generally, these home-rolled systems give
programmers the greatest amount of flexibility, letting
them pick and choose the components they want and
integrating them exactly how they want.
• But they also take the longest amount of time to build.
• This makes rolling your own engine less attractive to
most game developers, even the professional ones.
Mostly-ready game engines
(mid level)
• Game engines to be "Mostly Ready."
• These engines are ready for prime time right out of the box, with rendering,
input, GUI, physics.
• Many of them even have mature tool chains so you do not have to roll your
own.
• Engines still require a bit of programming to get them up and running into a
complete game.
• They might call for some scripting or sometimes even low-level coding to
get a real game working.
• Mostly-ready game engines are a bit more limiting than roll-your-own
engines and are frequently optimized for the general case.
Point-and-click engines (highest level)
• Point-and-click engines are becoming more and more common
these days.
• They include a full tool chain that allows you to point and click
your way to creating a game.
• These engines, which include GameMaker, Torque Game Builder,
and Unity3D, are built to be as friendly as possible, and are made
to require as little coding as possible.
• That's not to say knowing a little coding doesn't help, but it isn't
really a necessity the way it is for the mostly-ready and roll-your-
own engines.
Point-and-click engines (highest level)