|
CS491J:
The Computer Science of Multiplayer Games
Building
on our success with Hi-Score, Ryan and I approached faculty in
the Computer Science department about creating a new course on
game development. We were fortunate to meet faculty member Brian
Levine (networking), and two graduate students: Brendan Burns
(artificial intelligence, graphics) and Aaron St. John (networking,
graphics), who were excited about the idea of a class.
The
five of us met every other week during the Fall 2004 semester
to plan the launch of the course for the following Spring. We
knew that progr amming
games would draw on skills we learned throughout the major, so
we wanted a course primarily for upperclassmen. We also knew that,
as students, cramming for tests never taught us as much as long-term
team projects, so we dispensed with tests and quizzes. The final
concept of the class combined assignments in AI, software engineering,
networking, game design, and graphics. In addition to these single-person
assignments, we wanted students to gain experience working in
teams and speaking in public. For this reason, we spent the second
half of the semester working on projects we chose, built on top
of a shared code base. Students chose projects as varied as a
sound engine, a menu system, and complete games. Simultaneously,
students took over the teaching of the course with each person
delivering two presentations based on his own research in game
development. At the end of the semester, many students commented
to me that this was the best course they've had. |