CSCI 171: Introduction to Game Design and Development
Spring 2010 Course Outline

This document is available at url: csciun1.mala.bc.ca:8080/~wesselsd/courses/csci171/outline.html

Calendar Description

CSCI 171 (3) Introduction to Game Design and Development

    An introduction to the principles and practices of modern game development using current game development languages, libraries, and tools. Intended as a practical introduction for CS majors and non-majors alike. Student projects will include the development of small but complete games, including audio and graphical components and effects. (3:0:1)
Pre-requisite: None

Course Motivation and overview

This course is intended to give interested students an introduction to the concepts, practices, and processes used in the design of computer games, along with some experience with programming tools and techniques for game development. The only pre-requisite is an interest in computer games and gaming.

A substantial portion of the course mark will be based on a game design project, in which students will develop a game proposal and design document and either implement a proof of concept (for students interested in the programmatical aspects of game development) or substantially expand their game design and supplementary materials (for students wishing to concentrate on the design/conceptual aspects of game development).

Theoretical topics will be discussed in the lectures, while the weekly labs will guide the students through the use of tools and programming techniques necessary to create and deploy fully functional games.

The labs themselves will focus on the use of open source tools in a linux environment. In particular, the students will get an introduction to the Python programming language and its PyGame extension.

A more detailed topics list is included in the Topics and Schedule section below.

Contact information, materials

Timetable and assessment

The Project

One of the most important components of the course is the Game Project, involving the design, development, and demonstration of a game that is the student's own creation. Students can work on their project individually or in pairs, but must pass the project to pass the course.

Equipment requirements

Labs/Tutorials

You must be enrolled in, and fully participate in, the weekly lab sessions. During these session the students will apply the concepts discussed in lectures to their own game projects (using graphic/sound editing tools to create game effects, learning and applying Python/PyGame programming techniques, documenting and describing their game design, storyboarding, creating game installers, etc.).

Certain lab sessions will have an associated set of exercises and deliverables, which must be completed and submitted by a specified date (announced in the labs themselves).

Computer accounts

To work on your tutorials and assignments, you will be given accounts for the computer labs. There is a user id and password associated with each account. Each student is responsible for their account, and for following both the departmental and university-college policies. These may be found through www.viu.ca/computerscience/resources.asp#Lab_and_Computer_Usage_Rules

Topics and Schedule

An approximate list of topics by week is as follows:

Week Lecture topics Lab topics
Jan. 4-7 Game design processes (no lab)
Jan. 11-14 Describing a game Intro linux/labs
Jan. 18-21 Choices, drama, tension, and fun Intro to PyGame
Jan. 25-28 Classic game structures Images, sound, screens
Feb. 1-4 Game difficulty and balance Sprites, layers, and motion
Feb. 8-11 Game interfaces I User I/O and events
Feb. 15-18 Game interfaces II Collision detection
Feb. 22-25 none (study break) none
Mar. 1-4 AI Part I A closer look: Python fundamentals
Mar. 8-11 AI Part II Functions and objects
Mar. 15-18 Testing and playtesting Drawing and effects
Mar. 22-25 "Faking" 3D with a 2D engine AI control
Mar. 29-1 Multiplayer design Testing and debugging
Apr. 5-8 Cheats and exploits Good programming practices

Appeals of Grades:

Any exercise or examination grade may be appealed. However, the appeal must be made to the instructor, in writing and attached to the work in question, and within 7 days of the grade being made available to the class. The instructor reserves the right to re-grade the entire piece of work submitted on appeal, not necessarily just the component that the student believes is in error.

Grade Conversion:

The following scale will be used but the instructor reserves the right to lower the numerical score required for a particular letter grade if that seems appropriate, but the same conversion will be applied to all persons in the class. Under no circumstances will the numerical score required for a particular letter grade be raised.

95-100 90-<95 85-<90 80-<85 75-<80 70-<75 65-<70 60-<65 55-<60 50-<55 <50
A+ A A- B+ B B- C+ C C- D F