Chris Pollett > Old Classes >

( Print View )

Student Corner:
  [Grades Sec1]
  [Grades Sec2]

  [Submit Sec1]
  [Submit Sec2]

  [Email List Sec1]
  [Email List Sec2]

Lecture Notes]

Course Info:
  [Texts & Links]
  [HW Info]
  [Exam Info]

HW Assignments:
  [Hw1]  [Hw2]  [Hw3]
  [Hw4]  [Hw5]

Practice Exams:
  [Mid1]  [Mid2]  [Final]


CS134Fall 2004Sec1& Sec2Home Page/Syllabus

Computer Game Design

Instructor: Chris Pollett
Office: MH 214
Phone Number: (408) 924 5145
Office Hours:MW 2:45-5:15pm
Class Meets:
Sec1 MW 5:30pm-6:45pm in SCI311
Sec2 MW 7:00pm-8:15pm in SCI311


To take this class you must have taken: CS130 and CS151 with a grade of C- or better.

Texts and Links

Required Texts: Software Engineering and Computer Games. by Rudy Rucker.
Online References & Other Links: Gamasutra..
MS DirectX.


The goal of this class is to help you create a complete, reasonably sophisticated game that you could demo to potential employers. In order to reach this goal, we will learn about various software engineering techniques and object-oriented, game design patterns. We will develop games by extending an OO-game framework known as Pop. We will learn about how to manage game resources such as video, audio, and user input devices. We will discuss methods to control timing of motion in games, collision detection, and animation. We will also learn about how to efficiently simulate different kinds of real-world physics. Then how to create intelligent non-player characters will be considered as well as terrain generation techniques and level design. Finally, several types of real world games from spec to implementation will be considered one by and one.

Below is a tentative time table for when we'll do things this quarter:

Week 1: Aug 25 Read Ch 1.
Week 2: Aug 30, Sep 1 Read Ch 2 and Ch 3.
Week 3: Sep 6(Holiday), Sep 8 Read Ch 4.
Week 4: Sep 13, Sep 15 Read Ch 5 and Ch 6.
Week 5: Sep 20, Sep 22 Read Ch 7 and 8.
Week 6: Sep 27, Sep 29 Review.
Week 7: Oct 4, Oct 6 Read Ch 9 and Ch 10
Week 8: Oct 11, Oct 13 Read Ch 11 and Ch 12
Week 9: Oct 18, Oct 20 Read Ch 13 and Ch 14
Week 10: Oct 25, Oct 27 Read Ch 15 and Ch 16
Week 11: Nov 1, Nov 3 Review. Project Proposals due Nov. 1.
Week 12: Nov 8, Nov 10 Read Ch 17 and Ch 18
Week 13: Nov 15, Nov 17 Read Ch 26 and Ch 28
Week 14: Nov 22, Nov 24 Some lecture on Game AI. Game Development.
Week 15: Nov 29, Dec 1 Game beta testing day. More Game Development.
Week 16: Dec 6Dec 8 Review and demo days.
The final will be Dec 13 5:15pm-7:30pm (Sec 1) and Dec 13 7:45pm-10:00pm (Sec 2).


Homeworks 60%
Midterm 1 10%
Midterm 2 10%
Final 20%

Grades will be calculated in the following manner: The person or persons with the highest aggregate score will receive an A+. The lowest scoring person with a score above 55 will be the cut-off for a C-. That is, that person will receive a C-, but no one below him will. The region between this high and low score will be divided into eight equal-sized regions. From top region to low region, a score falling within a region receives the grade: A, A-, B+, B, B-, C+, C, C-. If the boundary between an A and an A- is 85, then the score 85 counts as an A-. Scores below the lowest C- but above 50 receive the grade D. Those below 50 receive the grade F.

If you do better than an A- in this class and want me to write you a letter of recommendation, I will generally be willing provided you ask me within two years of taking my course. Be advised that I write better letters if I know you to some degree.

Homework Info

Links to the current list of assignments can be found on the left hand frame of the class homepage. There will be five homeworks this semester. The intent of the first three homeworks is to become familiar with the Pop framework as well as to get you thinking about various gaming techniques. For these first three homeworks, a solution will be placed off the assignment page some time after the due date. For the first three homeworks you will work individually -- I want you to refrain from collaborating on these so that everyone gets a basic understanding of the framework we will be using. The last two homeworks are really one extended project where you will work in groups of two or three. The goal of this project is to produce as cool a game as you can. For HW4 an alpha version of your game needs to be turned in. For HW5 the final version of your game needs to be turned in. In addition to these ``official'' works, by the second midterm (which is before HW4), I will expect you to turn in a game spec; and toward the end of the semester we will have some `Game Development' days and a `Beta testing' day. On Game Development days, each group will be working on the project in the classroom and I will float from group pretending to be an advice fairy. On Beta Testing day, groups will have an opportunity to use other groups as beta testers for their games, and then take notes about playability.

Homeworks for this class will be submitted and returned completely electronically. The written and programming parts of an assignment are submitted by clicking on the submit homework link for your section on the left hand side of the homepage and filling out the on-line form. Hardcopies or e-mail versions of your assignments will be rejected and not receive credit. The written parts of an assignment will be submitted as text documents. Homeworks will always be due by ten minutes till midnight on the day they are due. Late homeworks will not be accepted; however, your low homework score will be dropped.

When doing the programming part of an assignment please make sure to adhere to the specification given as closely as possible. Names of files should be as given, etc. Failure to follow the specification may result in your homework not being graded and you receiving a zero for your work. In addition, you should make sure your code conforms with the Departmental C++ Coding Guidelines. This will be worth one point on every assignment.


The midterms will be during class time on: Sep 29 and Nov 3.

The final will be: Dec 13 5:15pm-7:30pm (Sec 1) and Dec 13 7:45pm-10:00pm (Sec 2)..

All exams are closed book, closed notes, no computers, and in the classroom. You will be allowed only the test and your pen or pencil on your desk during these exams. Beeper or cell-phone interruptions will result in immediate excusal from the test. The final will cover material from the whole quarter although there will be an emphasis on material after the last midterm. No make ups will be given. The final exam may be scaled to replace a midterm grade if it was missed under provably legitimate circumstances. These exams will test whether or not you have mastered the material both presented in class or assigned as homework during the quarter. My exams usually consist of a series of essay style questions. I will test homeworks by asking questions about how the code you turned for the homework could be modified under some scenario. The week before each exam I will give out a list of problems representative of the level of difficulty of problems the student will be expected to answer on the exam. Any disputes concerning grades on exams should be directed to me, Professor Pollett.


If you believe an error was made in the grading of your program or exam, you may request in person a regrade from me, Professor Pollett, during my office hours. I do not accept e-mail requests for regrades. A request for a regrade must be made no more than a week after the homework or a midterm is returned. If you cannot find me before the end of the semester and you would like to request a regrade of your final, you may see me in person at the start of the immediately following semester.

Academic Honesty

Plagiarism on homework or cheating on tests will result in appropriate academic disciplinary action being taken. Information on the university policy governing academic dishonesty can be found at At a minimum a 0 on the assignment or test will be given. Students caught using resources like Rent-a-coder will receive an F for the course and be referred to University for disciplinary action.