Slides badge

Game Libraries and Engines

Learning Intentions

  • Understand what an API/library is

  • Understand what a game engine is

  • Explain the benefits of these

Success Criteria

  • I can explain the terms API/library and game engine
  • I can explain why APIs/libraries and game engines are used

APIs

  • An API or Application Programming Interface is a method that allows software to interact with each other.
    Computer systems can be seen to be like an onion. At the centre of the onion is the hardware.  
  • In terms of video games, they sit in the software layer of this onion model. For the software to be able to manipulate the computer (for example draw a character on screen) the software must communicate through a collection of system APIs.

APIs

  • An API or Application Programming Interface is a method that allows software to interact with each other.
    Computer systems can be seen to be like an onion. At the centre of the onion is the hardware.
  • In terms of video games, they sit in the software layer of this onion model. For the software to be able to manipulate the computer (for example draw a character on screen) the software must communicate through a collection of system APIs.
  • These APIs allow it to communicate directly with the graphics card.
  • These are tricky to get working exactly how we want them.
  • A very popular collection of APIs provided by Microsoft is DirectX.

APIs

  • In terms of video games, they sit in the software layer of this onion model. For the software to be able to manipulate the computer (for example draw a character on screen) the software must communicate through a collection of system APIs.
  • These APIs allow it to communicate directly with the graphics card.
  • These are tricky to get working exactly how we want them.
  • A very popular collection of APIs provided by Microsoft is DirectX.

Libraries

  • A library is a collection of pre-written code that developers can utilise, speeding up production and giving access to parts of a computer system.
  • Libraries consist of several APIs that allow the developers to utilise these features.
  • Libraries are not exclusive to video games and are used by all sorts of programming languages.
  • Adding libraries to a game can speed up development, but are also often not perfectly tailored to the needs of the game.

Game engines

  • A game engine is a special piece of software or set of code that allows programmers to very easily reuse features that have been developed and tested.
  • The game engine does communication with the correct APIs automatically and makes it easier to work with them.
  • A game engine kind of sits between the game (software) and the computer hardware and is therefore often referred to as a middleware.

Game Engines

  • Game engines provide several features that speed up development. A perfect example of this is gravity simulation.
  • Sometimes the features of a game engine are referred to by developers and gamers as game mechanics, though this is technically an incorrect statement.

Games have come along way. How can games be so perfect?

Game engines

  • When a game has been proposed the next thing that the developers start to think about is how it will be developed.
    • For example, a game like Minecraft was built in Java because of the simplicity of developing it in Java, but it also meant a lot of work for Notch. Notch did not use an engine to help him build Minecraft.
    • Other games are developed using an engine such as the Unity engine because it simplifies things like gravity - meaning the developer does not need to (re)write code for a gravity system.

Class discussion

  • Let’s discuss what game engines we know of or have heard of. In groups of two or three discuss any game engines you've heard of.
  • Try to identify who created the game engine.

Pros of using game engines

  • Game engines have several pros:
    • They can speed up development by providing several features (such as gravity or motion) whilst writing very little code
    • They are rigorously tested ensuring that everything works as expected.
    • They deal with computer management automatically such as memory management
    • They can reduce developer knowledge of the underlying programming languages such as C++ (C++ requires you to manage computer memory manually)

Cons of using game engines

  • They do have several caveats however:
    • They can be expensive
    • They can have steep learning curves
    • Sometimes a bug is discovered in an engine and it’s up to the developer of the engine to fix it. This can slow development.
    • Since they are an additional layer of code lying between the game and the hardware they can often actually lower performance of games.
  • Complete the worksheet by finding out the details about game engines specified.

Task

Presentation Overview
Close
JB
Game Libraries and Engines
© 2020 - 2024 J Balfour
19:52 | 23-05-2024
Join Live Session
Start Remote
Save Progress
Slideshow Outline
Presenter Mode
Widget Screen
Canvas Controls
Random Selector
Timer
Volume Meter
Binary Converter
Python Editor
Show Knox 90
Provide Feedback
Help
!
Keywords
    DragonDocs Management
    Random selector
    Sections
      Binary conversion
      Denary to binary conversion
      Binary to denary conversion
      Feedback 👍
      Accessibility

      Apply a filter:

      ×
      All slideshow files