CS 169 a/b Capstone Game Project 2020-21

Class Syllabus

Professor
Theresa (Tess) Tanenbaum

(ttanen@uci.edu)

TA
Jeffrey Bryan

(jsbryan@uci.edu)

Time
Wednesdays 5-7:50pm

Location
Remote Instruction

Catalog Description

Students work in teams to design and implement a new computer game or virtual world. Emphasis on sound, art, and level design, building a community, cut scenes, production values, full utilization of hardware and software platform, and current industry trends.

Course Objectives and Philosophy

In this course students work in teams to design and develop a game.  This game can be in any genre, developed on any platform, and be about any subject. As a final project class, things are pretty wide open, but there are some “learning objectives” for the class:

  • Learn how to work within a diverse team as a specialist, while also taking ownership of the “big picture”.
  • Learn how to “scope” and “polish” a comparatively “long term” game project.
  • Learn how to coordinate with outside “contractors”, mentors, and collaborators, and how to manage complex communication and organizational tasks.
  • Learn how to position your game within a market that is saturated with independent games so that it stands out.
  • Learn how to test and refine your game with naïve players, how to take critical feedback, and how to “find the fun” through iterative design.

By the end of these two quarters, you should have a portfolio piece that you can proudly take with you as you enter the job market.  You should have a game that you can enter into local, regional, and national design competitions.  You should have something that you could conceivably polish and further refine and attempt to publish or otherwise distribute. By the end of the Fall Quarter you should have a playable prototype that is “feature complete”, meaning that the core mechanics are in place, and the “fun” is present.  You will need the entire Winter Quarter to polish and refine that prototype into something that approaches “content complete”.

Adapting to COVID-19

It is not ideal, but we find ourselves in a situation where the course must be conducted remotely. Making this work is going to require some additional effort from everyone to try and recreate the dynamics of the classroom.  I will be online every Wednesday night during the hours scheduled for class, but aside from a few classes at the beginning, we will not be all meeting together online. Instead, each team will be responsible for checking in with their Industry mentors at least once every two weeks, and with me or with the TA at least once every two weeks. I will regularly produce and post course related content an resources which you will be required to watch or read, but it will not be burdensome.  The vast majority of the course activity will take place on our Discord server, which everyone should have an invitation to join.

Design Constraints for Capstone Games During COVID

Due to the current remote development circumstances, there are some constraints on the games that you can make, in order to facilitate remote playtesting and accessibility.

      • No Multiplayer: Typically we see several local-multiplayer games each year. Due to social distancing, this design patter can’t be tested adequately. Similarly, networked multiplayer introduces too many difficulties in coordinating testing and evaluation of games during COVID. Please keep your games playable by a single player.
      • All games must be playable in-browser*: Due to device compatibility issues across students, mentors, and the teaching team, each build that you post for review and feedback must be playable in-browser on itch.io. In order to assess and support your projects we need to be able to play them without having to troubleshoot a download or installation process.
      •  No teams bigger than 5 people: Due to the challenges of managing collaborations remotely, we are limiting teams to 5 people. We will not make any exceptions to this limit this year.

These constraints are designed to help you all get the most out of this capstone project class under less-than-optimal circumstances.

 

*A note about web builds: I’ve learned that some of you are interested in building in Unreal this year.  Unreal doesn’t currently support building for the web. I don’t want to crush the dreams of people who are set on working in this engine. If you want to use Unreal, please reach out to me so we can work out a solution that will allow the teaching team and mentors to be able to play your games with minimal troubleshooting.

 

Course Logistics and Resources

Course Structure

Please check the schedule below weekly to determine if we are going to be meeting as a class online. Most weeks you will be scheduling check-ins with your mentors or with me or my TA. I will be available for check-ins at regularly scheduled class times, and will be establishing a schedule for people to reserve spots. If your team is unable to meet during our regular class time, we will arrange a different time for us to meet.

Mentors

We are joined by an exciting group of professional game developers from the games industry! Each team will have at least 1 official mentor, who will be available to meet with you online. These folks have a lot of wisdom and experience to offer and are committed to helping you make your games the best they can be.

Course Website

Most course activities will happen on our private Discord server, which we will use for text, voice, and video communications.

ITCH.IO Sites

Each team will create a project on itch.io where they will be able to post playable builds as the game progresses.

Google Drive

We will provide each team with a Google Drive folder, which we will have access to. This should be used for storing any design documentation, game assets (excluding code), and other materials that you generate during the class. Do not keep source code in this folder: that is what GitHub is for!

GitHub Repositories

We will be using GitHub to store and track the files created for the games in this class. I will create private repositories for each team as part of the course setup. Every student should create a GitHub account if they do not already have one.

Winter Assignments and Grading

Winter Quarter Grading and Deliverables

ICS 169A and 169B are graded together; your official grade for the Fall quarter will be IP (In Progress). Each student will receive an unofficial, “tentative” grade for the Fall quarter, which will be determined as follows:

We are coordinating with the SGDA for the Global Game Jam this year! The first day of the Jam is Friday January 29th, at 6pm PST. Due to COVID the GGJ will be remote, which means there is no reason to miss it! This year, you all will participate in the Jam – you will receive a grade for your participation in the jam, and we will incorporate it into our winder development cycle.

 

The Global Game Jam represents an opportunity for you to take a step back and assess what you’ve been doing. Is your team working well together? Are you happy with your game? Do you need to try a new idea? This is your chance to make something new, and to shake up your things if they are not working out. If, at the end of the GGJ, you decide that the game you made during the Jam is worth pursuing, you may choose to continue working on it for the Capstone class.

There will be two official classes this quarter dedicated to playtesting each other’s games. Each student will be asked to playtest a set number of games (TBD) and to fill out a playtesting report on the games they test.

There will also be ongoing informal opportunities to play each other’s games.

Your main deliverable for this course is your final game project.  I will assign it a letter grade, based on the following factors:

  • Gameplay: Did you find the fun? Is the game fun in more than one way? Do the mechanics give rise to the desired dynamics, and do these lead to the aesthetics that you are trying to produce? Is the game replayable? Are the controls effective and appropriate to the game design? Does it use challenge and difficulty effectively? Does the game reward desired behavior? Are the rewards intrinsically motivating? Does the game support a range of strategies, approaches, and playstyles?
  • Narrative, concept, mood, or theme: Does the game have a strong concept that informs and integrates the different aspects of its design?  Is this concept reflected in the gameplay? If the game includes narrative elements, are they realized through quality writing, environmental design, and character design?
  • Aesthetics: Are the visuals pleasing and appropriate to the design? Is there a clear and consistent visual language in the game? Does it convey the desired mood or theme? Are animations polished and physically believable?
  • Audio: Does it have music and sound?  Are the audio assets complete, polished, and effectively integrated into the experience? Do they convey the desired mood or theme?
  • User Experience and Interface:  Are there appropriate menus, options, and interfaces for getting into and out of the game? Does the in-game UI communicate essential game-state information? Is the game-state legible to the player when necessary? Is the controller or keyboard/mouse configuration learnable, legible, and in service to the the design goals of the game? Does the interface leverage existing literacies or conventions where appropriate? Do the interface elements reinforce and support the narrative, theme, and emotional content of the game?
  • Bookmarking and “scaffolding”: Does the game support save-states, player profiles, warps, passwords, checkpoints, or other systems for preserving progress and allowing players to interrupt and continue play across multiple sessions? Does the game provide tutorials, in-game support, training systems, and other mechanisms for teaching the player how to play, where to proceed, and how to engage with the game?
  • Technical accomplishment: Does the game do something that required complex computation or infrastructure development (e.g.: complex AI, networked multi-player, procedural content generation, etc.)
  • Depth and breadth: Does the game support extended play? Are there extensive levels to explore?  Are there multiple characters or playstyles or weapons, or skills? Does the game support and reward the development of mastery and skill over repeated play?
  • Innovation: Does the game attempt to do something new at the level of mechanics, dynamics, or aesthetics? Is it pushing the boundaries of existing games, or breaking new ground with aspects of its design?

For the most part, everyone on the team will receive the same grade, however I reserve the right to modify this grade at the individual level if it becomes clear that some members of a team are doing either exceptionally well or exceptionally poorly when compared to their peers.

The Winter Quarter grades are worth 55% of your overall grade in the class

Extra Credit Opportunities

We want to incentivize you all work together, even if you aren’t on the same team. To this end, we are offering extra credit to people who ask good questions throughout the year, and to the people who answer them. We will use Emoji reactions to help score questions (more details in Discord).

 

Sources of extra credit:

          • Asking a question about some aspect of making your game* (in the #capstone q-and a channel, or in the relevant Helpdesk and Role Discussion channels): up to 1 point of extra credit.
          • Answering a question in writing: Up to 2 points of extra credit.
          • Posting a demo/tutorial video response: Up to 4 points of extra credit.

The final total amount of extra credit awarded will be at my discretion, but it will be influenced by your votes, so if you think a question is important and would help you, vote for it (with a reaction) and if you think an answer is useful, vote for it.

 

*Note: this doesn’t apply to questions about meta aspects of the class (deadlines, submission processes, etc.). It’s specifically meant to encourage collaborations between you about game making.

Winter Weekly Schedule

Week 1

January 6

  • Welcome Back!
  • Winter Deliverables overview 
Week 2

January 13

  • Meet with Mentors
  • Shuffle Mentors
  • Meet the Mentors
  • Lecture: “Game Feel & Polish”

Deliverables:

  • By Monday of Week 2: Weekly Build
Week 3

January 20

  •  Playtesting

Deliverables:

  • By Monday of Week 3: Weekly Build
  • By Friday of Week 3: Playtesting Reports
Week 4

January 27

  • Meet with Mentors

Deliverables:

  • By Monday of Week 4: Weekly Build
Week 5

February 3

  • Lecture: Narrativized and Embodied Interface
  • Sign up for design check-ins with Professor Tanenbaum

Deliverables:

  • By Monday of Week 5: Weekly Build
Week 6

February 10

  • Meet with Mentors

Deliverables:

  • By Monday of Week 6: Weekly Build
Week 7

February 17

  •  Playtesting

Deliverables:

  • By Monday of Week 7: Weekly Build
  • By Friday of Week 7: Playtesting Reports
Week 8

February 24

  • Meet with Mentors

Deliverables:

  • By Monday of Week 8: Weekly Build
Week 9

March 3

  • Review of final deliverables
  • Sign up for design check-ins with Professor Tanenbaum

Deliverables:

  • By Monday of Week 9: Weekly Build
Week 10

March 10

Final showcase!

DETAILS TBA!

Finals Week

March 17

No class meeting during Finals Week

Final Builds and design materials are due by 11:59pm on Wednesday March 17th.

Additional Important Course Policies and Resources

Helpful Resources, Tips, and Tricks

Fall Assignments and Grading

Fall Quarter Grading and Deliverables

ICS 169A and 169B are graded together; your official grade for the Fall quarter will be IP (In Progress). Each student will receive an unofficial, “tentative” grade for the Fall quarter, which will be determined as follows:

There will be two official classes this quarter dedicated to playtesting each other’s games. Each student will be asked to playtest a set number of games (TBD) and to fill out a playtesting report on the games they test.

There will also be ongoing informal opportunities to play each other’s games.

For the final presentation each team will present their game prototype to the class.  This should be playable and should capture the core mechanics and experience of the game that you are developing. The second quarter of the class should be polishing and testing, so you want your prototype to be as feature complete as possible

The tentative Fall quarter grade will be weighted as 45% of the overall grade.

Late submissions will not be accepted under any circumstances.

Old Fall Weekly Schedule

Week 1

October 7

This is one of the only classes this year where we will all try to be online at the same time.  We will introduce the teaching team and the dive right in to concept brainstorming.  Our goal is to clear the cobwebs out and get everyone thinking about making games under these extraordinary circumstances. We will then begin the process of making teams.

Plan to be online for the duration of this class period.

We need to set up GITHUB repositories for your teams, and Google Drive Folders. The mentors also want to be able to check out your teams and get to know you. Once you have formed a team, elect one person to serve as the team lead (for the purposes of this assignment). That one person needs to provide the following information in a post on the #Introductions channel on Discord:

        • Your Team Name
        • The preferred names of your team-members.
        • The UCI email address for everyone on your team
        • The GITHUB usernames for everyone on your team.
        • The itch.io link that your team will be using this quarter. This must be accessible without a password. Use either the DRAFT setting for the project visibility, or make it PUBLIC and UNLISTED.

Also due at the same time: a short pitch for your game, posted in the #pitches channel. This pitch should include the following details:

        • The Narrative, Fantasy, or Premise of your game: What is the high-level idea behind your game?
        • The gameplay style/genre: what kind of a game is it? What are the core mechanics of the gameplay?
        • The look and feel of the game: what style will the game be done in?
Week 2

October 14

This week we give the mentors a chance to introduce themselves, and allow them to critique the pitches and provide feedback.  By the end of the week we will have matched every team with at least one mentor.

Plan to be online for the first 90 minutes of the class period.

Video: Course Policy Overview

Video: Intro to Project Management Tools.

Slides: Course Policies & Project Management

Week 3

October 21

Typically, in week 3 we would do a paper prototyping activity.  That isn’t feasible this year. Instead, we’re going to try something new: I want everyone to make a functioning prototype of your game, to the best of your ability in Scratch. 

As a team you will create a studio in Scratch which will allow you to all collaborate on a project together.  The goal of this project is to get your team accustomed to remote collaboration together, and to allow you to quickly prototype and test you game’s core play loop. 

By the end of the week you need to have posted a Low-Fidelity prototype of your game, made in Scratch in the Discord.

Week 4

October 28

Starting this week, every even numbered week will be a week for mentor meetings.  Teams will need to negotiate these with their mentors, who have agreed to make themselves available to meet for at least one hour every two weeks. These meetings do not need to take place at the regularly scheduled class time.  However, they do need to take place in the class discord, and not in the team’s backchannels. It is each team’s responsibility to negotiate and schedule a meeting time on the mentor weeks.

This week the teams will be reviewing their design ideas with the mentors and playing through their scratch prototypes.

Video: Guest Lecture (TBD)

Before Week 5 you should have your first playable build posted on Itch.io.  This can be in whatever engine you choose (typically Unity). Once you have posted your build on Itch, please also post an announcement in the #playtesting channel.

Week 5

November 4

We will schedule design critique sessions with each team individually.  Our goal will be to meet with every team for about 10-15 minutes during the regularly scheduled class time. If for some reason this time does not work for all members of the team we will consider an alternative time.

We will post a schedule of sign-up spots at the beginning of the week on Discord. 

Video Playlist: Finding the Fun

Before Week 6 you should have your second playable build posted on Itch.io. Once you have posted your build on Itch, please also post an announcement in the #playtesting channel.

Week 6

November 11

This is another week for mentor meetings. Teams will need to negotiate these with their mentors, who have agreed to make themselves available to meet for at least one hour every two weeks. These meetings do not need to take place at the regularly scheduled class time. However, they do need to take place in the class discord, and not in the team’s backchannels. It is each team’s responsibility to negotiate and schedule a meeting time on the mentor weeks.

This week the teams will be discussing their current builds with the mentors.

Video: Guest Lecture (TBD)

Before Week 7 you should have your third playable build posted on Itch.io.  Once you have posted your build on Itch, please also post an announcement in the #playtesting channel.

Week 7 will be a playtesting week. Be prepared for your colleagues to play and respond to your games.

Week 7

November 18

This is our first formal playtest of each other’s games.  Prior to playtesting, the teaching team will circulate a playtesting feedback form to distribute to everyone.  We will create a rotation where we assign everyone a list of games to play and provide feedback on.  When you have finished playtesting each game you will post your feedback on the Discord for the teaching team and your colleagues.

Video: Guest Lecture (TBD)

Document: Playtesting Form

Before Week 8 you should have your fourth playable build posted on Itch.io.  Once you have posted your build on Itch, please also post an announcement in the #playtesting channel.

Week 8 will be a chance to meet with your mentors and discuss your games.

Week 8

November 25

This is another week for mentor meetings. Teams will need to negotiate these with their mentors, who have agreed to make themselves available to meet for at least one hour every two weeks. These meetings do not need to take place at the regularly scheduled class time. However, they do need to take place in the class discord, and not in the team’s backchannels. It is each team’s responsibility to negotiate and schedule a meeting time on the mentor weeks.

This week the teams will be discussing their current builds with the mentors.

Video: Guest Lecture (TBD)

No build due on Monday – enjoy your Thanksgiving Holiday.

Week 9

December 2

We will schedule design critique sessions with each team individually.  Our goal will be to meet with every team for about 10-15 minutes during the regularly scheduled class time. If for some reason this time does not work for all members of the team we will consider an alternative time.

We will post a schedule of sign-up spots at the beginning of the week on Discord. 

No new materials this week

Before Week 10 you should have your second playable build posted on Itch.io. Once you have posted your build on Itch, please also post an announcement in the #playtesting channel.

Week 10

December 9

This is another week for mentor meetings. Teams will need to negotiate these with their mentors, who have agreed to make themselves available to meet for at least one hour every two weeks. These meetings do not need to take place at the regularly scheduled class time. However, they do need to take place in the class discord, and not in the team’s backchannels. It is each team’s responsibility to negotiate and schedule a meeting time on the mentor weeks.

This week the teams will be discussing their current builds with the mentors.

No new materials this week

Your feature complete prototype is due, posted on Itch.io, and in the #playtesting channel on the discord by the Monday of finals week.

Finals Week

December 16

This is our second formal playtest of each other’s games. Prior to playtesting, the teaching team will circulate a playtesting feedback form to distribute to everyone. We will create a rotation where we assign everyone a list of games to play and provide feedback on. When you have finished playtesting each game you will post your feedback on the Discord for the teaching team and your colleagues.

Document: Playtesting Form

Enjoy your winter break!