a brief guide to game engines
TRANSCRIPT
Associate Professor David Parsons
Massey University, Auckland, New Zealand
How a Computer Game Works
• Initial state (birds, pigs, woodpile)
• Game loop starts
• Take user input events (fire catapult)
• Update and display game state (bird
flies, things collide)
• Game loop finishes when you win or
lose (and the score is calculated)
Image source: https://play.google.com/store/apps/details?id=com.rovio.angrybirdsrio
Back in the Day…
• Arcade games were
pretty much built from
scratch every time
• Not any more…
Image source: http://www.allposters.com/-sp/Space-Invaders-Arcade-
Cabinet-Classic-Video-Game-Poster-Posters_i9718572_.htm
Abstraction
• Like every
software tool, a
games engine
provides a level of
abstraction to hide
underlying
complexity
Source: http://www.giantbomb.com/images/1300-2500834
Game Engines Provide
• Graphics rendering (2D or 3D)
• Physics/collision engine
• Scene graphs
• Animation
• Scripting
• AI
– And a whole lot more…
Types of Game Engine
• Roll-your-own (lowest level)
– Using APIs like XNA and OpenGL, and
libraries like Havok and OpenSceneGraph
• Mostly-ready game engines (mid level)
– Require some programming to make a
complete game, e.g Torque and Unreal
• Point-and-click engines (highest level)
– Require as little coding as possible, e.g.
Unity3D
Why All the 1st Person Shooters?
• (partly) because it’s a standard games
engine style
Image source: https://www.youtube.com/watch?v=rnJr9vfvQ2M
Not actually a game at all but a spoof video
By The Way…
• Violence isn’t a requirement
– Find appropriate enemies
• e.g. stinging insects
• Neither is being a misogynistic troll
– @see #gamergate
Platform Interoperability
• A selection of engines and platforms
• Choice of target(s) will affect choice of
engine
Games Engine Target Platforms
Unreal Engine 4 Android, HTML5, iOS, Linux, Mac, Oculus, PC, PS4, SteamOS,
Xbox One
Unity Android, BlackBerry, iOS, Linux, Mac, PS3, PS4, Xbox 360, Xbox
One, Windows 8
CryEngine Android, iOS, PC, PS3, PS4, Xbox 360, Xbox One, Wii U
GameMaker Android, Browser, iOS, Mac, PC, PS3, PS4, Vita, Windows Phone
ShiVa Android, Blackberry, iOS, Linux, Mac, PS3, SteamOS, Vita, Wii,
Windows, Windows Phone 8, Xbox 360
Marmalade Android, BlackBerry, iOS Mac, Windows, Tizen
Hopscotch
• Scratch-style programming on the iPad
• School kids can create 2D games
iPad 4 Schools
• Richard Wells at Orewa College uses
HopScotch for games programming
with his classes
Unity3D
• Point and Click
– Free version available with tutorials
Unreal Development Kit (UDK)
• Mostly-ready
– Free edition of Unreal Engine 3
Narrative Frameworks
• One aspect of game design is the
narrative framework
• Games need a beginning, a middle and
an end
– As opposed to a ‘world’, which just ‘is’
• An engine helps you build the software
• A framework helps you build the
narrative
Sources
• Craig Chapple. (2014). The top 16 game engines for 2014
http://www.develop-online.net/tools-and-tech/the-top-16-game-
engines-for-2014/0192302
• Michael Enger. (2013). Game Engines: How do they work?
http://www.giantbomb.com/profile/michaelenger/blog/game-
engines-how-do-they-work/101529/
• Ben Smiley. (2012). What is a game engine?
http://www.deluge.co/?q=what-is-a-game-engine
• Jonas Heide Smith. (2000). The Road not Taken - The How’s
and Why’s of Interactive Fiction http://game-
research.com/index.php/articles/the-road-not-taken-the-hows-
and-whys-of-interactive-fiction/
• Jeff Ward. (2008). What is a Game Engine?
http://www.gamecareerguide.com/features/529/what_is_a_gam
e_.php
• Richard Wells. iPad 4 Schools. http://ipad4schools.org/