Lecture Archive

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

Lecture 1 › Development Process
The first lecture an overview of the development process we will use in this class. We will use a simplified Scrum model, with deliverables organized into two week sprints.   Details ›

January 24, 2022 slides no demos
Lecture 2 › 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 26, 2022 slides no demos
Lecture 3 › 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 28, 2022 slides no demos
Lecture 4 › 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 31, 2022 slides no demos
Lecture 5 › 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 ›

February 2, 2022 slides no demos
Lecture 6 › 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 ›

February 4, 2022 slides no demos
Lecture 7 › 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 7, 2022 slides no demos
Lecture 8 › 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 9, 2022 slides demos
Lecture 9 › 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 11, 2022 slides no demos
Lecture 10 › 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 14, 2022 slides demos
Lecture 11 › 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 16, 2022 slides no demos
Lecture 12 › Data-Driven 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 18, 2022 slides demos
Lecture 13 › Sprite Graphics
This is the first of three lectures focused on computer graphics. This 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 25, 2022 slides no demos
Lecture 14 › 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 ›

March 2, 2022 slides demos
Lecture 15 › Color and Texture
In the last of the three graphics lectures, we go a little lower level and talk about graphics primitives. We address how color works, and how you use images to do more than just display a sprite on the screen.   Details ›

March 9, 2022 slides demos
Lecture 16 › Game Memory
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 11, 2022 slides demos
Lecture 17 › 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 14, 2022 slides no demos
Lecture 18 › 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 16, 2022 slides demos
Lecture 19 › Level Design
After several programming lessons, it is time to return to design. With alpha release around the corner, we need to talk about how we do proper level design.   Details ›

March 18, 2022 slides no demos
Lecture 20 › Character Behavior
When people think about game AI, character behavior is the thing that they usually think of first. How do we control NPCs to move and act without any input?   Details ›

March 23, 2022 slides no demos
Lecture 21 › Sensing & Perception
Sensing is the most expensive part of the sense-think-act cycle. In this lecture we show how to optimize this part of the process, so that we can increase the complexity of our NPC behavior.   Details ›

March 25, 2022 slides no demos
Lecture 22 › Pathfinding
We return to game programming with a multi-video sequence of game AI. Are first topic is on pathfinding, which is the process of using AI algorithms to move your game characters about the terrain.   Details ›

March 28, 2022 slides no demos
Lecture 23 › Strategic Planning
In the last lecture on AI, we move away from simulating individual characters and talk about how we would simulate another player. This is the AI that is necessary for complex strategy games.   Details ›

March 30, 2022 slides no demos
Lecture 24 › Player Testing
Playtesting doesn’t seem like something we need a lecture for. We have been doing all semester long. But there is a science to it, and we want you to get a little more formal in the final playtesting sessions.   Details ›

April 15, 2022 slides no demos
Lecture 25 › Game Audio
Simple audio in LibGDX is pretty straight forward if you look at the code demos. But as we show in this lecture, a proper game engine should be able to do so much more, provided that you understand how game audio works.   Details ›

April 18, 2022 slides no demos
Lecture 26 › Storytelling
Some of people think of storytelling as the heart of game design. But other people disagree and say that games do not need story. In this lecture we address this controversy and talk about the role of story in games.   Details ›

April 20, 2022 slides no demos
Lecture 27 › Dialogue
Dialogue is the primary story vehicle in commercial, story-based games. As we see in this lecture, it is also the focus of some of the most interesting innovations over the past several years.   Details ›

April 22, 2022 slides no demos
Lecture 28 › The Industry
We end the semmester talking about the game industry and how to make a career in this space. This lecture is honest, so be prepared for some tough talk.   Details ›

May 2, 2022 slides no demos