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 |
|