User Tools

Site Tools


public:t-gede-12-1:main

T-637-GEDE, Game Engine Architecture, Spring 2012

Basic Info

  • Contact: Office in Venus floor 2, telephone 559-6323, and email hannes[ ]ru.is (open office hours)
  • Lectures/Discussion: Tuesdays 8:30-10:05 (M121)
  • Labs (not always, check schedule): Thursdays 14:45-15:40 (M106)
  • Practical/Demos: Fridays 10:20-11:55 (M121)

Description

The course covers the theory and practice of game engine software development, bringing together topics that range from large-scale software architectures and modern game programming paradigms to the design and implementation of subsystems for rendering, collision, physics animation. Through practical lab exercises and group projects, the students will get technical hands-on experience in C++ game development, including the use and development of supporting tool pipelines.

Book

The course text book is "Game Engine Architecture" by Jason Gregory, published by AK Peters in 2009. You will be expected to have this book and read the chapters as we work our way through it.

Intended Learning Outcomes

On completion of the course students are expected to be able to:

  • Explain game engines and their role in game development
  • Compare and evaluate game engines with respect to game development goals
  • Sketch the typical components of a runtime game architecture
  • Use C++ development tools, profiling tools and version control tools
  • Apply best practice in object oriented C++ development
  • Design and implement low-level engine systems that deal with start-up/shut-down, memory management, complex data types, engine configuration, file system, game resources, game loop, rendering loop and interface devices
  • Apply 3D math, covering points, vectors, matricies and quaternions, for solving game world problems
  • Explain the core functionality of the rendering engine and animation system
  • Solve basic collision detection and use rigid body physics middleware
  • Explain the anatomy of a game world, game objects, data-driven game engines and the general construction of a runtime gameplay foundation system

Assignments

During the semester, students should complete four problem sets, one topical presentation and a final project. Problem sets can be done in pairs, and the presentation and final project in groups up to 4 people in size. Students discuss final project ideas with instructor in week 7, demonstrate the project in week 12 and turn in a report on the project before exams start. Everything that has to be turned in, should arrive no later than at 23:59 on the due date, or else incur 10% penalty for each additional day, including weekends and holidays.

AssignmentDescriptionMaterialAssignedDueWeightResults
PROB1First Problem Set Chapters 1-3 Fri Jan 20Tue Jan 315%
PROB2Second Problem Set Chapter 5 Mon Feb 6Tue Feb 145%
PRESENTPresentation Existing Game Engines Tue Jan 17Fri Feb 1710%
PROB3Third Problem Set Weeks 6-8Thu Mar 8Fri Mar 165%
PROB4Fourth Problem Set Weeks 9-10Mon Mar 26Wed Mar 285%
PROJECTFinal Project “New” Game Engine Fri Feb 24Fri Mar 3030%
Total 60%

Online Forum

The course has a dedicated online forum where students can post questions, comments and useful information. Note that everyone should register, in their own name, on this forum before posting (simply go to the address below to register).

Tentative Schedule

WeekLectures Labs Due
01 (JAN 09-13) Chapters 1-2:
Introduction
Tools
Visual History of 3D Game Engines
Building an Ogre App from the Ogre source files
02 (JAN 16-20) Chapter 3:
Software Engineering Part A
Software Engineering Part B
03 (JAN 23-27) Chapter 5:
Engine Support Systems Part A
Engine Support Systems Part B (Updated)
Lab 1: Getting Started with Ogre 3D
04 (JAN 30-03) Chapter 6:
Resources and File System Part A
Resources and File System Part B
Lab 2: Getting Meshes and Materials into Ogre 3D PROB1
05 (FEB 06-10) Chapter 7:
The Game Loop and Real-Time Simulation Part A
06 (FEB 13-17) Chapter 7:
The Game Loop and Real-Time Simulation Part B
Lab 3: Updating the Scene Every Frame PROB2
PRESENT
07 (FEB 20-24) Chapter 8:
Human Interface Devices
Lab 4: Unbuffered and Buffered Input
08 (FEB 27-02) Chapter 10:
The Rendering Engine Part A
Define Final Project
09 (MAR 05-09) Chapter 10:
The Rendering Engine Part B
10 (MAR 12-16) TUESDAY GUEST: Harri Darri (CCP)
Networks, Protocols and Distributed Systems
Final Project Status Meetings (sign up here)
11 (MAR 19-23) TUESDAY GUEST: Páll Pálsson (CCP)
Shaders in EVE Online
FRIDADY GUEST: Robert Galanakis (CCP)
The Pipline: Game Development's Underbelly
Review of Problem Set 3
12 (MAR 26-30) Review for Exam
Final Project Presentations
PROJECT

Attendance

Please note that there is a 70% attendance requirement for the Tuesday and Friday classes. You must pass this attendance limit in order to take the exam. Please inform the instructor if this is hard for you for some reason such as scheduling conflicts or sick leave.

Grading

Part of CourseTotal Weight
Participation 10%
Problem Sets 20%
Topical Presentation 10%
Final Project 30%
Final Written Exam 30%
Total 100%
/var/www/ailab/WWW/wiki/data/pages/public/t-gede-12-1/main.txt · Last modified: 2012/04/05 02:16 by hannes