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

- Posted by

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 G.C.S. 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 the student organization Game Creation Society will mirror and compliment work done in class.


Lecture 1: Introduction

Slides (pdf)
Lecturer: Adrian & Carter

  • 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: Adrian

  • 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: Wrangling Unity

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

  • 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 4: The Asset Pipeline and You

Lecturer: Carter

  • Technical introduction to Photoshop, an image editing tool
    • What is an alpha channel? What are layers?
    • Survey of common Photoshop operations / tools
  • Technical introduction to Audacity, a free sound editing software package
  • Optimizing game assets: Importing image and audio files files into Unity

Lecture 5: Move it: Animations in Animate CC and Unity

Lecturer: Carter

  • Technical introduction to Adobe Animate, a 2D animation suite
  • What is keyframing? What is a sprite sheet?
  • Importing animations to Unity: How to manage sprite sheet import settings
  • Brief introduction to Unity’s mecanim animation system

Lecture 6: 3D Modeling in Blender

Lecture Notes (pdf)
Lecturer: Adrian

  • Understand the basics of the Blender user interface
  • Build 3D models using local mesh editing tools
  • Utilize global mesh editing tools (Modifiers)
  • Map a texture to a 3D Model using UV unwrapping
  • Export 3D models in a Unity-optimized format

Lecture 7: UI Development in Unity

Lecturer: Carter

  • Deep dive into Unity’s UI system: the Canvas component, Rect Transforms, and more.
  • Maintaining resolution independence with the Canvas Scaler
  • Managing complex UI transitions via Mecanim
  • Executing UI skills by implementing UI functionality in an existing game

Lecture 8 / Midterm: Writing a Game Design Document

Slides (pdf), Template (pdf)
Lecturer: Adrian & Carter

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 February 3rd) from 2:00-5:30pm, GCS holds open office hours in Wean 5421, 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