Course syllabus

Introduction

Hello folks, welcome to Game Engine Architecture (TDA572 / DIT455).   During the next couple of months we are going to be looking at what a game engine does, how it can be built, and the features that it will often have.  To accomplish this we will be incrementally developing our own game engine, called Shard.   Note that this will not be feature complete or even bug-free - game engines are amongst the most complex software artifacts that people routinely use.   However, it'll be 'good enough' that we can expand upon it and develop demonstration games that show how it works.

I hope you find it fun and interesting!

Requirements

We are going to be doing the coding for this in C#.  If you've never used C# before that's fine - the level of code required is not especially high, although the sophistication of the concepts may hide that.  If you've done any programming at all, you should be fine.   Usually the Wednesday afternoon class will be used for delving into any code questions you have.   

Contact Details

This is your course team:

Michael Heron, examiner, lecturer and course responsible - heronm@chalmers.se
Natasha Mangan, lecturer - natashab@chalmers.se
Filip Antonijevic, TA

Schedule

The plan is generally:

Monday, 0915 - 1200 - Lecture
Wednesday, 1015 - 1200 - Tutorials, spillover, occasional other things.
Wednesday, 1315 - 1700 - Project work time, w/ supervision

You can see the schedule and rooms in the calendar.   If there is a disagreement between TimeEdit and this page, go with what this page tells you.  TimeEdit is a room booking system, not a scheduling system.

However for week one the Wednesday afternoon class will be a self-study exercise.

Keep an eye on the announcements for further details of any other disruptions, and my apologies in advance.

Student Representatives and Course Evaluation

These are the (randomly-selected) student representatives for this course:

MPHPC bys199811@foxmail.com              Yuanshan Bie
MPIDE  beaosam@gmail.com    Samuel Dahlborg
MPIDE  jon.emilsson0522@gmail.com    Jon Emilsson
MPSOF ollie.ljungel@gmail.com            Oliver Ljung
MPALG f.toda.c@gmail.com       Ferran Toda

Voluntary representatives can be added on request.  If you're a GU student, your volunteering would be especially valuable!

Course Literature

You are not required to buy any literature for this course - everything you need to know will be covered as part of the teaching.  Recommendations may be given in individual lectures, but none of this is core.

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

  • Describe the typical structure of game engines and interactive simulations, and the requirements of specific parts of such engines 
  • Describe what public libraries and programs can be combined with existing game engines to provide the required functionality of a game engine
  • Extend existing game engines to augment functionality while maintaining stability and having predictable consequences on resource use 
  • Present extensions of a game engine through a demonstrator at a public presentation
  • Analyze existing game engines to determine functionality and extendibility 
  • Plan several parallel extensions of a game engine while minimizing dependencies 

Note here for 'interactive simulations' these are exactly the same thing as games except that the expected end-goals would be different.  

Examination form

Group Assessment:  Modified game engine.  Game using that engine.  Presentation.  Screencast.  Report on the technical artefact.

The course has the following grades: U, 3, 4, & 5. These grades are also given for each assignment in the course. In order to receive a passing grade on the entire course, a student needs to receive at least a 3 on all assignments. The course grade given will be a weighted average of the grades on the modules.

Course summary:

Date Details Due