CMPSCI 576:
Game Programming

teaser
From the Unreal Engine (https://vimeo.com/31193419)


Instuctor:
Evangelos Kalogerakis (kalo AT cs DOT umass DOT edu)

Location:
Online -- students join remotely (check Moodle for zoom link)

TAs:
Dmitry Petrov, Pradyumn Goyal, Tuan Ngo

Meeting times:
Tuesdays + Thursdays 8:30-9:45am ET

Remote Instructor and TA office hours:
Check Moodle for zoom link, office hours, and Piazza link for asynchronous discussions


Course Objectives

Game Programming introduces students to concepts of computer game development, including scene modeling, physics engines, animation, character rigging, game AI, game UI, audio effects and networking. The course will help students build the programming skills needed to turn ideas into games. Students will work on various game programming exercises with the Unity game engine and a final game development project.

Course Prerequisites

The course has the following prerequisites for junior and senior CS majors: *MATH 235 (C or better)* and *COMPSCI 220 (C or better)* and *COMPSCI 311 (C or better) or COMPSCI 250 (B+ or better)*. MS/PhD students are assumed to have these equivalents from their undergraduate career. The course offers 3 credits.

Class plan

Lecture material will be pre-recorded and available asynchronousy. Course work can be done asychronouly. Students can watch live lectures over zoom -- attendance is optional. There will be office hours with the instructor and the TAs remotely over zoom. Zoom links, lecture notes, recorded videos, programming resources, and assignments are posted on Moodle. Piazza will be used for asynchronous Q & A with the instructor and TAs. Answers to questions on Piazza are expected within 1-3 workdays approximately. No books are needed.

Week-by-week outline (tentative)

Week 1: Introduction to Game Programming and Unity
Week 2: The Game Loop, Scene Modeling, C# scripting (assignment 1 deadline)
Week 3: Introduction to Animation, Keyframing
Week 4: Character Animation and Rigging (assignment 2 deadline)
Week 5: Animation Controllers, Game UIs
Week 6: Kinematics, Particle Effects (assignment 3 deadline)
Week 7: Physics-based Animation, Numerical Integration (project proposal deadline)
Week 8: Rigid Body Simulation, Collisions, Sound (assignment 4 deadline)
Week 9: Procedural Content Generation
Week 10: Game AI: Planning, Pathfinding (assignment 5 deadline)
Week 11: Game AI: Decision Making
Week 12: Game AI: Decision Making (cont'd)  (project checkpoint)
Week 13: Game Networking, Game Business and Ethics 

Expectations/Requirements

Students have to complete 5 programming assignments involving C# and Unity. Students have to also complete a final game project, with additional milestones, which are (a) project proposal, (b) progress checkpoint (where students meet with the instructor remotely to show progress and receive feedback), and (c) final project submission. Assignments and projects should be submitted by the designated deadlines -- 20% of the final mark is deducted for every day a submission is delayed and submissions are not accepted after 48h. Exceptions are allowed for medical reasons or due to accomodation services (see below). The amount of workload for assignments and projects varies depending on each student's background, skills, and workload from other courses -- yet a rough estimate is about a week to complete each assignment, and 3-4 weeks to complete the final project.

Grading Criteria

65% Five programming assignments
25% Course project
5% Project proposal
5% Project checkpoint
(no exam)

Scores to letter conversions:
95-100 A
90-94 A-
85-89 B+
80-84 B
75-79 B-
70-74 C+
65-69 C
60-64 C-
55-59 D+
50-54 D

Note: Course grades below 'C' are not passing for graduate students.


Accommodation Statement

The University of Massachusetts Amherst is committed to providing an equal educational opportunity for all students.  If you have a documented physical, psychological, or learning disability on file with Disability Services (DS), you may be eligible for reasonable academic accommodations to help you succeed in this course.  If you have a documented disability that requires an accommodation, please notify me within the first two weeks of the semester so that we may make appropriate arrangements.

Academic Honesty Statement

Since the integrity of the academic enterprise of any institution of higher education requires honesty in scholarship and research, academic honesty is required of all students at the University of Massachusetts Amherst.  Academic dishonesty is prohibited in all programs of the University.  Academic dishonesty includes but is not limited to: cheating, fabrication, plagiarism, and facilitating dishonesty.  Appropriate sanctions may be imposed on any student who has committed an act of academic dishonesty.  Instructors should take reasonable steps to address academic misconduct.  Any person who has reason to believe that a student has committed academic dishonesty should bring such information to the attention of the appropriate course instructor as soon as possible.  Instances of academic dishonesty not related to a specific course should be brought to the attention of the appropriate department Head or Chair.  Since students are expected to be familiar with this policy and the commonly accepted standards of academic integrity, ignorance of such standards is not normally sufficient evidence of lack of intent (https://www.umass.edu/dean_students/codeofconduct/acadhonesty/).

COVID policy

Students who are ill must not attend class in-person, and they will be offered reasonable accommodations for missed attendance. Students are also encouraged to wear masks during in-person classes.

Equity and Inclusion Statement

We are committed to fostering a culture of diversity and inclusion, where everyone is treated with dignity and respect. This course is for you, regardless of your age, background, citizenship, disability, ethnicity, family status, gender identity, geographical origin, language, military experience, political views, race, religion, sexual orientation, or work experience. We bring different skills to the course and we will all be learning from and with each other.

In both live and online settings we all are expected to uphold and promote a welcoming environment for learning. Politeness, kindness, and tolerance are expected at all times. Respect that people have differences of opinion, and work and approach problems differently. Please keep unstructured critique to a minimum and make sure that any criticism is constructive. Try and be aware of your own biases and avoid micro-aggressions. Listen to others and let them participate; ask yourself whether you dominating a conversation and not giving others a chance to contribute. Disruptive behavior is not welcome, and insulting, demeaning, or harassing anyone is unacceptable. We follow the university's guidelines for classroom civility. In particular, we don't tolerate behavior that excludes people in socially marginalized groups. If you feel you have been or are being harassed or made uncomfortable by someone in this class, please contact a member of the course staff immediately, or if you feel uncomfortable doing so, contact the Dean of Students office.

Everyone has the right to be addressed by the name and pronouns that they use for themselves. Students can indicate their preferred/chosen first name and pronouns on SPIRE, which appear on class rosters. Please let the instructor/TAs know what name and pronouns they should use for you if they are not on the roster. A student's chosen name and pronouns are to be respected at all times in the classroom.

Title IX Statement

In accordance with Title IX of the Education Amendments of 1972 that prohibits gender-based discrimination in educational settings that receive federal funds, the University of Massachusetts Amherst is committed to providing a safe learning environment for all students, free from all forms of discrimination, including sexual assault, sexual harassment, domestic violence, dating violence, stalking, and retaliation. This includes interactions in person or online through digital platforms and social media. Title IX also protects against discrimination on the basis of pregnancy, childbirth, false pregnancy, miscarriage, abortion, or related conditions, including recovery. There are resources here on campus to support you. A summary of the available Title IX resources (confidential and non-confidential) can be found at the following link: https://www.umass.edu/titleix/resources. You do not need to make a formal report to access them. If you need immediate support, you are not alone. Free and confidential support is available 24 hours a day / 7 days a week / 365 days a year at the SASA Hotline 413-545-0800.

back to Evangelos Kalogerakis' page