Technical Game Development II
IMGD 4000 - D Term 2009


Final Game Projects: Click here for gallery!

Professor: Charles Rich (See home page for office hours)

Teaching Assistant: Skyler Clark

TA Hours: Weds, 4:00pm - 4:50pm, Fri, 3:00pm - 4:00pm (FL 222)

Lecture Times: Mon/Tues/Thurs/Fri, 2:00pm - 2:50pm

Lecture Location: Salisbury Labs, Room 305

Project Lab: Weds, 4:00pm - 4:50pm (joint with IMGD 4500)

Official Course Description: IMGD Courses Page

Text Books: Mat Buckland, Programming Game AI by Example, Wordware, 2005. (Required)

Detailed Schedule: Lectures, Assignments & Project Milestones
(Schedule is subject to change!)

Lecture Notes: Game Engines, Decision Trees/State Machines, Scripting,
Basic Physics, MiniMax Search, MMO/Darkstar,
Mid-term exam covers only to here
Steering, GPU/Shaders, Advanced Pathfinding, Behavior Trees in Halo,
Novel Input Controls, Camera Control in GoW,
Final exam covers from mid-term to here
Game Design

Discussion Forums: myWPI (Subscription option recommended)

Homework Instructions:
  • The four homework assignments (see below) are to assess your individual progress. You are encouraged to talk about solutions with classmates, even to help each other debug code. However, cutting and pasting someone else's code or emailing your code to someone else crosses the line. (See Cheating policy below.)

  • Homework assignments are due at midnight on each of the first four Sundays of the term via Web Turn-In. (See Late Work policy below.)

  • Upload a single executable jar file. Verify before uploading that this jar file executes in Java 1.6 assuming only the runtime libraries and 3d models distributed at the start of the class are on the classpath. (See detailed instructions for jar file preparation.)

  • Uploaded jar file should also contain all source files and javadoc (see javadoc documentation or use Eclipse command 'Project>Generate Javadoc').

  • Uploaded file should contain a 'README.txt' file in toplevel directory to briefly explain any problems or special features to the TA and instructor.

  • Final Project Milestones:
  • Fri, Mar 20: Three game proposals ("pitches") from each team due midnight via Web Turn-In. See example and blank work sheet. Instructors will return one choice in first class following week.

  • Fri, Mar 27: Detailed project plan and schedule from each team due midnight on the team's WPI SourceForge site (see template in spreadsheet and pdf format). Instructors will return comments in first class following week.

      The project plan should list every art asset and technical component required for your game and provide a date in the calendar when it will be completed. Keep this plan up-to-date and make it a "living document" by adding and deleting assets and components and moving milestone dates as the project evolves. Pay particular attention to the first couple of items in each category, since that's all you might get done :-).
  • Mon, Apr 13: Joint art/tech progress presentation (5 minutes), 2pm-2:50pm in FL 222 lab.

  • Tues, Apr 21: Joint art/tech first playable demonstration (5 minutes), 2pm-2:50pm in FL 222 lab.

  • Mon, Apr 27: Joint art/tech feature freeze demonstration (5 minutes), 2pm-2:50pm in FL 222 lab.

  • Mon, May 4: Joint art/tech final presentation (10 minutes), 1pm-2:50pm in FL 222 lab.

  • Grading: 30% Individual Homework Assignments
    • 5% Hello Chess
    • 5% Chess World
    • 10% Shallow Blue
    • 10% Darkstar Chess

      For each homework assignment:

    • 80% Satisfies technical requirements

    • 20% Software engineering quality (modularity, documentation, coding style). See Sun's Javadoc style guide (especially the first few pages) for useful suggestions of how to write good comments, which are applicable to any language. Also, look at the chess code distributed in the edu.wpi.imgd4000 package for a good example of the level of code quality and documentation expected.

    30% Final Game Project

    The final game project will be developed in groups consisting of two or three IMGD 4000 (tech track) students and two or three IMGD 4500 (art track) students. Tech track students' grades will be determined 80% by their technical achievements and 20% by an overall pass/fail grade on the project, based on whether the art and tech students successfully worked together to complete a playable game by the end of the term. All tech track students in a group will receive the same grade for the project, unless there are extenuating circumstances.

    40% Exams (20% Mid-Term, 20% Final)

    Final grades will reflect the extent to which you have demonstrated understanding of the material and completed the assigned work. The base level grade will be a "B" which indicates that the basic objectives on homework, exams and project have been met. A grade of an "A" will indicate significant achievement beyond the basic objectives. A grade of a "C" will indicate not all basic objectives were met, but work was satisfactory for credit. No incomplete grades will be assigned unless there exist exceptional, extenuating circumstances. Similarly, no makeup exams will be given unless there exist exceptional, extenuating circumstances.


    Policies: Attendance
    • Regular class attendance (and active participation) is expected.
    • If you have an unavoidable need to be absent from the lecture, you do not need special permission, but you are responsible for the work covered.
    Late Work
    • All work should be submitted via Web Turn-In by midnight on the due date.
    • Work turned in after midnight on the due date will immediately be penalized 10% of total assignment value, with an additional 10% penalty added at 24-hour intervals following, up to three days from the initial due date, at which point no credit will be given.
    Cheating
    • Taking credit for work you did not do or getting unauthorized help on assigments or exams is cheating. If you are in doubt, ask the instructor first!
    • Cheating is a serious offense, punishable by an automatic NR for the course.
    • Institute policy on academic honesty will be followed in all cases.