CS/INFO 3152: Introduction to Computer Game Development

Lectures

Additional readings will be added as the semester progresses. Please check back here before each lecture for the current readings, both required and optional.

We will also make the lecture slides available shortly before each class. Be warned, however, that because of the way that lectures are run in this course, the slides will not be self-contained. They are provided as an aid to help you understand the lecture, but are in no way a replacement for the lecture.


Lecture Topic Additional Materials Date
Lecture 1 Overview
Development Process
Required:
  • Fullerton, Chapter 1
01/23/19
Lecture 2 Nature of Games Required:
  • Fullerton, Chapter 6
  • What is a Game? (Extra Credits, Season 7)
01/25/19
Lecture 3 Design Elements Required:
  • Fullerton, Chapter 3
01/28/19
Lecture 4 Game Components Required:
  • Fullerton, Chapter 2
01/30/19
Lecture 5 Rules and Mechanics Required:
  • Fullerton, Chapter 5
Optional:
  • Rules of Play, Chapters 12 and 14
02/01/19
Lecture 6 Uncertainty and Risk Optional:
  • Rules of Play, Chapters 15 - 17
02/04/19
Lecture 7 Economies and Balance Required:
  • Fullerton, Chapters 10 & 11
Optional:
  • Adams on Resources
02/06/19
Lecture 8 Prototyping Required:
  • Fullerton, Chapters 7 & 8
Optional:
  • Visibility Prototype
  • Bezier Prototype
  • Steering Prototype
02/08/19
Lecture 9 Gameplay Modeling   02/11/19
Lecture 10 Game Loop   02/13/19
Lecture 11 Architecture Design Required:
  • Design Patterns
  • Class-Responsibility-Collaborator Models
  • UML Activity Diagrams
Optional:
  • Laboratory for Object-Oriented Thinking
02/15/19
Lecture 12 Memory Management Required:
  • Memory Pool Demo
02/22/19
Lecture 13 Data-Driven Design Required:
  • Tile-Based Game Techniques
Optional:
  • JSON Demo
  • Blades of Avernum Editor
  • Blades of Avernum API
02/27/19
Lecture 14 Graphics: Sprites Required:
  • Spritebatch, Textureregions, and Sprites
Optional:
  • Affine Transformations
03/06/19
Lecture 15 Graphics: Perspective Required:
  • Axonometric Projections in Games
Optional:
  • Isometric Animation Demo
  • Avernum Isometric Tile Set
  • Tiled Terrain Example (Illustrator)
  • Parallax Scrolling
03/08/19
Lecture 16 Graphics: Color & Textures Optional:
  • Meshes
  • Vertex Demo
03/11/19
Lecture 17 Physics in Games Optional:
  • Rigid Body Dynamics
  • Essential Math for Games Programmers
03/13/19
Lecture 18 Box2D Physics Required:
  • Forces and Impulses
  • Using Fixtures
Optional:
  • Collision Handlers
  • Box2D Demo
03/15/19
Lecture 19 Character AI Required:
  • Handling Complexity in the Halo 2 AI
Optional:
  • Animation State Machines
  • 2D Animations in Unity
03/20/19
Lecture 20 Optimizing Behavior Optional:
  • Thief (1998) Gameplay Video
  • Building an AI Sensory System
03/22/19
Lecture 21 Pathfinding Required:
  • A* Pathfinding for Beginners
Optional:
  • Steering Behaviors (applets)
  • Toward More Realistic Pathfinding
03/25/19
Lecture 22 Strategic Planning Required:
  • An Exhaustive Explanation of Minimax
03/27/19
Lecture 23 Player Testing Required:
  • Fullerton, Chapter 9
  • Testing Design with Users
  • Cognitive Walkthrough
04/12/19
Lecture 24 Level Design Required:
  • Fullerton, Chapter 4
  • Reverse Design: Super Mario World
Optional:
  • No Twinkie For You (Bad Design)
04/15/19
Lecture 25 Story Design   04/17/19
Lecture 26 Dialogue Optional:
  • Dialog File from Avernum 6
  • Drama Manager in Façade
04/19/19
Lecture 27 The Industry Required:
  • Fullerton, Chapter 15
Optional:
  • Writing Indie Games Is Like Being a Musician
04/29/19
Lecture 28 Audio Design   05/01/19
Lecture 29 Networking Required:
  • Client-Side Prediction
Optional:
  • Introduction to Networked Physics
05/03/19