Lecture Archive

Click on a title to see the reading and course material.

Lecture 1 › Nature of Games
The definition of a game (and what does-and-does-not count as a game) is a highly controversial topic. While this lecture does not resolve this controversy, it does give you some understanding of the basic issues.   Details ›

January 21, 2026 slides no demos
Lecture 2 › Design Elements
Before you propose your game idea, you need to understand the basic design vocabulary we will be using. Otherwise, you are very likely to pitch a narrative that does not have a clearly defined ludic focus.   Details ›

January 23, 2026 slides no demos
Lecture 3 › Game Components
As you begin work on your game, understand that not everyone will be programming. In this lecture we show how we devide up game development to take advantage of your multidisciplinary team.   Details ›

January 26, 2026 slides no demos
Lecture 4 › Rules and Mechanics
Before you start to program your game, you need a better understanding of how it is actually played. In this lecture we take a deeper look at how game mechanics work. This is the first of a series on rules.   Details ›

January 28, 2026 slides no demos
Lecture 5 › Uncertainty and Risk
In our second lecture on game mechanics, we look at the nature of uncertainty and risk. While it is fine to have randomness in your game, it should be handled appropriately.   Details ›

January 30, 2026 slides no demos
Lecture 6 › Economies and Balance
in our final lecture on game mechanics, we address the issue of game balance. In particular, we show it is tightly connected to your game economy.   Details ›

February 2, 2026 slides no demos
Lecture 7 › Prototyping
It is time to start thinking about how to implement your project. In this lecture, we talk about how to take this big project and break it up into smaller prototypes.   Details ›

February 4, 2026 slides demos
Lecture 8 › Gameplay Modeling
The first major deliverable of the course is the nondigital prototype. In this lecture we talk about how to model a digital game without using software.   Details ›

February 6, 2026 slides no demos
Lecture 9 › The Game Loop
Game development often involves the creation of a lot of specialized software. But the most important elementis the game loop. This infinitely running loop is what animates the characters and makes the game responsive to player input.   Details ›

February 9, 2026 slides no demos
Lecture 10 › Architecture Design
Your teams have a lot of programmers on them. How do you divide up work and make sure that everyone is productive? The secret is designing your software architecture before you start to code. That is the subject of this lecture.   Details ›

February 11, 2026 slides no demos
Lecture 11 › Data-Focused Design
One of the more unexpected features of your game is the level editor, which is due as part of alpha release. In this lecture, we talk about why this is an important part of game development.   Details ›

February 13, 2026 slides demos
Lecture 12 › Sprite Graphics
This is the first of three lectures focused on computer graphics. These lectures are designed to be useful to both programmers and designers. In this lecture we talk about how to draw a 2d image on to the screen.   Details ›

February 23, 2026 slides no demos
Lecture 13 › Perspective
In the second of the three graphics lectures, we focus more on the designers. This time we address the issue of perspective, and show how focusing on 2d makes this a nontrivial design choice.   Details ›

February 25, 2026 slides demos
Lecture 14 › Geometry and Texture
In the last of the three graphics lectures, we go a little lower level and talk about graphics primitives. We talk about shape and geometry, and how to use images to do more than just display a sprite on the screen.   Details ›

March 2, 2026 slides demos
Lecture 15 › Memory Management
Even though you are working in Java, you must pay attention to memory usage in your games. Indeed, as we show in this lecture, memory usage is even more critical when working in Java.   Details ›

March 6, 2026 slides demos
Lecture 16 › Game Physics
Game physics can get really complex, so fortunately we have physics engines to help us with all the hard parts. But before we learn how to use a physics engine, we first need to understand the big picture.   Details ›

March 9, 2026 slides no demos
Lecture 17 › box2d
Box2d is the primary physics engine for 2d games (even though this is the result of a historical accident). In this lecture we discuss its features and show how to use it effectively.   Details ›

March 11, 2026 slides demos
Lecture 18 › Pathfinding
We start our sequence of AI lectures talking about pathfinding. This is the process of using AI algorithms to move your game characters about the terrain.   Details ›

March 13, 2026 slides no demos