mshah.ioCourse ScheduleCourse Information


CPSC 411/511 Building Game Engines

Pragmatic and technical game development -- Your Instructor

Godot Game Engine
Tooling
The Game Loop!

Quick Links | Piazza Course Forum |

Schedule/Road Map

The following is our tentative syllabus for the course, changes should be expected throughout the semester. I will announce in class, piazza, or through e-mail any major changes.
WeekDateLecture and ReadingsProblem SetsNote(s)
1 2025-Jan-14
Module 1 - Administrivia | Games and Game Engines
  1. Administrivia and Course Logistics
  2. What is a Game and a Game Engine?
  3. Programming Language Choice
  4. Why Build a Game Engine?
  5. Obtaining the course repository
PSET 01 Released (Due Jan. 23 Anywhere on Earth)

(Late Deadline Jan. 30 for up to 90%)
Welcome back to class!

Note: 1st assignment has extra time to accomodate students who add late.
1 2025-Jan-16
Module 2 - Game Genres, Game Applications, and Game Loops
  1. Game vs Game Engine
  2. Game Genres influence on Game Engine Design
  3. Game Loop
  4. Game Application
-- --
-- --
2 2025-Jan-21Module 3 - (Tentative) D Language Review with Game Patterns
PSET 02 Released (Due Jan. 30 Anywhere on Earth)

(Late Deadline Feb. 6 for up to 90%)
-- --
2 2025-Jan-23Module 4 - Modules, Packages, Libraries, Linking, and Introducing SDL
-- --
Add/Drop Period closes Jan. 22 at 5:00pm ET
3 2025-Jan-28Module 5 - SDL Basics 1: 2D Graphics Programming
PSET 03 Released (Due Feb. 8 Anywhere on Earth)

(Late Deadline Feb. 15 for up to 90%)
-- --
3 2025-Jan-30Module 6 - SDL Basics 2: Frame rate and Basic Collisions
-- --
-- --
4 2025-Feb-04Module 7 - SDL Basics 3: Handling Data
PSET 04 Released (Due Feb. 13 Anywhere on Earth)

(Late Deadline Feb. 20 for up to 90%)
-- --
4 2025-Feb-06Module 8 - Tiles: Sprite Animation, Fonts, and Tilemaps
-- --
-- --
5 2025-Feb-11Module 9 - 2D Game Math 1
'PSET 05 Released (Due Feb. 20 Anywhere on Earth)

(Late Deadline Feb. 27 for up to 90%)'
-- --
5 2025-Feb-13Module 10 - Game Math 2 - Coordinate Systems, Trigonometry, and Vectors
-- --
-- --
6 2025-Feb-18Module 11 - Collision, Game Object, Component System, and Entity Component Systems
PSET 06 Released (Due Feb. 27 Anywhere on Earth)

(Late Deadline Mar. 6 for up to 90%)
-- --
6 2025-Feb-20Module 12 - Hierarchical Transformations (Game Math 3)
-- --
-- --
7 2025-Feb-25Module 13 - Scene Management
Online exam released on canvas Feb. 25 at 6:00pm EST

PSET07(Due Mar. 6 Anywhere on Earth)

(Late Deadline Mar. 13 for up to 90%)'
Brief Study Guide. Exam otherwise includes any other materials from lecture, slides, and homeworks. You must finish the exam in one sitting (i.e. when you open the exam, your time starts)
7 2025-Feb-27Module 14 - Engine Support Systems 1 - Serialization and D Language Templates
Online exam due on canvas (Exam due Mar. 7 Anywhere on Earth which is precisely Mar. 8 at 8AM EST)
-- --
8 2025-Mar-04Module 15 - Engine Support Systems 2 - Resource Managers and File Systems
-- --
-- --
8 2025-Mar-06Module 16 - Engine Support Systems 3 - Gameplay Systems & Scripting
PSET08(Due Mar. 28 Anywhere on Earth)

(Late Deadline Nov. Apr. 4 for up to 90%)
Mid-semester date (October 25)
9 2025-Mar-11Module 17 - No Class
-- --
Spring Recess
9 2025-Mar-13Module 18 - No Class
-- --
Spring Recess
10 2025-Mar-18Module 19 - No Class
-- --
Spring Recess - Mike at GDC, may be slow to respond to e-mail
10 2025-Mar-20Module 20 - No Class
-- --
Spring Recess
11 2025-Mar-25Module 21 - Final Project Team Formation and Engine Study
PSET09(Due Apr. 13 Anywhere on Earth)

(Late Deadline Apr. 20 for up to 90%)
Final Project Specification Out

Sample of Previous Year Final Projects
11 2025-Mar-27Module 22 - Game Audio
-- --
-- --
12 2025-Apr-01Module 23 - Reserved for Tentative Industry Guest Speakers / or work day
-- --
Mike Tentatively traveling to ACCU Conference; class will be pre-recorded or asynchronous remote
12 2025-Apr-03Module 24 - Physics, Spatial Partitioning, and Culling
-- --
Mike Tentatively traveling to ACCU Conference; class will be pre-recorded or asynchronous remote
13 2025-Apr-08Module 25 - Gameplay Systems and Object Pools
-- --
-- --
13 2025-Apr-10Module 26 - Devices, GUI, and Command Pattern
-- --
-- --
14 2025-Apr-15Module 27 - 2D Rendering Techniques
-- --
-- --
14 2025-Apr-17Module 28 - Systems programming - Parallelism/Concurrency
-- --
-- --
15 2025-Apr-22Module 29 - Work day/Flex day and brief intro to SIMD
-- --
-- --
15 2025-Apr-24Module 30 - Course Wrap up and work day
'Final project due May. 1 at noon ET. (Note: No extensions for final project; 10% late penalty every day project is late)
Last official day of class :(

Final Project presentations will tentatively be Thr. May. 1 from 4-6pm in ???
Please do not redistribute or host any materials without e-mailing me first. I generally am happy to share the latest .pdf or slide presentation with those who ask. Thank you for your time!