GDD @ Berkeley


Syllabus Schedule Labs

This course is a deep dive into the creation of games, from beginning to end. Over the course of the semester, students will pitch a game, form small teams, and build a project from start to finish with help from the instructors. Students are not required to have any prior game development experience but it is required that a student taking the course either has basic art, music or programming abilities.

They will also learn about the different roles that exist within the industry, how to apply their skills to them, and form an understanding about how to best prepare themselves to find their way into these roles. This will be a rigorous class, one that will require a lot of time and dedication. Students will be selected via the application due Sunday, January 24th at 11:59 PM, to ensure that the class composition reflects a diverse range of skills, backgrounds, and proficiency levels.

Apply Here

Course Info

Time: Wed/Fri 7:00-8:30pm

Location: Zoom

Lead Facilitators: Jasmine Zhang, Katherine Pan

Faculty of Record: Ren Ng

Course Email:

Office Hours

Time: Mon 4-5pm, Fri 12-1pm PT

Location: Discord

Past Projects


This class is open to both programmers and artists. You are not required to have any prior game development experience.


Have completed CS61A and CS61B (concurrently is ok)


Some artistic background, familiarity with some digital art tools. A portfolio works

Course Structure

The class meets twice a week, for an hour and a half each meeting and attendance is required. For the first four weeks, meetings will be tutorial lectures, designed to provide students with knowledge of how the Unity engine works and best practices for implementing game mechanics. The majority of the classes for the first half of the course will be in the form of hands-on lab assignments.

Project teams are formed around Week 6 and the course will assume the following structure:

The first ~20 minutes of class will be a short lecture. On the first class of the week, a project work meeting will follow. On the second class of the week there will be a work day following. Occasionally, the second class of the week will be replaced with a guest lecture or playtest.

During the project work meetings:

Teams will meet, check in with a facilitator about their progress, and plan their work schedule for the next week. Teams will work on their projects and get help from facilitators. The lectures from Week 6 onward will be determined during the semester based on what the students need. The lectures will come from a variety of sources: instructors, industry contacts, alumni, and possibly the students themselves.

The Projects

Project 1

Programmers will follow along a series of tutorial videos to create a game from scratch. After completing the game, each student will be required to design and implement their own mechanics, artwork, or SFX and music. This project will reinforce key concepts introduced in the lectures given in the first four weeks of the class. Programmers will learn the fundamentals of creating a project in Unity by following the tutorial. Artists will learn to create and incorporate their own assets by designing and importing their own assets into a mechanically completed game.

Team size: 1 person

Project 2

A one week "game jam" type project where the goal is to try and build a game in a week. The main purpose of this project is to teach students about scope and what can be done in a week. It will also serve as a way for each student to see what kind of group dynamic works best for them.

Team size: 2-3 people

Project 3

The flagship project for the course is a game designed and built by the students themselves over the course of approximately two months. Students will begin preparing pitches in Week 5 with guidance from the instructors, and will present their pitches to the entire class in Week 6. Students will then select which projects they are interested in, and the instructors will form teams based on their interests and skills. From there on out, the teams will work with the instructors and their team leads to create a schedule. The instructors will also assign labs to each team based on the project that team is working on; the labs will provide the team with resources that will be useful to know when working on the project. While working on the project, the teams will work with and receive feedback from the facilitators and other students. All projects will be graded based on how well they achieve five milestones.

Team size: 3-4 people

At each milestone, all projects are shared with the rest of the class. These milestones are as follows:

Milestone 0: Each team is expected to have a game design document completed. The design document needs to include an explanation for the vision of the game as well as the specifics for the core aspects of the game. The teams are also expected to create a week by week breakdown of tasks.

Milestone 1: Minimum Viable Product (MVP): Playable prototype of the original pitch. The core mechanics and the first iteration of the core art assets of the game should be implemented. Effectively this milestone exists to ensure that the games are fun, and to provide teams with feedback regarding how their game can be improved.

Milestone 2: Alpha Build: All of the main mechanics should be in place. The general art style should be decided on and the main assets (character, environment) should be in place. A first pass should be done on the rest of the art assets. There should be a basic but complete level as intended to appear in the final game. This build can have bugs.

Milestone 3: Beta Build: The main mechanics should no longer have any bugs. Most of the art assets should be completed and in the game. The game and its levels should be mostly complete. This build needs to have a certain level of polish; having a few small bugs and incomplete minor assets is fine at this build.

Milestone 4 (showcase): Release Build: Finished Project. The game should be complete, and in line with the original pitch. It should be polished, playable from start to finish, and mostly bug free.

At each milestone, team members will fill out team evaluations that will be factored into your grade.


In the first few weeks, students will work through instructor made, CS-style labs that are focused on teaching a particular aspect of Unity that will aid students in making their projects throughout the semester. Labs will be assigned in class and due the following week.They are completed upon answering check-off questions with a facilitator. Each lab is graded by completion.


Students will be responsible for several written assignments. One is a reflection for project 2 to journal their progress within the week that they develop their game. The second is a game design document for the final project that details the design of your game as well as a week by week breakdown of tasks. Lastly students will be required to submit a short write-up detailing their thoughts on the project and the course as a whole.


Students will be required to read one article on game design concepts and principles every week. Basic questions will be asked to the students to ensure that students have been keeping up with the required readings. A link to each week’s reading is provided in the syllabus below and also posted on the course website.


Every student will need a laptop capable of running Photoshop, Illustrator, and Unity3D. No textbooks are required. Two recommended resources are articles from and videos from


Labs 10%
Project 1 10%
Project 2 10%
Project 3 60%
Written Responses 10%
Project 1 and 2:

Graded on completion of project specifications

Grading will consist of a P/NP and some feedback on your project

Project 3 (Per milestone):

Mentor evaluation: 40%

Peer evaluations: 40%

Project score: 20%

Project score is based off of progress made not percentage of pitch completed

A minimum of 70% is required to pass the course.

General Policy

Attendance matters! If you cannot be at class, you must let an instructor and your team lead know. Only two unexcused absences will be allowed, and any further absences will result in your grade dropping 10% per absence. If you are in danger of not passing come the end of the semester, the instructors will let people know what can be done to remedy that.

 Week   Day  #  Lecture  Reading  Lab Links  Project Office Hours
0 We 1/27 1 Intro to Unity- Basics
Course Overview and Info Session
Game Design Principles Intro to Unity Lab Location: TBD
Fr 1/29 2 Intro to Game design Programers Lab: Intro to Programming
Artist Lab: Spriting
Project 1 Part 1: Artists
Art/Programmer Hybrid
Music/Programmer Hybrid
Location: TBD
1 We 2/3 3 Intro to the Art Pipeline
Character Design
Good Graphics V.S Good Aesthetics Programers Lab:Advanced Unity Programming
Artist Lab: Animations
Location: TBD
Fr 2/5 4 Animation Lecture Programers Lab: Colliders
Artist Lab: Tile Map
Project 1 Part 1 due
Project 1 Part 2:
Progrmmaer Musician Hybrid
Programmer Artist Hybrid
Location: TBD
2 We 2/10 5 Game Loops Basic Principles of Gameplay Design Programmer Lab: Rigidbodies
Artist Lab: Animator
Location: TBD
Fr 2/12 6 UI Lecture Programmer Lab: Unity UI
Artist Lab: UI Asset Creation
Project 1 Part 2 due
Project 2 Assigned
Location: TBD
3 We 2/17 7 Group Dynamics and Design Docs How to Pitch your Project to Publishers Programmer Lab: Coroutines
Artist Lab: Environment Design
Location: TBD
Fr 2/19 8 MVP Lecture Project 2 Due Location: TBD
4 We 2/24 9 Pitch Day How and Why to Write a Great Game Design Document Location: TBD
Fr 2/26 10 Project 2 Showcase Project 3 Teams are Assembled Location: TBD
5 We 3/3 11 5 Tips for Better Playtesting Project Work Meeting Location: TBD
Fr 3/5 12 AI Design Milestone 0: Game Design Doc Due Location: TBD
6 We 3/10 13 Game Feel Team and Corporate Structure Project work meeting Location: TBD
Fr 3/12 14 Milestone 1 Delivery: Demo and Feedback Location: TBD
7 We 3/17 15 Lecture: Music and SFX Insightful Playtest Questions Project work meeting Location: TBD
Fr 3/19 16 Lecture: Potential Guest Lecture (TBD) Location: TBD
8 We 3/24 17 Spring Break 4 Layers, A Narrative Design Approach Location: TBD
Fr 3/26 18 Spring Break Location: TBD
9 We 3/31 19 Lecture: Tutorials Xbox Adaptive Controller Project Work Meeting Location: TBD
Fr 4/2 20 Milestone 2 Delivery: Demo and Feedback Location: TBD
10 We 4/7 21 Lecture TBD A Brief Note on Games and Narratives Project work meeting Location: TBD
Fr 4/9 22 Potential Guest Lecture, TBD Milestone 2 Location: TBD
11 We 4/14 23 Accessibility Lecture The Many Ways to Show the Player how it's Done with In-Game Tutorials Project work meeting Location: TBD
Fr 4/16 24 Miestone 3 Delivery: Demo and Feedback Location: TBD
12 We 4/21 25 State of the Industry Game Design in Real Life: Gamification Project work meeting Location: TBD
Fr 4/23 26 Potential Guest Lecture (TBD) Location: TBD
13 We 4/28 27 Building and Publishing Project work meeting Location: TBD
Fr 4/30 28 Game/course postmortem writeup due Course Postmortem writeup due Location: TBD
14 We 5/05 29 Dead Week Location: TBD
Fr 5/07 30 Dead Week Location: TBD
15 Tu 5/4 (tentative) 31 Showcase Location: TBD

Programming Labs

Art Labs