SlideShare a Scribd company logo
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/

More Related Content

A Brief Guide to Game Engines

  • 1. Associate Professor David Parsons Massey University, Auckland, New Zealand
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. Game Engines Provide • Graphics rendering (2D or 3D) • Physics/collision engine • Scene graphs • Animation • Scripting • AI – And a whole lot more…
  • 6. 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
  • 7. 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
  • 8. By The Way… • Violence isn’t a requirement – Find appropriate enemies • e.g. stinging insects • Neither is being a misogynistic troll – @see #gamergate
  • 9. 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
  • 10. Hopscotch • Scratch-style programming on the iPad • School kids can create 2D games
  • 11. iPad 4 Schools • Richard Wells at Orewa College uses HopScotch for games programming with his classes
  • 12. Unity3D • Point and Click – Free version available with tutorials
  • 13. Unreal Development Kit (UDK) • Mostly-ready – Free edition of Unreal Engine 3
  • 14. 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
  • 15. 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/