GCS StuCo: Game Creation for People Who Want to Create Games (98-127)

Course Description

In this course students will learn the basics of game creation. The course is intended for both beginners and experienced game designers. In addition to project work done in class, students will learn fundamental tools like Unity.

The intent of this course is to expand the community of game makers at CMU to those who are interested in making games but may not have had the inclination to pursue it through more intensive means such as GCS or IDeATe.

The course also serves as an additional place for those already involved in the community to learn and collaborate. Tutorials and projects done in Game Creation Society will mirror and compliment work done in class.

Previous Course Iterations: Spring 2019, Fall 2019, Spring 2020, Fall 2020, Fall 2021

StuCo

Wednesdays @6:40-8:30pm
Zoom


Office Hours

Sundays @2:00-6:00pm
Zoom


Instructor

David Zelong Fan
Thomas Carey

Schedule

Lecture 1: Introduction

Slides (Google Slides)
Lecturer: Thomas

  • What is Game Design? What does Game Development Entail?
  • A brief overview of the course and course procedures

Lecture 2: A First look at Unity

Lecture Notes (pdf), Base Code (unitypackage)
Lecturer: David

  • Understand what a Game Engine is, and why we use the Unity game engine
  • Utilize common Unity editor functionality and navigate scenes
  • Understand Unity’s high level architecture: the Scene Graph and GameObjects
  • Utilize the inspector to design levels, given art assets and scripts

Lecture 3: The Asset Pipeline and You

Lecture Notes (pdf)
Lecturer: Thomas

  • Become familiar with image manipulation through Gimp
  • Perform basic tasks like re-sizing, removing backgrounds, and importing / exporting
  • Become familiar with audio manipulation through audacity
  • Perform basic tasks like trimming, amplifying, and stretching sounds
  • Find both image and audio assets for free on the internet through libraries

Lecture 4: Wrangling Unity

Lecture Notes (pdf), Base Code (unitypackage)
Lecturer: David

  • Create C# scripts in the Unity editor, edit them, and apply them to GameObjects as Components
  • Understand the basics of Unity’s MonoBehaviour: Start(), Update(), and more
  • Add easy-to-use interfaces to your component in the Unity Inspector, enabling artists and level designers to tweak parameters in your Unity code.
  • Allow your scripts to interoperate with other Components (of your own creation or Unity’s)
  • Use Prefabs to dynamically create GameObjects in your scripts

Lecture 5 / Midterm: Writing a Game Design Document

Template (pdf)
Lecturer: Thomas


Lecture 6: Production

Lecture Notes (pdf)
Lecturer: David

  • Understand the role of producer/team lead in the video game development process
  • Learn how to use tools like Github and Trello for cooperation, understand master-dev-feat branching
  • Understand the purpose and best practices of playtesting
  • Learn how to properly scope and execute the project

Course Goals

  1. Learn the basic tools of Game Development
  2. Learn the fundamentals of Design and Game Feel
  3. Explore the various disciplines involved in Game Creation
  4. Create a working game that demonstrates these principles

Office Hours

Every Sunday (starting September 20th) from 2:00-6:00pm, GCS holds open office hours via Zoom, where teams come to work in a collaborative environment. Students in the StuCo are also encouraged to come, especially while working on the two main course assignments, as listed below.

Mid-semester Assignment: Design Document

The mid-semester assignment is an original detailed design document. Students will have to reason about scope, game loops, and detailed mechanic descriptions. The assignment is meant to make students think carefully about all the parts of a game. It is also an opportunity to be creative and express the ideas that you would like to see in a game. Time in class will be allocated to work on this, but students are encouraged to work on it outside of class if they feel inspired.

Final Project

Students will team up to collaborate on a final project. Using supplied behaviours, images, and sounds, students will build a game. The design is up to the students and serves as a chance for students to demonstrate the principles covered previously in class. Making a game is a laborious enterprise even with assets from the instructors, so students are encouraged to meet and work outside of class.

Course Resources

  • Schedule