ITP 380x Introduction to Video Game Programming

Labs and Final Project


A lab is scheduled every week for the first six weeks, including week one. Substantial help will be offered during these lab sessions, the purpose of the lab is not evaluation; the purpose is solely to prepare students for the final project. Labs will be graded but will constitute no more than 15% of the overall grade. However, poor lab performance almost certainly will lead to poor performance on the final project. Labs are performed in groups of two or three people.


Following the first six weeks, you may use the lab session to work on your final project. In the first five weeks, you will have implemented everything required to begin production on your final project.


Preliminary Lab Schedule:

  1. Introduction to Windows programming and DirectX (link)

      Assignment: Rotating Triangle

  1. Strips, fans and lists: understanding the D3D Primitives (link)

      Assignment: Textured rotating Cube

  1. Meshes and .X file format (link)

      Assignment: Displaying a mesh

  1. Collision detection and response (link)

      Assignment: Sphere-plane collision

  1. Data storage (using XML?)

      Assignment: Creating a file format/loading a scene

  1. Final project brainstorming

      Assignment: Come up with a final project idea


Final Project:

For the final project, you must work with the same person(s) that you worked with in the first six weeks of lab. The final project is a significant part of your grade, and is due on the final examination day as scheduled by USC.



Contact the lab coordinator at