COMP-521B: Modern Computer Games
School of Computer Science
McGill University
Winter 2008
Exam: Friday April 18, 2pm - 5pm, LEA109. Open book.
Tuesday, Thursday: 10:05 - 11:25
ARTS W-25
Please consult Minerva for
the most up-to-date scheduling & classroom location information.
Clark Verbrugge
Office: McConnell, room 230
Office hours (Winter term): Tuesday 13:00-14:30, Friday 9:00-10:30, or by appointment.
Phone: 514-398-2411
Email: clump@cs.mcgill.ca
Nicholas Rudzicz
Office: McConnell, room 231
Office hours: MWF 10:30--11:30, or by appointment
Email: Nicholas.Rudzicz@mail.mcgill.ca
COMP-303 Programming Techniques or
COMP-361 Systems Development Project
(Pre or Co)-requisite:
COMP-557 Fundamentals of Computer Graphics (or permission of the instructor)
There is a non-trivial programming requirement;
ability to program in C (or C++) and Java will be required.
Note: students registering without the co- and pre-requisites may find the
course removed from their transcript by their Faculty. If you do not
have the official pre-requisites please see the instructor.
There is no required text for this course. Material
is based on a variety of academic papers and publications. Several texts
covering relevant topics have, however, have been placed on reserve in
the Schülich library; these are recommended to read, but are not required texts:
- Introduction to game development by
Steve Rabin (ed). General issues in game design; a collection of articles
on a series of game topics.
- Andrew Rollings and Ernest Adams on game design by
Rollings & Adams. This covers general, non-technical issues in game design.
- Game architecture and design by
Rollings. Basic game architecture.
- Developing games in Java by
Brackeen. Developing a game architecture in a Java context.
- Real-time collision detection by
Ericson. Detailed techniques for simple and advanced collision detection.
This course will give students a good understanding of modern computer
game design and implementation techniques. It covers a wide spectrum
of game aspects, focussing on components essential to or common in
popular computer game styles. Concepts are backed up by non-trivial
programming tasks that allow students to gain practical experience in
particular components of game implementation.
Note that computer graphics will not be covered in detail. Some knowledge of basic
graphics methods and techniques will be presumed (see co-requisite requirement).
The course is organized around a roughly historical introduction of
game components with increasing complexity. These progressively
introduce a) basic single-player, turn-based game design, b) graphical
and real-time elements, c) virtual world design and game AI, and d)
networking and multiple players. Major sections are each evaluated
through a significant programming project.
A detailed syllabus is available here.
4 Assignments/Projects: 60%
Midterm: 10%
Exam: 30%
Assignment descriptions and information will be posted here as term progresses.
Assignment and Exam Policy
Assignments must be submitted on time. Late assignments will only be
accepted in highly-exceptional circumstances and only with
written permission of the instructor. No assignment submissions will
be accepted after marked assignments have been returned, or after
solutions have been discussed in class.
McGill University values academic integrity. Therefore all
students must understand the meaning and consequences of cheating,
plagiarism and other academic offenses under the Code of Student
Conduct and Disciplinary Procedures (see
http://www.mcgill.ca/integrity for more information).
More specifically, work submitted for this course must represent your own
efforts. Copying assignments or tests, or allowing others to copy
your work, will not be tolerated. Note that introducing syntactic
changes into a copied program is still considered plagiarism.
The following (freely available) documents and sites may be of interest. Some articles are accessible for free only from McGill (or other subscriber), and some (like GamaSutra) require a free registration to access the articles. This list will be updated as the term progresses.
Pedestrian Simulation
Groups
Pathfinding
Physics
Perlin Noise
Mazes
Narratives
Players
Fun
Genre
General Books