GCS StuCo: Game Creation for People Who Want to Create Games (98-127)
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.
Previous Course Iterations: Spring 2019
Lecture 1: Introduction
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
- 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
- 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
Lecture Notes (pdf)
- 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 5: Animation: Bring It to Life
- Understand the principles of animation
- Create animations using Key Frames and Curves
- Control the properties of scripts using the animation window
- Create a simple state machine using Mecanim
- Use unity animations, particle systems, trails, and post processing effects to add feedback and juice to games
Lecture 6: 3D Modeling in Blender
Lecture Notes (pdf)
- 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 / Midterm: Writing a Game Design Document
- What is a Game Design Document?
- Major elements: Goals, Narrative, Gameplay Systems, Art Style, Technical / Organizational implementation
- Exploring and critically analyzing GDDs from real games
- Case Studies: Bioshock 1, Diablo 1, GTA 1 ("Race 'n Chase"), Starfox 2 (Gameplay), Starfox 2 (Arwing)
- More Resources:
Lecture 8: The Fourth Wall: User Interface in Unity
- Understand how Unity organizes its UI
- Configure interactivity between player and UI
- Control the Camera and make your games feel more professsional
- Understand basic patterns for creating UI systems
- Learn the basic tools of Game Development
- Learn the fundamentals of Design and Game Feel
- Explore the various disciplines involved in Game Creation
- Create a working game that demonstrates these principles
Every Sunday (starting September 8th) 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.
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.