Syllabus
Advanced Game Programming

Advanced Game Programming

GAME-2347

Credit Spring 2021
01/19/2021 - 05/16/2021

Course Information

Section 001
Distance Learning
MW 17:40 - 19:00
DLS DIL
Dana Marshall

Section 001
Laboratory
MW 19:00 - 19:25
DLS DIL
Dana Marshall

Office Hours

  • M T W Th
    c. 5:00 - c. 5:30
    Online
    Send an email to arrange a time.

Course Requirements

The course will primarily be an introduction to 3d graphics programming for games.  The course will cover trangles, vectors, matrices, transformations, shaders and other aspects of the graphics pipeline.  In addition to being an introduction to 3d computer graphics, the course will also cover methods used throughout game programming.

Readings

A text that is recommended but not required is ‘Learning XNA 4.0’ by Aaron Reid.  There is also documentation on the XNA web site: http://msdn.microsoft.com/en-us/library/bb200104.aspx and some on the Monogame web site: http://www.monogame.net/documentation/?page=main.  A helpful xna tutorial website is http://rbwhitaker.wikidot.com/xna-tutorials.  Another text that may be helpful is: ‘XNA 4.0 Game Development by Example: Beginner's Guide’

Course Subjects

Class Outline/Course Calendar:

  • Week 1:
    • Lecture: Introduction to course
    • Assignment: Hello Triangle;
  • Week 2:
    • Lecture: Polygons, 3d transformations and pipeline
    • Assignment: color ground plane;
  • Week 3:
    • Lecture: Vertices, Camera Motion
    • Assignment: Vertices, Camera motion
  • Week 4:
    • Lecture: Fractal Terrain
    • Assignment: height field
  • Week 4:
    • Lecture: Normals, Dot Products and Lighting
    • Assignment: Lighting Terrain
  • Week 5:
    • Lecture: The graphics pipeline
    • Assignment: : Object Motion
  • Week 6:
    • Lecture: Shaders, Texture Mapping
    • Assignment: Texture Mapped Terrain
  • Week 7:
    • Lecture: Ambient, Diffuse, and Specular Light
    • Assignment: Lighting Moving Objects
  • Week 8:
    • Lecture: More lighting
    • Assignment: Moving Light Source and Fog
  • Week 9:
    • Lecture: Rotation
    • Assignment: Direction and Motion
  • Week 10:
    • Lecture:  More Matrices
    • Assignment: Hierarchical Transformations
  • Week 11:
    • Lecture:  Perspective Transformation
    • Assignment: Inverse Camera Transform
  • Week 12:
    • Lecture:  Geometry
    • Assignment: Geometry Input & Final Project proposal
  • Week 13:
    • Lecture: Exam Review
  • Week 14:
    • Final Exam
  • Week 15:
    • Class Work: Final Project
  • Week 16:
    • Final Project Due at Start of Class
    • Class Work: Present Final Project  to class

Student Learning Outcomes/Learning Objectives

Student will be able to code a real time 3d game that includes generated or translated hieght field terrain, motion control, translations, rotations, scaling, matrix transformations, physic simulations, and hierarchical transformations.