CS 491 / IFDM 491 – Spring 2018

Advanced Game Development

Instructors: Nathan Fabian (ndfabian@gmail.com), Jon Whetzel (jon.whetzel@gmail.com)

Office Hours: Mesa del Sol PC Lab, Tuesday 30 minutes before and after class.

Extra Office Hours: By appointment

Summary: This course serves to provide more exposure to the game development industry. Lectures will focus on topics surrounding 3D game development and project management. Our course will simulate a working game development studio with students in teams and using industry production tools and techniques. Students will also work with local game development professionals throughout the progression of their project.

Students will use the Unity 3D game engine for the assignments and project. We will focus on using C# as the programming language for scripting. Art assets may be generated with any tool of the student’s choosing, so long as their work can be imported into Unity.

Students must have taken Introduction to Game Development (IFDM 250) or have worked on game projects outside of this class, including any from prior coursework. Some knowledge of programming is required for all students taking the course.

Class Structure: Class meets every Tuesday & Thursday from 3:00 pm – 4:15pm in the IFDM Mesa Del Sol PC Lab (Rm 210). The class will be divided into two segments. First half of the semester will concentrate 3D game development topics with assignments based in the Unity 3D game engine. The second half of the semester will focus on working in small teams to design and create a 3D game.

Team projects will have multiple requirements including:

  • An initial game idea sales pitch & game design document
  • Weekly progress updates on the project
  • Reporting from in-class playtest events
  • Game trailer and promotional materials
  • Game executable & demo at the IFDM Arcade (Sat, May 12th @ Kimo Theater)

Turning-in assignments: Assignments will be submitted electronically by the due dates set by the instructors. Late submissions will receive deductions each day until the assignment has been submitted. All Unity-based assignments will be submitted via GitLab. Please include both instructors as team members to your repositories in order for us to grade them.


Students will earn up to 1600 points over the course:

  • Two (2) introductory Unity assignments (600 points total)
  • Half-term project (1000 points total)
    • Game pitch (50 points)
    • Game Design Document (150 points)
    • Weekly updates (70 points total)
    • Reporting on in-class playtest events (130 points total)
    • Final trailer / video (100 points)
    • Finished game (300 points)
    • Team & individual evaluations (200 points)

Grade Levels:

  • Level of Master > 1440 points (Grade A)
  • Level of Journeyman: > 1280 points (Grade B)
  • Level of Tinker: > 1120 points (Grade C)
  • Level of Youngling: > 960 points (Grade D)
  • Level of Noob: 0 – 959 points (Incomplete)

Honor Code: We will not lie, cheat, or steal nor tolerate others who do. You will be expected to perform each lab assignment and final project to the best of your abilities. Those who gratuitously plagiarize from other students or external sources will receive no credit for the assignment.

Class Schedule (subject to change):




Jan 16 & Jan 18

Intro to Unity 3D & GitLab

Assignment 1

Jan 23 & Jan 25

3D Asset Pipeline & Standard Shaders

Lecture Notes

Assignment 1 due Jan 28

Jan 30 & Feb 1

3D Animation & 3D Physics

Assignment 2

Feb 6 & Feb 8

Terrain, Navigation, and Locomotion

Lecture Notes

Feb 13 & Feb 15

AI: State machines & behavior trees

Lecture Notes

Feb 20 & Feb 22

Project Management

Assignment 2 due Feb 25

Lecture Notes

Feb 27 & Mar 1


Game pitches on Mar 1

Page 1 of 2 | Next page