Computer Games (Graduate level), Fall 2009
719 Broadway, Rm 1221
Wednesdays at 5pm-6:50pm

Office hours: Tuesday, 4-5pm

Text: Class notes (so make sure you come to class!), will be posted on-line after each lecture.




Course description:

This will be an intensive course in which you will learn principles of game design by studying well designed existing games, and implementing original games.

You will be implementing lots of games this semester, so be prepared to work and to keep up with the class. Generally there will be an assignment every week. If you have a heavy course load in other classes, you might want to consider not taking this class.

Also, you are expected to do your own programming, so don't take this class if you are a weak programmer.

At the start of the semester you will be working individually, but for most of the remainder of the course you will be working in teams, with each team member taking on rotating roles of game design, art direction and evaluation. We will be using the XNA game design platform for most of the course.

Evaluation is an essential part of game design. A game is not complete unless people other than yourself can play it successfully without you standing over their shoulder telling them what to do. Achieving this goal can be harder than you might think. For this reason, a significant portion of your work this semester will consist of learning how to properly evaluate games, and then how to iterate design based on that evaluation.

We will have a particular focus during this semester on games that teach something. This constraint will help you to create an objective evaluation function for the clarity and success of your game designs.

September 9:

Your assignment for next week, as we said in class, is to make a fun original game in XNA. For this assignment, it should be a 2D game - not a 3D game. Make sure you include a method for keeping and showing a score, and a clear "win" state - so that it's a game, not merely an activity.

Remember, good use of audio helps enormously.

Make something fun and cool that expresses your passion. It's ok to impress me. :-)

Instructions for getting started in XNA

One source (of many) for fun .wav sound files

For reference, here is the little game I showed in class. Use it as a guide to see how to load and use images, sounds and fonts. Don't make your game look like this one!

Important: Next week (Sept 16) the class will be meeting at the Fourth Street Academic Technology Center & Advanced Media Studio, 35 W 4th St, 2nd Floor.

Here is a tip from one of the students in the class, Alec Jacobson, for those of you with Macs, so that you can run XNA:

Thanks for putting up the link to parallels for mac on the class site. I wanted to let know that there exists a student price (somewhat hidden on the parallels site), which is only $39.99. That's $40 less than the full price of $79.99. All you need is an email address that ends in nyu.edu. Here is the link on the parallels site: http://www.parallels.com/landingpage/studentpack/

Perhaps others will find this useful if it's not too late.


September 16:

We had a joint meeting with Jan Plass' class in Simulations & Games for Education

I've been enjoying looking through your initial games. Many fun and creative game ideas!

Note: Talk by Noah Wardrip Fruin at 6pm on Thursday, September 17: 721 Broadway, lower level. This is a talk you shouldn't miss, if you can make it. Noah Wardrip-Fruin is particularly interested in fiction and playability and is the author of "Expressive Processing: Digital Fictions, Computer Games, and Software Studies."

Assignment that will be due September 23:

This week's assignment will be about design, not implementation. Your design document (please make it in pdf format) needs to be sent to me before class time on Wednesday September 23.

The goal will be to create a design for a fun and engaging game that also teaches something.

For Wednesday, September 23 I would like you not to implement a game in XNA, but rather to do a paper design for a game (although your "paper" design will need to be in a pdf document so you can send it to me).

We are going to use the question of learning math as a way to focus game design ideas, and to help in assessing whether the games we design are working.

In your design, I want you to create a game out of a challenge posed by least one question on this sample test from the 8th Grade NY State Testing Program:

Mathematics, Book 1
Mathematics, Book 2

We will be going back to this sample test (and others) throughout the semester as a source of ideas for game design.

The purpose of this week's assignment is to separate out game design from game implementation, and to learn how to develop, communicate and refine your game ideas as a design document.

Here's what you need to do:

You don't need to exactly duplicate the test question. Rather, I want you to think about what skill the question is aiming to impart. Then design a game that will lead to its player improving at that skill. The question you should be asking yourself is:

"After someone plays my game, will they do better at answering a question like this test question?"

In class we will go over these game designs, and will critique them together (and you will have a chance to modify and refine them) before moving on to implementation.

September 23 → 30:

To reiterate what I said in our September 23 class, for Wednesday September 30 I would like you to present your favorite game of all time, and to describe why it is your favorite game.

While the presentation of your favorite game is the main thing for this week, you should also try to implement some aspects of the game design you presented at our last class. This implementation is more for your own practice, so that you have a chance to learn more about working with XNA.

For your presentation of you favorite game, focus on describing the game genre it fits in, and what you like about the game and why you think it works. Ie: why is it fun? Why is it compelling to play? What other games are in this genre, and why is this one better than those other games? Try to illustrate your points by showing examples from the game of what you mean - you could do that via screenshots if you like.

Plan to use your own laptop computer if you can. If you can't do that for any reason, let me know before class. Plan to take five minutes for your presentation.

If you would also like to show any work on implementing the game idea you presented last week, you can take up to one additional minute to show that.

September 30 → October 7:

The October class will be back at 35 W 4th St, 2nd floor, as it was several weeks ago. In this phase you will be working with Professor Jan Plass' class, and will be forming into groups with them to create game designs together. Before class you should contribute game design ideas by following the instructions that follow.

(1) Log onto Alex.nyu.edu (to do this properly you will need to give your netId to Charles, as we said in class, in order to be registered).
(2) Once you are logged in, click on the Membership tab on the left.
(3) Click on E19.2176.001.FA09.
(4) Click on the Forums tab on the left, and follow the instructions.


Preparation for Wednesday Games Class

Hi all,

As a reminder, tomorrow's class will take place in the Mac Lab on the second floor of the Education Building, 35 W 4th St. - the same place where we all met for class on Sept. 16.

The main goal of this class meeting is to (1) review the design process of games in general, and educational games in particular, and (2) form project teams with members from both classes (Ken Perlin's CS class and Jan Plass' ECT class) that will collaborate on the design of an educational game.

In order to prepare for this class, we have set up a forum on alex.nyu.edu where you can post your ideas. Please do the following before class Wednesday:

  • visit alex.nyu.edu, log in with your NYU user id / pwd

  • review postings in: Forums / Group project ideas / Thread For Ideas

and either add a posting with your own idea or respond to one that you like or that seems close to what you had in mind. Be sure to include the overall project idea, the (math or science) topic you want to cover, the age group you want to design for, and the main gaim mechanics and game type (puzzle, platform, adventure, ...) you envision.

Please let me know if there are any questions,

Jan Plass

October 21

Class on October 28 is at the Mac Lab on the 2nd floor of the Education Building, 35 W 4th St. In this class we work with Prof. Jan Plass's class on presenting joint project ideas.

October 28

Your assignment for Wednesday, November 4 is to take all of the excellent suggestions that you posted to each others games, and use them to iterate on the game that you created for the previous assignment. In class you will have a chance to present your revised game to the class. To create a new updated version, you can keep the same game name, but you need to supply a different URL (eg: a different parallel folder in the same parent directory). Also, a reminder about a great talk about game design by innovative game designer Clint Hocking, Thursday evening at 6pm: http://www.nycgameindustry.com/nyu-game-center-lecture-series-clint-hocking/

November 4

For Wednesday, November 11 I want you to create a narrative game. I realize that this assignment is taking many of you out of your comfort zone, and that's the point - the goal is to think about interaction with the player in a different way.

A good way to proceed is to start with a story. It can be a very simple story, like "The boy went to the store. He was pretending he wanted to buy an orange juice, but he was really going to see the girl he liked, who worked there. When he got there he was too shy to talk to her."

You can see even in the above narrative, despite its simplicity, many opportunities for alternate narratives. Each alteration changes the psychological landscape in interesting ways. For example, maybe he does get up the courage to talk to her. Maybe she refuses to talk to him. Maybe she's with another guy when he gets there. Maybe he's so shy he goes to another store instead. Maybe at that other store he meets another girl.

If you start with a simple narrative and think of these types of alternatives, you will see interesting points for controlled intervention by the user.

Try to incorporate some sort of reward or scoring structure. What would it mean to win such a game - or to lose? Can it be either competitive or cooperative for two players?

If you get stuck, try something simple, and build from there.

November 11

As we discussed in class, for next week (Nov 18) you need to do three things:

By next class, see if you can come up with a playable, even if simple, version of your game. As usual, I recommend you show it to people you know other than yourself, and ask them to play it, without telling them how. That will provide an important measure of discoverability.

Also, next week we will spend the first hour going over progress on your group games. Be prepared to present where you are on those, so we can discuss strategies and how to get around obstacles you may have encountered.

Finally, don't forget about the G4LI Game Design Challenge. You can adapt both individual and group games to that challenge - but be sure to read the instructions for entry about educational content.

November 18

This week you each showed your group games and we discussed directions each group game might go, moving forward. In addition, we discussed the revised narrative games.

I pointed out (and I reiterate here) that you should feel free to continue to work on any game you've made this semester. As Yogi Berra might have said, had he gone into academia instead of baseball, the semester ain't over 'till it's over.

For next week (November 25) I've asked you to create a cooperative game for two or more players. I would prefer you just try to stick with a two player game, unless you have an absolutely fabulous idea that demands more than two players. The reason for this is that I don't want you to get distracted by the added complexity of game design for three or more players - I'd rather you turn in a completed game.

If you want to use xna.network to make a game that runs on two computers, feel free, but it's really ok to design a game that two players play on one screen. As Murphy pointed out in class today, some genres of game are so engaging that each player won't have time to look at the other side of the screen anyway.

Also, if you want to use two game controllers that's ok, but it's also ok if, say, you have one player use the mouse and the other use the keyboard, or one player use a game controller and the other use a mouse, or have the two players use the left and right sides of the keyboard, respectively.

What is essential is that you have the two players work cooperatively, completing game levels together on the same side, rather than in opposition to each other.

November 25

People who weren't already on airplanes showed their cooperative games. If you haven't already gotten your cooperative game up on-line, please do so very soon.

After looking at the games, we discussed the nature of cooperative gameplay, and symmetric versus asymmetric cooperative games (ie: games in which the two players essentially have the same role, versus games in which they play essentially complementary roles).

Some of the games made by the class fell into each of these categories. Two popular solutions to the asymmetric game mechanic were what might be called, respectively:

  1. builder and explorer - one player builds a world, and the other player navigates through that world, and

  2. navigator and gunner - one player navigates an avatar through the world and the other player controls tasks that the avatar much perform from its current position.
In both cases, in a fully developed game, the first player would be charged with understanding how skilled is the second player, and building or navigating in a way that maintains the right level of challenge.

Clearly this idea would generalize to a multiplayer game mechanic that contains builders, navigators and gunners (or, in the last case, a more pacifist equivalent role).


For the remainder of the semester, please continue to work on and refine your individual games as you see fit. I will e looking over all of them after December 17. Meanwhile, the major class focus for the next three weeks will be on the group games. Here is the schedule:

Wednesday December 2 Workshop - students from my class and Jan Plass will meet from 5pm-7pm on the 2nd floor of 35 W 4th St, to work on your group projects together.
Wednesday December 9 You will present your group projects in class on the 2nd floor of 35 W 4th St.
Thursday December 17 you will have an opportunity to refine your final projects for another week, and then to show them from 7pm to 9pm at the Computer Science Fall 2009 Showcase in the 13th floor common area at 251 Mercer St (Warren Weaver Hall).

Also, remember that the deadlines for the Game Design Challenge (where you can win a prize for building the best learning game) are DECEMBER 5 (to register your entry) and DECEMBER 12 (to submit the final version of your game). I encourage you to enter this contest. All of the info is at http://g4li.org.