CSS 490: Introduction To Game Programming
Spring 2011
Room CC1-041,
Tu/Th 3:30pm-5:30pm
Computing and Software Systems
Name
Email |
Office Hours: |
Thu 2:00-3:00 pm Or by appointment |
|
Phone |
(425)-352-5420 (phone for appointments only
please) |
Office: |
UW1-339 |
This class examines the fundamental issues
in designing and developing computer video games. We begin with examining
technical issues in developing a game including: software architecture,
interaction model, mathematic concepts, real-time approximation for Newtonian
physics, elementary special effects, and algorithms relevant to supporting
in-game logic. After the technical knowledge, in the second half of the quarter
we examine the elements in games design including: world setting, game play,
and interface; and the procedure of designing games including:
conceptualization, prototyping, and playtesting.
The first half of the class is programming
intensive where students practice and implement the technical knowledge learned
by developing games individually. After the mid-term exam, students will work
in groups designing and implementing their own games. The second half of the
class involves group work, presentations, and active class participations in
games evaluation.
Prerequisites: 2.0 in CSS 342 or equivalent.
Programming Assignments (3) |
40-50% |
Weekly quizzes |
25% |
Final Game In class participation |
30% 5% |
Required
Textbook:
Reference
Textbooks: (Posted off course discussion site)
Week
|
Topics
|
Reading
|
Date
|
Note: |
1 |
Intro + Real Time Systems |
A1 – A3 B1 |
Mar 29 Mar 31 |
Assign: MP #1 |
2 |
Math in Games |
C1 |
Apr 5, 7 |
Due: MP
#1 Assign: MP
#2 |
3 |
Physics in Games Game Logic: Finite State Machine |
D1, C2 |
Apr 12, 14 |
|
4 |
Game Design: Conceptualization + Prototyping Final Project Groups: find your own group! |
F1 E3, E4, E1 |
Apr 19, 21 |
Due: MP #2 Assign: MP
#3 |
5 |
Game Programming: Particle systems + Sprite Animation Pitch your games |
Apr 26, 28 |
Due: MP #3 Design document (hand-in
class) + Presentation + Rank |
|
6 |
Catch up: Particle systems + Sprite Animation Game Demo: digital prototype |
A4 – A5, F3, F2 |
May 3, 5 |
Due: digital
prototype demo Design document (hand-in
class) + Eval + Rank |
7 |
Guest Lecture – Developers’ Perspective: Brad Hallisey, Arenanet. Game Demo: First rough implementation |
E2 |
May 10, 12 |
Due: Prototype
Demo Design document (hand-in
class) + Eval + Rank |
8 |
Guest Lecturer – Educator’s Perspective: Mike Zyda, USC GamePipe Lab Game Demo: Playtesting (1) |
May 17, 19 |
Due: Alpha
Demo Design document (hand-in
class) + Play + Eval + Rank |
|
9 |
Guest Lecturer –
Producer’s Perspective: Jason
Bay, Griptonite Games Game Demo: Playtesting (2) |
May 24, 26 |
Due: Beta
Demo Design document (hand-in
class) + Play + Eval + Rank |
|
10 |
Guest Lecturer – Business Perspective: Barry Weisband, UWB Business Development Center |
|
May 31, June 2 |
|
11 |
Final’s Week: Project Demo & Presentation |
|
Jun 7 |
Due: Final Project Design document (hand-in class)
+ Play + Eval + Rank |
Submitting
Programming Assignments (MPs):
Submitting Source Code: You will submit your source code of each programming assignment (or machine problem, or mp) and I will run/test your submissions. We will be using the same catalyst facility (refer to the course web-site for submission link). There is a folder with the corresponding mp number on the submission site (e.g. mp1, mp2, etc.). Before the due time of the assignment, you should:
Create a folder containing:
· all the relevant source files of your mp: I want to be able to run a script and process your .sln file to compile/run your submission
· an EXE folder containing only the required files executable and resource files to run your mpL I want to be able to double-click on the exe file and run your submission
· and no more.
Having extra useless/irrelevant files in that folder will results in lost credits. Please clean up both bin and obj folders before you copy your files over. These folders can be huge and will take up unnecessary time/space. WARNING: a significant percentage of each mp’s grade will be deducted if your submission includes the contents of bin or obj folders, or any useless files (e.g., .user, .cache… etc.) Use your first and last name and mp# as the name of your folder. Please do not include blank space as part of the name for this folder (i.e. do use “KelvinSungMp1” as folder name, and do not use “Kelvin Sung MP1” with blank spaces.). Please zip up our folder into one zip file. Go to our course submission area and “turn in” you .zip file.
*** Send yourself a digital receipt just in case something should go wrong. ***
Submit as many times as you wish, I will only look at the last
one received before the deadline. Please do not submit hard copies of your
program. Let’s safe some trees, I will look at your source code electronically.
There is a “Test Turn-in” assignment for you to try things out. Please do try it before the first MP due date! If I do not see a test submission and you have trouble submitting your first assignment at the last minute, I will not help you. I can only help those who tried.
In addition, and very importantly, you should always download your submission, un-zip/compile/run to ensure your submission is correct. Remember, the grader (and/or I) will download your submission, unzip, double-click on the .sln file to compile and run. You will lose credits if anything in your submission should prevent us from automating this process.
You are responsible to ensure that the files you submitted are correct. On the due date of the mp, the corresponding directory will be close at precisely the due time. After which, you will not be able to submit your work! I will not accept submissions via emails. You are responsible to ensure that the files you submitted are correct. Minor submission mistakes (e.g. missed a small .h file) will result in 10% deduction from the assignment. Major submission mistakes (e.g. forgot to include a major .cs file) will be treated as in-complete assignment and you will get 0% for the assignment. On a case-by-case basis, I will decide if a submission mistake is minor or major. There will be no exceptions!
Remember, our projects tend to be large, and it takes time to submit files over the network! If you start submitting 2 minutes before the deadline, and when deadline arrive your file transfer has not completed, your submission will be lost! It will be as though you did not submit, and you will receive 0% for the mp!!
If there is an emergency and/or personal difficulty, please
talk to me in person. Remember to document your code, and practice the good
programming skills you learned in CSS 342.
Assignment Deadlines: There will be no late assignments accepted. Let me put this in another way, there will be no late assignments accepted. These apply to both homework assignments and machine problems. Pay attention to the deadline on the assignments (including the time), there will be no late assignments accepted. Let me explain this again, there will be no late assignments accepted. I am actually a reasonable person, come talk to me about exceptional circumstances. You know the deadlines now please plan ahead.
Weekly Quiz: Each week, I will randomly contact 5-8 students for weekly quiz questions. If selected, an email will be sent to you after Tuesday’s class. In return, you must send me at least one multiple choice quiz question (with at least 5 answers) based on the materials covered during the previous two lectures (Tuesday and Thursday of the previous week). You will have until Thursday mid-night to send me the quiz question(s). I will make sure each person will be contacted equal number of times during the quarter. The quality of your quiz question will partially determine your 5% “in-class participation” credit. So, pay attention in class and please do response to quiz question solicitation requests!
Lateness to classes: It does not bother me, just don’t disturb anyone. If you want to leave early, it would be very nice if you could give me advance warning. If that’s too much trouble, or if you forgot, don’t worry, just don’t disturb anyone and leave quietly.
Commitments and such:
I am usually very easy going. I like relaxed classrooms for learning and will
try my best to create such an environment. Please do not confuse relax
environment with relax requirements. I work hard, and expect students to work
as hard. On average, each percentage of your assignments should represent
one-two hours of outside-of-class time. For example, if an MP worth 8%, then on
average, you will probably need about 10-15 hours to finish this assignment.
Please use this as a reference and let me know if you are spending too much
time on the assignments. If most of you are experiencing the same problem, then
we will have to adjust the amount of work. Please consider if you have the time
this quarter for this class. If you do have the time, please stay in this class, I will work hard and try
my best to make this class a worthwhile learning experience for you.
Group Assignments: The final game is a group
assignment. You must form groups of 3 or 4 persons to work on the
final project. No groups can be less than three members.
Problems
If you have any problem with this course, please talk to me as soon as possible. I would like to help in any way I could, but I have to know there is a problem. If you fall behind in this class, it will be difficult to catch up.
Special Needs
If you believe that you have a disability
and would like academic accommodations, please contact Disability Support Services
(UW1-175) at 425.352.5303 or at drs@uwb.edu.
In most cases, you will need to provide documentation of your disability as
part of the review process. I will coordinate with the University to ensure
that the appropriate accommodations are made in this class.