Table of Contents
T-637-GEDE, Game Engine Architecture, Spring 2012
- Instructor: Hannes Högni Vilhjálmsson
- 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)
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.
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
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.
|PROB1||First Problem Set||Chapters 1-3||Fri Jan 20||Tue Jan 31||5%|
|PROB2||Second Problem Set||Chapter 5||Mon Feb 6||Tue Feb 14||5%|
|PRESENT||Presentation||Existing Game Engines||Tue Jan 17||Fri Feb 17||10%|
|PROB3||Third Problem Set||Weeks 6-8||Thu Mar 8||Fri Mar 16||5%|
|PROB4||Fourth Problem Set||Weeks 9-10||Mon Mar 26||Wed Mar 28||5%|
|PROJECT||Final Project||“New” Game Engine||Fri Feb 24||Fri Mar 30||30%|
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).
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.
|Part of Course||Total Weight|
|Final Written Exam||30%|