Technical Game Development II
IMGD 4000 - D Term 2012


Final Game Projects: Click here for gallery!

Professor: Charles Rich (rich)    Office Hours: Mon/Fri 3-4pm (FL B25b)

Course Description: This course focuses on the application of advanced Computer Science topics as they impact game development. Networking and distributed systems issues are addressed, including scalability and latency compensation techniques, for designing games for a online multi-player environments. AI, graphics and physics techniques specific to game development are discussed. Students will implement games or parts of games that apply advanced Computer Science topics.

Recommended Background: IMGD 3000

Course Objectives and Outcomes


Teaching Assistant: Jia Wang (wangjia)    Office Hours: Mon 6-7pm, Wed 3-4pm (FL 222)

Lectures: Mon/Tues/Thurs/Fri, 2:00pm - 2:50pm (SL 305)

Lab (Required): Weds, 4:00pm - 4:50pm (FL 222 - jointly with IMGD 4500)

Text Books: Design3 Video Tutorials (Subscription required--get code from instructor)

Allen Jones and Adam Freeman, C# for Java Developers, Microsoft Press, 2003. (Optional)

Mat Buckland, Programming Game AI by Example, Wordware, 2005.
(Optional--this book will also be used for IMGD 4100, AI for Interactive Media and Games)


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

Individual Homework: The "10% Solution"

Individual Optional (Extra Credit): The Firing Solution

Game Project:

Lecture Notes (posted after lectures): Week 1: Game Engines, Scripting
Week 2: Basic Physics, Steering
Week 3: Decision Trees/State Machines, Advanced Pathfinding, Behavior Trees in Halo
Week 4: Advanced Camera Control, Game Audio
Week 5: Networked Game Development
Week 6: Shader/GPU Programming
Week 7: Procedural Content Generation, Novel Input Controls

Discussion Forum: GDC Forums IMGD-4000 > D-Term 2012 Thread

Grading: The various components of the course will contribute to the overall grade in the following proportions.
  • 10% Solution (Individual Homework): 10%

  • Final Game Project Technical Milestone (Mon, Apr 2): 10%
    (All tech students in a group will receive the same grade for this component, unless there are exceptional circumstances)

    To receive full credit, this milestone must demonstrate at least partial implementation of the first four elements listed under grade "B" below.

    Include a README.txt in your project describing the technical components for which you are claiming credit (include class names).

  • Mid-term Exam: 15%

  • Final Exam: 15%

  • Technical elements of final game project: 40%
    (All tech students in a group will receive the same grade for this component, unless there are exceptional circumstances)

    To receive a grade of at least "B" on the technical elements, the final game project must include:
    • basic physics (using Unity Rigid Body, Collider and Mesh Collider)
    • two force-based steering behaviors (see lecture)
    • basic A* pathfinding (see IMGD 3000 2011 and 2012 lectures)
    • hierarchical state machines (see lecture)

    To receive a grade of "A" on the technical elements, the final game project must display excellent software engineering practices (modularity, documentation, testing, etc.) and include at least one of the following items for each tech member of the team:
    • two-player networking (see networking tutorial)
    • an advanced pathfinding feature (see lecture)
    • advanced camera control (see see lecture)
    • another significant technical element requiring a comparable amount of programming (with prior approval of instructor)

    Include a README.txt in the toplevel folder of your SourceForge project including, for each implemented technical component:
    • A brief description of its design and functionality
    • The folder and file(s) that contain the source code
    • Who implemented it (give proportion of contribution, if not equal)

    These components should include both the "A" and "B" level items above and other major technical components, such the GUI, etc.

  • Final Game Design/Quality/Integration/Impression: 10%
    (All art and tech students in a group will receive the same grade for this component, unless there are exceptional circumstances)
The final letter grade in the course 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.
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.