King's  Logo

COURSE NUMBER: CMPT 315
COURSE TITLE: Real Time Animation and Game Design
NAME OF INSTRUCTOR: Michael Janzen
CREDIT WEIGHT AND WEEKLY TIME DISTRIBUTION: credits 3(hrs lect 3 - hrs sem 0 - hrs lab 3)
COURSE DESCRIPTION: The objective of this course is to introduce the programming tools and techniques for creating interactive games and virtual reality simulations, and will focus primarily on programming aspects, including event loops and execution threads, rendering and animation in 3D, and multi-user games and networking. Other topics will include the history of computer/video game technology, game genres and design principles, and the social impact of games.

Prerequisites: CMPT 275, MATH 221
REQUIRED TEXTS: Optional Text:
  • Marshner S. and P. Shirley (2015), Fundamentals of Computer Graphics 4th Ed. A K Peters / CRC Press
Suggested Readings:
  • Parent, R. (2009), Computer animation: algorithms and techniques 2nd Ed. Elsevier/Morgan Kaufmann Publishers.
  • Angel, E. (2008), Interactive computer graphics: a top-down approach using OpenGL 5th Ed. Pearson/Addison-Wesley.
MARK DISTRIBUTION IN PERCENT:
Lecture Assignments 20%
Laboratory Work 4%
Laboratory Examination 7%
Project 10%
Paper/Group Discussion 9%
Midterm Examination 20%
Final Examination 30%
100%
COURSE OBJECTIVES: This course is intended to introduce students to real-time rendering and animation applicable to game design and virtual simulation.
  • Students will be able to program using a graphics API such as OpenGL
  • Students will understand the graphics pipeline from input of polygons and colours to the rendered image on a display
  • Students will be familiar with the adaptation of physics principles in terms of animating objects, vertices, or polygons.
  • Students will be able to discuss social issues involving video games
COURSE OUTLINE:
  • Event Loops and Execution Threads
    • Introduction to GLUT
    • Input Methods
  • Real-Time Rendering
    • OpenGL Programming
    • Texturing
    • Graphics Pipeline
  • Animation
    • Particle Systems
    • Mass Spring Systems
    • Other animation methods
  • Networks and Multi-User Games
    • Client/Server Systems
  • Introductory Ray Tracing
    • Rendering
    • Shadows
    • Reflections
  • Other Rendering Methods and Topics (as time allows)
    • Radiosity
    • Subsurface Scattering
    • GLSL (programmable shaders)
    • CUDA programming
    • Artificial Intelligence in Game Playing


Required texts, assignments, and grade distributions may vary from one offering of this course to the next. Please consult the course instructor for up to date details.

© The King's University
Maintained By Institutional Research