mshah.ioCourse ScheduleCourse Information
Register New Account


CPSC 4791/5791 Building Game Engines

Pragmatic and technical game development -- Your Instructor

Godot Game Engine
Tooling
The Game Loop!

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.

Week

Date

Lecture and Readings

Problem Sets

Note(s)

1

Wednesday, 2026-Sep-02
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 Sept. 13 Anywhere on Earth)

(Late Deadline Sept. 20 for up to 90%)
Welcome back to class!
Note: 1st PSET has extra time to accomodate students who add late. Students who add late still need to complete by the deadline shown.

1

Friday, 2026-Sep-04
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
-- --
Friday classes do not meet; Monday classes meet instead
Mike Presenting at DConf, lecture will be recorded

1

Monday, 2026-Sep-07
-- --
No Class; Labor Day

2

Wednesday, 2026-Sep-09
Module 4
D Language Review and Q&A
  1. rdmd
  2. Pointers
  3. Stack
  4. Heap
  5. Static
  6. Memory Mapped Files
  7. Procedural
  8. Object-Oriented
  9. Functional
  10. Generic
  11. Deque Data Structure
PSET 02 Released (Due Sept. 20 Anywhere on Earth)

(Late Deadline Sept. 27 for up to 90%)
Add/Drop Period closes Sept. 11 at 5:00pm ET

2

Monday, 2026-Sep-14
Module 5
SDL Basics: Dub Setup,SDL Basics,2D Primitives and Framerate
  1. Modules and Packages in D
  2. Compiling and Linking
  3. Introduction to SDL
  4. Introduction to Dub
  5. SDL Subsystems
  6. SDL Event Loop
  7. Basic Terminology of 2D Rendering
  8. Basics of 2D Rendering in SDL
  9. Frame Capping
  10. Frame Independent Movement
PSET 03 Released (Due Sept. 25 Anywhere on Earth)

(Late Deadline Oct. 02 for up to 90%)
-- --

3

Wednesday, 2026-Sep-16
-- --
Mike at CPPCON, Alvin will lead lecture

3

Monday, 2026-Sep-21
PSET 04 Released (Due Oct. 09 Anywhere on Earth)

(Late Deadline Oct. 16 for up to 90%)
-- --

4

Monday, 2026-Sep-28
PSET 05 Released (Due Oct. 09 Anywhere on Earth)

(Late Deadline Oct. 16 for up to 90%)'
-- --

5

Wednesday, 2026-Sep-30
-- --
-- --

5

Monday, 2026-Oct-05
-- --
-- --

6

Wednesday, 2026-Oct-07
PSET 06 Released (Due Oct. 18 Anywhere on Earth)

(Late Deadline Oct. 27 for up to 90%)'
-- --

6

Monday, 2026-Oct-12
-- --
Final Project Specification Out
Please do the in-class activity for your team survey -- this is graded!

7

Monday, 2026-Oct-19
Exam taken during class
Exam otherwise includes any other materials from lecture, slides, and homeworks.

8

Wednesday, 2026-Oct-21
-- --
October Recess

8

Monday, 2026-Oct-26
PSET 07 Released (Due Nov. 02 Anywhere on Earth)

(Late Nov. 09 for up to 90%)
-- --

9

Wednesday, 2026-Oct-28
-- --
Tentative Guest Speaker from XYZ company
I am expecting everyone enrolled to attend (the video will not be posted until after the exam).

9

Monday, 2026-Nov-02
-- --
-- --

10

Wednesday, 2026-Nov-04
PSET08(Due Nov. 11 Anywhere on Earth)

(Late Deadline Nov. 18 for up to 90%)
-- --

10

Monday, 2026-Nov-09
-- --

11

Monday, 2026-Nov-16
-- --
Complete the 'alpha' portion of your final project by end of day.

12

Wednesday, 2026-Nov-18
-- --
Mike presenting at Graphics Programming Conference in Europe -- class pre-recoreded

12

Monday, 2026-Nov-23
-- --
November Recess

13

Wednesday, 2026-Nov-25
-- --
November Recess

13

Monday, 2026-Nov-30
-- --
We will be checking for your 'beta' milestone deliverable two days after this lecture.

15

Wednesday, 2026-Dec-09
'Final project due Dec. XX 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 be Dec. XX from 6-8pm in Loria 250
Please do not redistribute or host any materials without e-mailing me first. Thank you for your time!