JHU Comp 600.460: Interactive Graphics and Games

International Game Developers Association

Jump to: navigation, search

Comp 600.460: Interactive Graphics and Games

 Games Education 

Course


Table of contents

[edit] Teachers

[edit] Instructors

  • Jonathan Cohen

[edit] Course Background Information

[edit] Location

Johns Hopkins University

[edit] Classification

Primary classification: Game Programming


Secondary classification: Graphics and Rendering

[edit] Course prerequisites

Students in this course should have previously taken COMP 600.457 - Computer Graphics, COMP 600.456 - Rendering Techniques, or the equivalent and have good programming skills. This level of experience is required to achieve a successful project in the allotted time.

[edit] Course Structure

[edit] Course description

This course will examine real-time rendering of high-quality interactive graphics. Applications such as video games, simulators, and virtual reality have recently become capable of near cinematic-quality visuals at real-time rates. We will study the advances in graphics hardware and algorithms that are making this possible. Over several projects throughout the semester students will work in small teams to develop a small 3D game engine incorporating some state of the art techniques. Examples of these techniques (and topics we will cover in class) include non-photorealistic rendering, occlusion culling, level of detail, terrain rendering, shadow generation, image-based rendering, and physical simulation.

A note of warning: Although the final project is to build a 3D game, this is not exactly a course about building video games: it is about building a 3D graphics engine such as sits under the hood of modern games. The course will be highly technical and a lot of work. We will not touch on many vital aspects of game design: character AI, the production process, artist tools, the network layer (for multiplayer or online games), interface design, multiplatform support, etc. In other words, don't take the class just because you like playing video games.

[edit] Course Materials & Facilities Used

Books

There is no required textbook for this course, but a number of useful texts are recommended.

Real-Time Rendering (2nd edition) by Tomas Akenine-Moller and Eric Haines, AK Peters (2002). This book is a significant update from the (excellent) first edition, and contains a great deal of additional material. In particular there are new chapters on advanced shading techniques, shading capabilities of modern hardware, and so on. It is an excellent book that anybody serious about a career in computer graphics ought to own. One of the best aspects of the book is the accompanying web site, a vast compendium of graphics resources that the authors keep very up-to-date.

3D Game Engine Design by David H. Eberly, Morgan Kaufmann Publishers (2001). This book makes excellent reading for programmers serious about writing their own game engine. It is quite mathematical and not for the faint of heart. It comes with a lot of free software, including some very useful little modules, also available from the accompanying web page.

Level of Detail for 3D Graphics by David Luebke, Marvin Reddy, Jonathan Cohen, Amitabh Varshney, Benjamin Watson, and Robert Heubner, Morgan Kaufmann Publishers (2002). Line your professor's pockets while learning about level of detail, a crucial tool for real-time rendering. Errata and links to code, models, and resources at the accompanying web page.

Game Programming Gems (series editor Mark Deloura). There are three books in the series. Some of the material from the first two might be a bit dated, but much of it is still very relevant. Because these are about game design, they include non-graphics topics (e.g., character AI). Each book is a collection of "gems", submitted by different game programmers. Some are short useful code snippets, others are long involved packages or essays on different aspects of game programming.


Syllabus

This syllabus is available on the world-wide web at: http://www.cs.jhu.edu/~cohen/IGG2005/syllabus.html

Assessment materials

The final grade will be calculated as a weighted average:

Individual assignments: 40%

Group project: 35%

Group participation: 20%

Class participation: 5%

Most individual assignments will be performed in the context of the group project by adding a feature to the game engine. Students will work in small teams on the group project. All team members will receive the same grade for the group project. This is not negotiable. Team members will also evaluate each other's performance; the "group participation" aspect of your grade will be largely informed by these peer evaluations. Class participation means coming to class, participating in discussion, not falling asleep, and "demo duty".


[edit] Analysis of learning methods

[edit] What worked

Please discuss what techniques worked well


[edit] What didn't work

Please discuss what techniques didn’t work as well as you had hoped



Personal tools
Toolbox