COMP-521: Modern Computer Games

School of Computer Science
McGill University
Winter 2012


Exam: Wednesday, April 18, 9am, in Trottier 1100

Time and Place

Monday, Wednesday: 13:05 - 14:25
ENGTR 2100
Please consult Minerva for the most up-to-date scheduling & classroom location information.

Instructor

Clark Verbrugge
Office: McConnell, room 230
Office hours (beginning January 11, 2012): Wednesday 10:30-12:00, Friday 9:30-11:00, or by appointment.
Phone: 514-398-2411 but don't call me, use email
Email: clump@cs.mcgill.ca

Teaching Assistant

Chris Dragert
Office: MC-322
Office hours: Tuesday 14:30-16:00, Thursday 10:00-11:30
Email: chris.dragert@mail.mcgill.ca

Pre-requisites

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.

Text

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:

Course Overview/Objectives

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).

Course Syllabus

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 can be found here.

Evaluation

4 Assignments/Projects: 60%
Midterm: 10%
Exam: 30%

Assignments

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. In accord with McGill University's Charter of Students' Rights, students in this course have the right to submit in English or in French any written work that is to be graded.

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.

Online Resources

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) may require a free registration to access the articles. This list will be updated as the term progresses.

Multiplayer

Procedural Generation and Balance

Pedestrian Simulation

Groups

Pathfinding

Physics

Perlin Noise

Mazes

Narratives

Players

Fun

Genre