Course Annoucement for Fall 2011

CS679: Computer Games Technology

image

Note: this course is being added at the last minute for the Fall of 2011

Instructor
Mike Gleicher
Time
2:30-3:45 MWF (note: Monday and Wednesday are required lectures, Fridays will have Tutorials, Demos, Labs, and other activities)
Prerequisites
CS559 (Computer Graphics) or consent of the instructor (see below)
Intended Audience
Students who are interested in how computer games work, how the technologies behind computer games (like high performance graphics and rich internet applications) may be applied to other things, and/or want the experience of working on a non-trivial project as a group from design through testing.
Workload This is a project intensive class. Over the course of the semester, you will build several non-trivial things. Most of it in groups ranging in size from 2-4. On the other hand, this is not purely a project class. There will be reading and other assignments, and you will be expected to demonstrate that you’ve learned the technical materials.
Many students tell me the class was a lot of work. Few complain.

One place to get an idea of what this course will be like is to look at the web pages from previous years: 2010, 2008, 2007. Some things will change. In particular, there will probably be a more organized web site than there was in the 2010 offering.

Overview

In general, this is a class about the software that goes into making games. Its about how computer games work and how to build them. Its not about how to play them, or why people play them, or …

Over the course of the years, the class has evolved into being more of a project-based experience to help students learn about how to design and build cool interactive systems. This means learning how to work on projects in a group, to think about practical issues like efficiency, and understanding design and usability is as much a part of the class as learning some fancy new graphics trick or AI technique.

This class is not focused on game design: we will spend some time discussing design (what makes a good game), since we need to understand games in order to really know how to make them (and to make good ones ourselves).

This class is an experiment. There are many things a class on “Game Technologies” could mean. There are many different “technologies” involved in interactive systems and games and many different ways to teach people about it. The idea here is to pick some of the software technologies that are used in interactive applications and games and some of the ways to learn about them, and see how they work out in a class setting.

During this class, we’ll pick topics related to games that are some combination of:

  • Things that people in the games industry have told me they think are valuable for students to learn in a class like this.
  • CS topics that I think are important for computer games.
  • Topics in art, design, and psychology that are important for designing good interactive systems.
  • While this class is not “graphics 2”, there will be an emphasis on graphics and animation techniques that apply to interactive things like games.
  • Projects that seem to be fun an interesting to do as part of a class like this.

If it sounds like I’m making this up as I go along, then you’ve read correctly.

A big part of this class is its project orientation: you will work on a pretty significant project as part of a team. You’ll get to see a project go from the initial design stages all of the way through testing. Experience working as part of a team and following through on projects is something that is valuable (for example if you’re looking for a job).

According to the Course Catalog:

Survey of software technology important to computer games and other forms of interactive technology. Real-time image generation, managing complex geometric models, creating virtual characters, simulating physical phenomenon, networking technology for distributed virtual environments.

Who can take it?

The official prerequisite is CS559 (Computer Graphics) – but I am open to the idea that some people have learned equivalent material on their own, so if you’re “self-taught” you should contact me. Having taken a graphics class is useful because many of the “technologies” we discuss are graphics related (animation, shaders, …).

If you really want to take this class, but have no graphics experience, please come talk to me. We might will be able to work something out.

If you’re an art/design/education/… student who has a strong interest in game technology, we might be able to accomodate you. CS679 is targeted towards CS students who are experienced programmers – but if you have different (but relevant) skills, we might be able to adapt the class for you. You might need to sign up under a different number. Please contact Prof. Gleicher to discuss it.

When does this get offered?

Unfortunately, I cannot be sure when this class will be offered again. Basically, it gets offered if and when there are enough people to cover all of the other classes that need to be taught. Sometimes, we only find the opportunity to have a class covered at the last minute, which frees someone to teach this.

Right now, there is no plan to teach the course in Spring 2012. But surprises happen. There is a chance the course might be taught Fall 2012 or Spring 2013. But this depends on a number of unpredictable factors, like hiring, sabbaticals, demand for other courses, …

I am sorry that I can’t give a more definite answer, or offer this course on a regular schedule. At least we get to offer it period.

Comments on this entry are closed.