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. 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 ›
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 talk about shape and geometry, and how to 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 ›
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 ›