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