Course Syllabus

Fall 2018  | Hunt Library, Studio B  | F 1:30-4:30pm
Carnegie Mellon University,  Entertainment Technology Center

Name Email Room # Skype
Professor: Tom Corbett PTC 3319 / Hunt 246 tcorbett216


  • Tuesdays 10am-Noon (Hunt)
  • Tuesdays 2:30-4:30pm (PTC)
  • or by appointment


Course Description

This course is designed for non-programmers who wish to learn how to use modern game engines such as Unity (which will be the primary tool used for this course).  Students will learn the fundamental components and features of game engines (such as objects, inputs, movement, interactions, physics, UI, artwork and animation, sound, and more) and the terminology and theory behind them.  Students will attend lectures and participate in example exercises to illustrate these concepts, and put these concepts to practice in their assignment work. All assignment work for this course will be performed individually, in order for each student to demonstrate proficiencies.


  • Student will understand the fundamentals of how game engines operate and how they can be used to develop applications.
  • Student will develop a competence with common features and components of the Unity Game Engine.

Course Objectives

  • Student will become familiar with components typical of game engines, and understand the terminology and what they do.
  • Student will study examples of common game types to understand how they are structured.
  • Student will develop proficiency with the Unity Game Engine and create applications in that development environment.
  • Student will learn how to articulate a game design into component parts, and engineer a prototype application of that design.

Learning Objectives

  • Student will demonstrate, through discussions and assignment work, an understanding of game engine component terminology and operation.
  • When given a particular game type, student will be able to design and outline a basic game loop and structure for that type.
  • When given a game design document and corresponding assets, student can develop a working prototype of that design in Unity.
  • Student will be able to modify an existing Unity game package to modify and customize with artwork, sound, UI, mechanics, balance, and game-feel.
  • Student will be able to propose, design, and execute a game application in Unity that conforms to a predetermined set of game archetypes and constraints.
  • Students will demonstrate an ability to engineer solutions to given problems and obstacles in assignments, and a proficiency working with Unity Game Engine.

Lesson Topics

  • What does a game engine do?
  • Programming basics (Loops, Variables, Evaluation, Classes and Objects, Arrays & Data Structures)
  • Unity application interface and environment
  • Understanding the Game Loop
  • Gamespace and Movement (2D & 3D)
  • Physics and Collisions
  • Programming in Unity
    • Objects
    • Actions/Behaviors
    • User Input
    • GUI
    • Debugging
    • Compiling / Publishing
  • Art & Animation
  • Game Audio
  • Character and Enemy AI
  • Multi-scene Structure
  • Optimizing Applications
  • Network & Multiplayer
  • Virtual Reality

Required Text

There is no required text for this course.  Links to recommended texts and articles will be posted on the course website.

Course Policies

Students are expected to follow the standards, policies, procedures, and conduct codes of Carnegie Mellon University.


  • Attendance is expected for all class sessions.  (Exception: If you are sick, stay home. Don’t infect the rest of us.  But please send a note to the instructor)
  • Excused absences will be considered on a case-by-case basis.  If you know you will be out of town or have a conflicting appointment, please let the instructor know ahead of time via e-mail.  

Class Conduct

  • Be on time and ready when class begins.  Repeated late arrivals will be noted.
  • Be awake, engaged, and participatory.
  • Be responsible with your food and beverages, and keep our facilities clean.

Assignment Policies

All assignment work for this class is on an individual basis, and each student is responsible for their own work.  Project parameters and deliverables will be distributed at the beginning of each assignment. If you have questions about the assignment or deadlines, please ask.

Assignments and project deliverables MUST be submitted by the provided deadline.  Late projects and assignments will assume a penalty or may not be accepted at all.

Students are expected to turn in their own work.  Don’t cheat or plagiarize. Please review CMU’s policy on Academic Integrity (  Materials created by someone else (code, photographics, music, etc) are permitted, provided that students include proper permission and/or attribution.  Use of code libraries must be approved on a case-by-case basis.

Grading Policy

Students in this course will be graded individually for project assignments.  Assignments will be evaluated for quality of the final compiled game, and for quality of code.  Assignments will include parameters for what is expected, and some may include additional challenges.  Consideration will be given for attempting difficult challenges.

Grades for this course are assigned based on the following table:

97% A+ Excellent

Exceeds expectations

92% A
90% A-
87% B+ Good

Meets expectations

82% B
80% B-
77% C+ Satisfactory

Meets requirements, but not expectations

72% C
70% C-
67% D+ Unsatisfactory

Below requirements and expectations

65% D

Information about IDeATe


Most IDeATe facilities are located in Hunt Library. Lending, Physical Computing Lab, Media Lab, the laser cutters, 3D printers, woodshop, and CNC router are on the lower level. Some of the equipment requires special training which you will receive either in the class that requires it or in a micro course. If you are unsure of how to operate any of the equipment or are unsure how to use the equipment safely and effectively, please send email to

  • Safety: Report all fires and emergencies immediately to University Police at 412-268-2323.
  • Emergency response: University Police — 412-268-2323
  • Building maintenance: Facilities Management & Campus Services — 412-268-2910
  • IDeATe-related inquiries —

IDeATe Lending

Once you are enrolled in an IDeATe course, you will have access to IDeATe Lending. You will maintain your access through the rest of your time at Carnegie Mellon. You must present your CMU ID each time you borrow an item. You will also be able to purchase a limited number of consumable items (such as plywood and acrylic) for projects. Please visit for more detailed information on available resources, to review the IDeATe Lending Borrower Policy, and to find hours of operation.

Classroom and Lending access

If you are enrolled in an IDeATe class at least a week before the start of the course, you will have access to IDeATe Lending and (if applicable) have keycard access to the classroom door on the first day of class. If you add a course during the Add Period, you may need to wait a few business days to receive access while the lists are updated. If you add a course after the last day of the Add Period, email with your name, Andrew ID, and course number so we can add you to our systems.

IDeATe advising

If you have questions or need advice about IDeATe minors or courses, please get in touch with Kelly Delaney, the Assistant Director of IDeATe. Her office is in Hunt 246 and her email is

Accommodations for Students with Disabilities:

If you have a disability and have an accommodations letter from the Disability Resources office, I encourage you to discuss your accommodations and needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at

Statement of Support for Students’ Health & Well-being

Take care of yourself.  Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

All of us benefit from support during times of struggle. There are many helpful resources available on campus and an important part of the college experience is learning how to ask for help. Asking for support sooner rather than later is almost always helpful.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit their website at Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.

If you or someone you know is feeling suicidal or in danger of self-harm, call someone immediately, day or night:

  • CaPS: 412-268-2922
  • Re:solve Crisis Network: 888-796-8226

If the situation is life threatening, call the police

  • On campus: CMU Police: 412-268-2323
  • Off campus: 911

If you have questions about this or your coursework, please let me know. Thank you, and have a great semester.