Spring 2009
CS134: Computer Game Design and
Programming
CS 134 Section 1
(Course Number 27953): Mon/Wed 9:00am-10:15am, Location: MH 223
Instructor: Soon Tee Teoh
Office Hours:
Mon 10:15am-12pm, Tue 9am-11:30am, Wed
10:15am-12pm
Office: McQuarrie
Hall 216 (phone: 408-924-7227).
E-mail: teoh@cs.sjsu.edu
Course Website:
http://www.cs.sjsu.edu/~teoh/teaching/cs134/
Prerequisites:
The prerequisites
for this class are CS 130 and CS 151 (with a grade of "C-" or better
in each).
Adding and Dropping Classes:
The student is responsible for understanding the policies, procedures, and deadlines for adding and dropping classes, and for academic renewal, withdrawal.
Course Description:
This class introduces architectures and object-oriented patterns for computer
game design. Topics include animation, simulation, user interfaces, graphics,
and intelligent behaviors. Each student is expected to participate in a team
project requiring substantial programming.
Text: none
Course Objectives:
The
course objectives are:
To
learn about the software development process in the context of video games;
To
learn about object oriented techniques with regard to video game development;
To
learn about the basics of creating a game engine;
To
understand the use of simulations and physics in the context of video games;
To
learn about Artificial Intelligence in the context of video games; and
To
learn about collision detection in the context of video games.
Student Learning Outcomes:
Upon
successful completion of this course, students should be able to:
Create
a requirements document for a reasonable sized project;
Understand
the various stages of a software development process and use them in new
projects;
Apply
game design patterns in developing a new video game;
Understand
how a game engine can be put together;
Understand
how physics can be applied in video games and how to set up a simulation
environment;
Understand
and apply useful AI techniques like the A* algorithm in the context of video
games; and
Understand
common techniques for detecting collisions among objects in a video game.
Schedule:
This is the tentative course schedule. All
topics marked in Red-Bold-Italics are class activities which are part of the project
or midterm examination. Failure to be present at the appointed time will result
in loss of points.
|
Week |
Date |
Topic |
Assignment Due |
|
0 |
|
|
|
|
1 |
1/26/09 |
Introduction to Game Design |
|
|
1/28/09 |
Game Design Principles |
|
|
|
2 |
2/2/09 |
Graphics Engine |
|
|
2/4/09 |
Presentations |
|
|
|
3 |
2/9/09 |
Presentations |
|
|
2/11/09 |
Graphics Engine |
|
|
|
4 |
2/16/09 |
Game AI: A* Path Finding |
|
|
2/18/09 |
Game AI: Flocking, FSM |
|
|
|
5 |
2/23/09 |
Project Demos |
2D Project |
|
2/25/09 |
Project
Demos |
|
|
|
6 |
3/2/09 |
Beyond Graphics Engine |
|
|
3/4/09 |
Game AI: Fuzzy Logic |
|
|
|
7 |
3/9/09 |
Project Discussion |
Final Project Proposal |
|
3/11/09 |
Collision Detection |
|
|
|
8 |
3/16/09 |
Game Physics |
|
|
3/18/09 |
Game Physics |
|
|
|
|
|
Spring Break |
|
|
9 |
3/30/09 |
Review |
|
|
4/1/09 |
Midterm |
|
|
|
10 |
4/6/09 |
Graphics: LOD, Visibility |
|
|
4/8/09 |
A* Optimizations, Shadows |
|
|
|
11 |
4/13/09 |
Intro to Networking |
|
|
4/15/09 |
Decision Trees and Neural Nets |
|
|
|
12 |
4/20/09 |
Particle Systems, Terrains |
|
|
4/22/09 |
Play-testing |
Project Version 1 |
|
|
13 |
4/27/09 |
Presentations |
|
|
4/29/09 |
Presentations |
|
|
|
14 |
5/4/09 |
Animation |
|
|
5/6/09 |
Review |
|
|
|
15 |
5/11/09 |
Project Demos |
Final Project |
|
5/13/09 |
Project Demos |
|
Teaching Methodology: The course is given through two lecture periods each week.
There will also be a designated discussion session and class activities.
Students in the course are expected to complete all the project assignments and
learn the material covered in lecture.
Attendance Policy: Lectures: Students should attend all lectures, not only because they are responsible for material discussed in the lectures, but also because active participation is essential to insure maximum benefit for all members of the class. Attendance will not be used as a criterion for grading. The student is responsible for knowing all announcements made by the instructor during lectures.
Course Requirements:
The course is composed of three components: assigned readings, lectures, project and exams. Examinations will be based on lectures.
Examinations: All examinations will be announced at least one week in advance and will cover material discussed in class and the text book. Test material will be drawn from lecture and any supplementary material provided by the instructor. Exact details about examinations in this course will be determined by the instructor. Typically there will be two in-class examinations during the semester and a two-hour final examination. Specific details will be made available before the exams are offered.
Grading: Your grade will depend on: exams (based mostly on class lectures) and project. Each student will accumulate points for all assigned project parts and exams. Keep your project and tests at least until you receive your grade. The instructor should be notified of any grading disputes and special circumstances regarding midterms and the project by May 15, 2007.
(1) Midterm Examination 20%
An unexcused absence from an examination
will result in a grade of zero for that examination. The only valid excuses for
missing an examination are prior written approval from the instructor or a
documented medical emergency.
(2) Project
(10% + 30%) 40%
There are two projects for this class.
Students will work in groups of 2 or 3 members (each
group should turn in only ONE submission for each project). Each group is
required to present a 10-minute demonstration of their work. Each student in
the same group will receive the same grade for the project.
The project is graded on the correctness of
the program and the adherence to the requirements given in the assignment. A
submission that does not follow the instructions cannot be evaluated and
therefore will receive no credit. If the program code is written clearly, some
partial credit may possibly be given for partial correctness of the program
code.
Late Turn-In Policy: You may submit your project within 24 hours after
the due time for a 10% deduction of your grade for that part. You may submit
your project within the next 24 hours for a 20% deduction. No credit will be
awarded for projects submitted more than 48 hours after the due time.
(3) Presentations
(2 x 5%) 10%
Students will work in groups of 2 or 3
members to produce two presentations. Each group will conduct their own research
into a game development topic, and will give a 15-minute presentation about the
selected subject during an assigned lecture time. The grade will depend on the
content and clarity of the presentation. Each student in the same group will
receive the same grade for the presentation.
(4) Final Examination 30%
The final exam will assume familiarity with
material covered in lecture. The final exam will be held on:
Section
1: Monday, May 18, 2009, 7:15am – 9:30am
Grading Scale (in points):
100-95 A+
94.99-90 A
89.99-85 A-
84.99-80 B+
79.99-75 B
74.99-70 B-
69.99-65 C+
64.99-60 C
59.99-55 C-
54.99-50 D+
49.99-45 D
44.99-40 D-
Below 40 F
Academic Integrity:
Your own commitment to learning, as evidenced by your enrollment at SJSU, and
the University's Academic Integrity Policy requires you to be honest in all
your academic course work. Faculty members are required to report all
infractions to the Office of Student Conduct and Ethical Development. The
policy on academic integrity can be found at http://sa.sjsu.edu/judicial_affairs/.
Further Information:
· If you need course adaptations or
accommodations because of a disability, or if you need special arrangements in
case the building must be evacuated, please make an appointment with me as soon
as possible, or see me during office hours. Presidential Directive 97-03
requires that students with disabilities requesting accommodations register
with the
· Please familiarize yourself with SJSU policies and procedures:
· http://info.sjsu.edu/static/soc-spring/soc-spring.html
· http://info.sjsu.edu/static/catalog/policies.html
particularly the add/drop policy. It is your responsibility to know and observe these policies. However, if there is something about a policy that you don't understand, please feel free to ask! You can also find answers to many questions at the Student Advising Center.