Study-Unit Description

Study-Unit Description


CODE DGG5631

 
TITLE Game Engines

 
UM LEVEL 05 - Postgraduate Modular Diploma or Degree Course

 
MQF LEVEL 7

 
ECTS CREDITS 5

 
DEPARTMENT Institute of Digital Games

 
DESCRIPTION The Game Engines unit is aimed at giving students a comprehensive introduction towards game creation using readily available game engines. The unit will focus on development however it will take a gradual approach. Starting from readily available game engines, which require little or no programming, moving gradually to scripting and then finishing off with full-blown programming. In particular we will have a look at the major platforms and learn how to develop games for them using these engines. To achieve this, we will make use of available tools such as Unity 3D and XNA.

The content will cover both the theory behind game engines, as well as how to implement some of their elements in C++ and OpenGL.

The study-unit topics include:

- Basics of game engines (why they exist, what they do);
- Game engine design;
- Introduction to computer graphics (transformations, camera models, culling, clipping and rasterising);
- Modern graphics processing units;
- Programmable graphics pipeline (vertex, geometry and fragment shaders);
- Introduction to physics simulation (forces, collision, etc.);
- Data structures and algorithms for games;
- Overview of performance considerations;
- The role of scripting languages in engines;
- Managing properties of the game world and objects;
- Introduction to the Unity 3D game engine (editor, scripting).

Study-unit Aims:

The core aims of the unit are as follows:
- Students are able to theorize upon game engine structures and sub-components;
- Students familiarise with a commercial game engine and are able to develop game prototypes.

Learning Outcomes

1. Knowledge & Understanding:
By the end of the study-unit the student will be able to:

- Generalize about the structure of, similarities and differences between, modern 3D game engines;
- Analyse the performance characteristics of algorithmic and architectural decisions;
- Apply data structures for handling game information, such as spatial data and object properties;
- Develop game prototypes using a commercial game engine.

2. Skills:
By the end of the study-unit the student will be able to:

- Implement and describe fundamental algorithms used in game graphics

Main Text/s and any Supplementary Readings:

3D Game Engine Design, Second Edition: A Practical Approach to Real-Time Computer Graphics; David H. Eberly, ISBN-10: 0122290631
Real-Time Rendering, Third Edition; Thomas Akenine-Moller, Eric Haines et al., ISBN-10: 1568814240
Game Physics Engine Development, Second Edition: How to Build a Robust Commercial-Grade Physics Engine for your Game; Ian Millington, ISBN-10: 0123819768
Real-Time Collision Detection; Christer Ericson, ISBN-10: 1558607323
Mathematics for 3D Game Programming and Computer Graphics, Third Edition; Eric Lengyel, ISBN-10: 1435458869

 
ADDITIONAL NOTES Pre-Requisite qualifications: Bachelor's in Engineering/CS or related fields; Object-oriented Programming. Basic Mathematics Understanding. Geometry, Matrix Algebra, etc.

Unit offered at Post Graduate Level.

 
STUDY-UNIT TYPE Lecture

 
METHOD OF ASSESSMENT
Assessment Component/s Sept. Asst Session Weighting
Presentation No 30%
Project Yes 70%

 
LECTURER/S Keith Bugeja
Sandro Spina

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2023/4. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit