Video Game Engine Technology

COMS E6998-8 [Spring 2004]

David J. Sturman

Columbia University

Wed 6:10pm-8:00pm
386 Engineering Terrace
3 pts.

Short Description:

This course will go over the technology and code details of a modern 3D game engine. Each class will cover a different aspect of game engine technology and how that is expressed in code in the engine. Topics include modeling, rendering, animation, physics, AI, special effects, and audio. Students will augment a base game engine in weekly assignments and are expected to have some familiarity with C++ and to have studied up on basic computer graphics. We will be using the text, "3D Games: Real-Time Rendering and Software Technology, Volume 1" by Alan Watt and Fabio Policarpo and the companion Fly3D game engine.

Prerequisites:

Text:

3D Games: Real-Time Rendering and Software Technology, Volume 1
by Alan Watt and Fabio Policarpo

Contact Information:

Notes:

NOTE: We will be using Volume 1 as a text (not Vol. 2), but using the code from Vol. 2. You can download the code and documentation from the Fly3D website - http://www.fly3d.com.br - download fly3d208_std.exe and Fly3D2.chm from the left-hand sidebar under "Downloads". The first is the SDK, the second is the documentation in Windows help format.

See the discussion board (link at top of page) for more information on this and other issues.

Lateness Policy:

To be discussed in class.

Submission Details:

Submit the following to the class account, gamelabs@dsturman.com:

1. Create a ReadMe.txt file with the following
   a. Student Name
   b. Email address
   c. Lab Number
   d. Visual Studio Version
   e. Any comments on implementation, or special instructions.
2. Send us a .zip file with the following:
   a. bling.cpp
   b. bling.h
   c. bling.fly
   d. ReadMe.txt
   e. Fly3D.ini (if you've modified it... which you shouldn't)
    f. Any other files you have modified or added or you think we'll
need to make things work.
3. Submit the zip file in an email to gamelabs@dsturman.com
4. The email subject should be
         Lab # - Name
For instance:    Lab 02 - David Sturman