CSS 385: Introduction To Game Development
Spring 2017
Room Disc-252, T/Th 3:30pm-5:30pm
Computing
and Software Systems
NameEmail |
Office Hours: |
Thurs 2:00-3:00 pm Or by appointment |
|
Phone |
(425)-352-5420 (phone for appointments only please) |
Office: |
UW1-260-O |
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-quarter, students will work in groups to design and implement
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 to 4) |
40% |
Weekly Assignments |
15% |
Final Game |
45% |
Required Textbook:
o None. Reference materials will be provided.
Reference Textbooks: (Posted
off course discussion site)
o
Introduction to game development, S. Rabin (Ed.), Boston, MA, Charles
River Media, 2005.
·
A1:
Bakie, R. T. (2005). A brief history of video games. In S. Rabin (Ed.), Introduction
to game development (pp. 1-36). Boston, MA: Charles River Media.
·
A2: Bakie, R. T. (2005). Games
and society. In S. Rabin (Ed.), Introduction to game development (pp.
37-50). Boston, MA: Charles River Media.
·
A3: Jarvinen, A. &
Holopainen, J. (2005). Ludology for game developers: An academic perspective.
In S. Rabin (Ed.), Introduction to game development (pp. 51-68). Boston,
MA: Charles River Media.
·
A4: Falstein,
N. (2005). Understanding fun: The theory of natural funativity. In S. Rabin
(Ed.), Introduction to game development (pp. 69-97). Boston, MA: Charles
River Media.
·
A5: Barry, I. (2005). Game design.
In S. Rabin (Ed.), Introduction to game development (pp. 99-160).
Boston, MA: Charles River Media.
o Fundamentals
of Computer Graphics,
P. Shirley, Wellesley, MA, A. K. Peters, 2005.
·
B1:
Sung, K. (2005). Building interactive graphics applications. In P.
Shirley (Ed.), Fundamentals of computer graphics (pp. 401-449).
Wellesley, MA: A K Peters, Ltd.
o
Programming
game AI by example, M, Buckland, Plano TX, Woodward Publishing Inc, 2004.
·
C1: Buckland,
M. (2004). A math and physics primer. In Programming game AI by example
(pp. 1-41). Plano, TX: Woodward Publishing, Inc.
·
C2: Buckland,
M. (2004). State-driven agent design. In Programming game AI by example
(pp. 43-83). Plano, TX: Woodward Publishing, Inc.
o Tricks of the Windows game
programming guru, Indianapolis, IN, Sams Publishing, 2002.
·
D1: LaMothe,
A. (2002). Playing God: Basic physics modeling. In Tricks of the Windows
game programming gurus (pp. 803-878). Indianapolis, IN: Sams Publishings.
o Game Design Workshop a play centric
approach to creating innovative games, Tracy Fullerton, Burlington, MA, Morgan
Kaufmann, 2008.
·
E1: Chapter 7: Prototyping
·
E2: Chapter 9: Playtesting
·
E3: Pages
349-362
·
E4: Page
394-402
o Game
Design and Development,
E. Adams and A. Rollings, Berkeley, Upper Saddle River, NJ, Pearson Prentice
Hall, 2007.
·
F1: Chapter 4: Game world
·
F2: Chapter 8: Creating the User
Experience
·
F3: Chapter 9: Game play
Week |
Topics |
Reading |
Date |
Note: (subject to changes, refer to course web-site for details) |
1 |
Intro + Real Time Systems Final Project Groups: find
your groups! Simple game engine: Coordinate System and Camera |
A1 – A3 B1 |
March 28, 30 |
Assign: MP #1 |
2 |
Game Logic: Finite State Machine Guest Lecture: Yusuf Pisan, Director of Game Studio, University of Technology,
Sydney: Groups, Process, Tools [First hr of class] |
C1, C2 |
Apr 4, 6 |
Due: MP #1 Assign: MP #2 |
3 |
Unity game engine: Programming model, Drawing and Abstraction Yusuf Pisan: Game design: Game World + User Experience, Gameplay + Fun + Design Doc + Brainstorming |
D1 + MDA Paper F1, F2 |
Apr 11, 13 |
Due: MP #2 Assign:
MP#3 (in Unity3d) |
4 |
Conceptualization + Prototyping Guest Lecture: Nathan Evers, Lead Artist, DFL [First hr of class] |
F3, A4, E4 |
Apr 18, 20 |
Due: MP #3 Assign: MP #4 |
5 |
Pitch your games Yusuf Pisan: Lead discussion: Reflection on game pitch |
E3, E1 |
Apr 25, 27 |
Due: MP #4 Design document + Presentation + Rank |
6 |
Yusuf Pisan: Game AI Tricks and Tips Game Demo: Digital prototype |
A5 |
May 2, 4 |
Due: digital prototype demo Design document (hand-in class) + Eval + Rank |
7 |
Guest Lecture: Jason Pace, Executive Director DFL: Game development at UWB Game Demo: Init rough game demo |
E2 |
May 9, 11 |
Due: Prototype Demo Design document (hand-in class) + Eval + Rank |
8 |
Simple game engine: Pixel-Accurate Collision and A* Path
finding Game Demo: Alpha Playtesting |
May 16, 18 |
Due: Alpha Demo Design document (hand-in class) + Play + Eval + Rank |
|
9 |
Guest Lecture: Kevin Call (Software Engineer at Camouflaj, CSS Alumni: Spring 2013 CSS385 Music Tower Defense) Game Demo: Beta Playtesting |
May 23, 25 |
Due: Beta Demo Design document (hand-in class) + Play + Eval + Rank |
|
10 |
Guest Lecture: Jason Bay (Lumberyard, Amazon) Game Project Retrospect: Reflection on your process |
|
May 30 Jun 1 |
Due: Presentation
+ Eval
|
11 |
Final’s Week: Final Playtest Final Project Video: June
8th at 6pm. Final Peer Evaluation Due: June 10th at 6pm. |
|
Jun 6 |
Due: Final Project Design document (hand-in class) + Play + Eval + Rank |
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 mp 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.
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! On the due day, I will run through all of the projects in class, and the entire class will grade everyone’s submission.
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.
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 three
or four persons to work on the final project. No groups can be less than three
members.
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.
Access and Accommodations: Your experience in this class is
important to me. If you have already established accommodations with Disability
Resources for Students (DRS), please communicate your approved accommodations
to me at your earliest convenience so we can discuss your needs in this course.
If you have not yet established services through DRS, but
have a temporary health condition or permanent disability that requires
accommodations (conditions include but not limited to; mental health,
attention-related, learning, vision, hearing, physical or health impacts), you
are welcome to contact DRS at 425-352-5307 or drs@uwb.edu. DRS offers resources
and coordinates reasonable accommodations for students with disabilities and/or
temporary health conditions. Reasonable accommodations are established through
an interactive process between you, your instructor(s), and DRS. It is the
policy and practice of the University of Washington to create inclusive and
accessible learning environments consistent with federal and state law.
Access and Accommodations
Your experience in our classes is important to us. If you have already established accommodations with Disability Resources for Students (DRS), please communicate your approved accommodations to your instructor at your earliest convenience to facilitate a discussion of your needs.
If you have not yet established services through DRS, but have a temporary health condition or permanent disability that requires accommodations (conditions include but not limited to; mental health, attention-related, learning, vision, hearing, physical or health impacts), you are welcome to contact DRS at 425-352-5307 or uwbdrs@uw.edu. DRS offers resources and coordinates reasonable accommodations for students with disabilities and/or temporary health conditions. Reasonable accommodations are established through an interactive process between you, your instructor(s), and DRS. It is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law.
More information can be found at http://www.uwb.edu/studentaffairs/drs.
Classroom Emergency Preparedness
Please see http://www.uwb.edu/safety/are-you-ready for detailed information on the following topics: active shooter, inclement weather, bomb threat, crime or violence, earthquake, fire, hazardous material spill, identity theft, lockdown, medical emergency, online safety, power outage, sexual assault, student in distress, suspicious mail, theft, pandemic flu, and extreme heat.
For our Veterans
If you are a student who has served in our nation’s military forces, thank you for your service. We hope that you feel comfortable enough to confidentially self-identify yourself to your instructor so s/he can help you make a successful transition from the military to higher education.
Inclement Weather
Please check if the campus may be closed due to weather. Information on suspension of operations will be made public and available through the media. You can learn of campus operations status from the UW Bothell website or by calling the Campus Information Hotline 425.352.3333. You may also sign up with an alert system that will contact you via email or text message if classes are canceled. For more information on the alert process, please see http://www.uwb.edu/alert. Class activities will be rescheduled as needed.
Parenting Student Resources
Parenting Students are encouraged to take advantage of the resources provided on campus, which include the Parent Union at UW Bothell, the Child Care Assistance Program, priority access at Bright Horizons Bothell and Bothell KinderCare, back-up/sick care at Bright Horizons, and lactation rooms and baby changing stations on campus. For more information, please visit https://www.uwb.edu/studentaffairs/resources-for-parents, or contact the Parent Union on Facebook at https://www.facebook.com/PUUWB/.
Respect for Diversity
Diverse backgrounds, embodiments and experiences are essential to the critical thinking endeavor at the heart of university education. In STEM and at UW Bothell, students are expected to:
· Respect individual differences which may include, but are not limited to: age, cultural background, disability, ethnicity, family status, gender presentation, immigration status, national origin, race, religion, sex, sexual orientation, socioeconomic status, and veteran status.
· Engage respectfully in discussion of diverse worldviews and ideologies embedded in course readings, presentations, and artifacts, including those course materials that are at odds with personal beliefs and values.
Students seeking support around these issues can find more information and resources at http://www.uwb.edu/diversity.
Student Support Services
·
Career Services: http://www.uwb.edu/careers, 425-352-3706;
·
CSS Tutoring: http://www.uwb.edu/css/advising;
·
IT Helpdesk: http://uwbit@uw.edu,
425-352-3456;
·
Library: http://library.uwb.edu,
425-352-5340;
·
Quantitative Skills Center: http://www.uwb.edu/qsc, 425-352-3170;
·
School of STEM Advising: stemadv@uw.edu, 425-352-3746;
·
Student Counseling Services: http://www.uwb.edu/studentservices/counseling,
425-352- 3183;
·
Student Success and Career Services: http://www.uwb.edu/studentservices/successservices,
425-352-3427;
·
Writing and Communication Center: http://www.uwb.edu/wacc, 425-352-5253;