Chris Pollett > Old Classes
> |
CS134Fall 2004Sec1& Sec2Home Page/SyllabusComputer Game Design
PrerequisitesTo take this class you must have taken: CS130 and CS151 with a grade of C- or better. Texts and Links
TopicsThe 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:
Grading
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 InfoLinks 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. ExamsThe 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. RegradesIf 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 HonestyPlagiarism 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 http://info.sjsu.edu/web-dbgen/narr/catalog/rec-1163.html. 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. |