Game Programming

CSCI 3213 - Spring 2026

Instructor: Bobby Reed | Oklahoma City University

🎮 Course Overview

Welcome to Game Programming! This course teaches professional game development using Unity 2021.3.45f2 LTS and C# with industry-standard design patterns. You'll build Blade Racer (guided class project) while learning 13 essential design patterns, then create your own Unity game in our workshop-based second half.

Course Information:

Two-Phase Learning Model:

📚 Course Literature & Resources

📅 Course Schedule - Spring 2026

🎮 Phase 1: Unity Patterns - Intensive Learning

Weeks 2-9: January 20 - March 12 | Build Blade Racer & Master 12 Core Design Patterns

Lecture 2
Singleton Pattern
📅 Tuesday, January 20
Generic Singleton<T> implementation, Game Manager pattern, DontDestroyOnLoad persistence
Creational Pattern
Lecture 3
State Pattern
📅 Thursday, January 22
Finite State Machines (FSM), BikeController states (Stop/Start/Turn/Crash), Context and IState interface
Behavioral Pattern
Lecture 4
Event Bus Pattern
📅 Tuesday, January 27
Publish-subscribe architecture, RaceEventBus implementation, UnityEvent dictionary, decoupling game systems
Service Pattern
Field Trip
Motion Capture Day
📅 Thursday, January 29
Field trip to the motion capture lab. Experience professional motion capture technology used in game development and film production.
Lecture 5
Command Pattern
📅 Tuesday, February 3
Encapsulating actions as objects, recording and replay systems, Invoker and Command structure
Behavioral Pattern
Lecture 6
Object Pool Pattern
📅 Thursday, February 5
Unity 2021+ ObjectPool<T> API, drone spawning and recycling, performance optimization, garbage collection benefits
Creational Pattern
Lecture 7
Observer Pattern
📅 Tuesday, February 10
One-to-many relationships, Subject-Observer structure, BikeController → HUD/Camera/Audio notifications
Behavioral Pattern
Lecture 8
Game Project Planning Day
📅 Thursday, February 12
Planning session — reflect on Blade Racer patterns, introduce the game project requirements, and map out your personal game using all but 2 of the 13 patterns
Lecture 9
Visitor Pattern
📅 Tuesday, March 3
Power-up system implementation, double dispatch technique, adding operations without modifying classes
Behavioral Pattern
Lecture 10
Strategy Pattern
📅 Thursday, March 5
Enemy drone AI behaviors, three attack maneuvers, interchangeable algorithms at runtime
Behavioral Pattern
Lecture 11
Decorator Pattern
📅 Tuesday, March 10
Weapon system with upgrades, weapon attachments (Injector, Stabilizer, Cooler), dynamic capability extension
Structural Pattern
Lecture 12
Spatial Partition Pattern
📅 Thursday, March 12
Level editor optimization, grid-based collision detection, stack-based segment loading, performance for large worlds
Structural Pattern

📝 Midterm Exam

Tuesday, March 24, 2026 | 12 core design patterns + Blade Racer implementation