Course syllabus for Game engine architecture

Course syllabus adopted 2023-02-02 by Head of Programme (or corresponding).

Overview

  • Swedish nameSpelmotorarkitektur
  • CodeTDA572
  • Credits7.5 Credits
  • OwnerMPIDE
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 23115
  • Maximum participants45 (at least 10% of the seats are reserved for exchange students)
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0115 Project 7.5 c
Grading: TH
0 c0 c7.5 c0 c0 c0 c

In programmes

Examiner

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for this course, students must have either:

successfully completed the course Computer Graphics, 7.5 credits, or equivalent, or

have 15 credits of programming experience, of which 7.5 of those credits should be in an object-oriented context.

Aim

The course aims to give an understanding of components in modern interactive simulation engines.

Learning outcomes (after completion of the course the student should be able to)

    Knowledge and Understanding
    • describe the typical structure of game engines and the design decisions associated with specific parts of such engines
    Skills and Abilities
    • develop extensions to an example game engine to augment and optimise functionality
    • identify faults and deficiencies in an example game engine, and outline solutions for those faults
    Judgement, ability and approach
    • compare and contrast existing game engines to determine functionality and extendibility
    • plan several parallel extensions of an example game engine to meet game related goals

    Content

    The design and implementation of the fundamental components of a game engine is the core of the Game Engine Architecture course. The course focuses mainly upon 2-dimensional engines although other types of game engines are discussed, and students wishing to explore 3D game engines can do so as part of the assignment. 

    During the course we will go over the development and construction of our own game engine.  This engine (called Shard) is specific to this course, and is thus fully open to expansions and modifications.   During the course students will take the source code of Shard and improve upon it to address perceived inadequacies and develop new functionality.  They will also build an example game that makes use of their modified engine to deliver a representative game experience.

    The course will cover timing regulation, game object architecture, collision action, collision responses, and some simple physics. It will also discuss relevant design decisions and design patterns. It is not expected during this course that you will develop a feasible competitor for what is on the market. Rather, the process of exploring and expanding a bespoke game engine is intended to be illuminating for those developing games in more robust engines.


    Organisation

    The course is based on a series of technical teardowns and a project within the field of game engine development.  This is complemented by lectures and project supervision sessions. The work in the project takes place as supervised groups or individuals with the goal of providing practical training in the development and evaluation of game engines.

    Literature

    See separate literature list.

    Examination including compulsory elements

    The course is graded by two technical artefacts (a modified game engine and an example game) along with an oral presentation.  The overall grade for the course comes from a weighted average of these elements.

    The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.