Game Programming

From the Unreal Engine (

Instuctor: Evangelos Kalogerakis (kalo AT cs DOT umass DOT edu)
Location: Morrill 131
Students can also join remotely - check moodle for zoom link.

Meeting time:
Mondays + Wednesdays 4-5:15pm ET

Remote Instructor office hours:
Check moodle for zoom link & hours  

Remote TA office hours:
Check moodle for zoom link & hours

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: COMPSCI 220, COMPSCI 311, and MATH 235. 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 join in-person or 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.

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 
(project submission: last day of classes)


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.

Grading Criteria

65% Five programming assignments
30% Course project + checkpoint
5% Project proposal

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 (

COVID policy

For the health and safety of all members of our campus community, students are expected to follow all COVID-related policies on campus. There are two policies in effect that deserve special mention. First, students are required to follow the COVID-19 Daily Self-checklist. Students who are ill must not attend class, and they will be offered reasonable accommodations for missed work. Second, students must follow the masking policy while it remains in effect. Your instructor will remind you to wear a mask that securely covers your mouth and nose, and direct you to a nearby mask station if you do not have one. If you are unwilling to mask, you will be asked to leave the class. If you do not leave the class, the instructor will end the class, and the Dean of Students office will be informed that you have disrupted class and violated the Guidelines for Classroom Civility and Respect. Anyone with a mask exemption must provide prior written notice to the instructor and must maintain at least six feet of distance from faculty and other students at all times. Please check also this FAQ for face covering.

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.

back to Evangelos Kalogerakis' page