at UC Irvine, Department of Informatics
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.
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:
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”.
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.
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.
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.
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.
Most course activities will happen on our private Discord server, which we will use for text, voice, and video communications.
Each team will create a project on itch.io where they will be able to post playable builds as the game progresses.
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!
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.
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:
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
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:
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.
January 6
January 13
Deliverables:
January 20
Deliverables:
January 27
Deliverables:
February 3
Deliverables:
February 10
Deliverables:
February 17
Deliverables:
February 24
Deliverables:
March 3
Deliverables:
March 10
Final showcase!
DETAILS TBA!
March 17
No class meeting during Finals Week
Final Builds and design materials are due by 11:59pm on Wednesday March 17th.
As your professor, I am committed to ensuring equality and valuing diversity throughout our course. Our individual differences can deepen our understanding of one another and the world around us, rather than divide us. In this class, people of all ethnicities, genders and gender identities, religions, ages, sexual orientations, disabilities, socioeconomic backgrounds, regions, and nationalities are strongly encouraged to share their rich array of perspectives and experiences. If you feel your differences may in some way isolate you from UCI’s community or if you have a need for any specific accommodations, please speak with me early in the quarter about your concerns and what we can do together to help you become an active and engaged member of our class and community.
This course is for any interested eligible student who has met the prerequisites and is a community member in good standing at UC Irvine. Every kind of student is welcome in this class and can do well. Every student has a right to a productive learning environment — again, in person or online, in our weekly lectures or via email, anywhere on campus or at any sanctioned school event.
This implies a corresponding responsibility that we all protect and maintain this space as one that promotes a specific function: learning to develop games. This class welcomes students of any gender identity, any sexual orientation, any national origin, any disability status, any racial identity, any political persuasion, any major, any marital status, any military/veteran status, any documentation status, any class, caste, or clade. It should go without saying that as a university classroom we respect intellectual disagreements and diversity in our community, but sister campuses of the University of California have recently been sites of distracting, unhelpful, and sometimes violent conflict related to issues of campus climate. We cannot guarantee everyone’s chance to learn without mutual respect.
We are a diverse and interdisciplinary group, and we may not always agree with each other in this classroom. I am committed to ensuring a collaborative environment where everyone is empowered to contribute fully. Central to any effective design practice is the ability to give and receive critical feedback in a manner that supports the goals of the project, builds up the abilities of your colleagues, and generates new creative opportunities. Certain behaviors undermine this process and have no place in our community. We expect all participants in the class to abide by these guidelines for maintaining a constructive and inclusive environment.
My name is Tess and I use she/her/hers pronouns. When you introduce yourself you may choose to share your gender pronouns. If you have a name you would prefer the teaching team and your colleagues to use instead of the one listed on the roster feel free to let us know and we will happily use it. If you have any questions about pronouns in general, or have any requests about your own pronouns or other gender-related needs in this space, you are welcome to chat with me.
Always use the correct gender pronouns and names for your classmates. Gender pronouns are words like she/her, he/him, or they/them. (If you would like me to refer to you using a name other than the one listed on the course roster or you would like to notify me or your colleagues of your gender pronouns, please let me know.)
I am very open about the fact that I am trans. Some of you may know me by my previous name (also called a “deadname” or a “necronym”), many of you likely do not. Due to the public nature of my work, there is a good chance that you will learn my deadname over the course of the next 24 weeks. I ask, if you happen to learn my old name, to please keep that knowledge to yourself. Do not share my old name, do not use my old name to refer to me, and do not cite my old name in your papers. For more information on how to cite me, see this article: How to Talk about Tess
Refrain from using derogatory language, such as words with negative connotations that refer to a specific racial or ethnic group, or that are related to gender or sexual identity. Also avoid “ableist” language, words that use references to mental or physical disabilities as slurs.Here is a good resource for identifying ableist language and thinking about alternatives.
Check your privilege. Think about who in the class has had a chance to speak and make space for others to share their ideas. When speaking, consider how your own experiences and background inform your perspective, and extend that consideration to your colleagues. Avoid making blanket or stereotyped statements about any person or group of people.
The classroom, your project groups, and our online exchanges should be open and safe spaces for discussion. I encourage you to challenge each other through respectful dialogue. Critiquing each others’ work is an integral part of this course. I expect your critiques to remain constructive and focused on the work at hand.
“UCI is a multicultural community of people from diverse backgrounds. Our activities, programs, classes, workshops, lectures, and everyday interactions are enriched by our acceptance of one another, and we strive to learn from each other in an atmosphere of positive engagement and mutual respect.” (UCI Code of Student Conduct).
As a community, let’s agree to hold ourselves to the highest standards of intellectual rigor and respectful comportment. I am asking for a good faith effort to create a classroom that rewards creativity and honesty.
In accordance with campus-wide policies, students with documented permanent or temporary disabilities who require individual academic accommodations must contact the Disability Services Center. Students should notify DSC at the start of the quarter so that appropriate accommodations can be arranged and coordinated with the instructor well in advance of course assignments and due dates. Please follow UC Irvine’s procedures in this area to make sure you get the accommodations you need: I am not allowed or qualified to deal with these kinds of requests.
If you have a life circumstance that inhibits your ability to study, there are many resources available to you. Please reach out! Don’t worry if you don’t know the appropriate office to contact: any decent teacher, faculty, or staff person in the University will at least try to point you in the right direction. A good place to start if you are dealing with a difficult life circumstance is the UC Irvine Counseling Center. The food pantry at FRESH provides emergency food and toiletries to UCI students experiencing basic needs insecurities. Many student services offer help on a confidential basis.
It is common for university students to experience periods of emotional distress, such as depression and anxiety, especially around periods of stress or change–for example, the transition to college from high school, beginning graduate school, or in the case of an unprecedented global pandemic. At times, these emotional challenges can interfere with schoolwork, making it difficult to attend class or complete assignments. If you are experiencing emotional distress, we strongly recommend contacting the UCI Counseling Center, which offers many forms of resources and support.
While I sympathize with the challenges you may be facing, I am not a mental health professional. Therefore, I cannot grant you special accommodations due to emotional distress (such as a deadline on an assignment) unless you have sought assistance from the UCI Counseling Center or an outside mental health professional and can provide relevant documentation. Please do not share the details of your mental health crisis with me or my TAs. This is for your privacy and allows us to maintain appropriate professional boundaries in our interactions.
If you are concerned about how your emotional health is affecting your overall quarter grade, seek assistance from the UCI Counseling Center immediately. Students whose grades suffer considerably are sometimes able to withdraw from the course after the drop/add deadline. However, they may only do so if their ongoing mental health issues have been documented by the UCI Counseling Center.
To the extent that I am able, I will try to help you if you experience something that interferes with your studies. Please note: I am legally obligated to report some kinds of harassment, domestic violence, or potential Title IX violations. If you are system-impacted or otherwise concerned about law enforcement, tell me those concerns up front and I’ll do my best to accommodate you.
Any student who faces challenges securing sufficient food or housing and believes this may affect their performance in the course is urged to contact the Dean of Students for support. Please also notify me if you are comfortable doing so. This will enable me to provide any resources that I’m able.
Plagiarism, whether intended or not, is academic fraud. You plagiarize when, without proper attribution, you do any of the following: copy verbatim from a book, an article, or other media; download documents from the Internet; purchase documents; report from other’s oral work; paraphrase or restate someone else’s facts, analysis, and/or conclusions; or copy directly from a classmate or allow a classmate to copy from you. I cannot and will not tolerate academic dishonesty. For more information, refer to the UCI Student Handbook. The UCI campus policy on academic honesty resides here: https://aisc.uci.edu/students/academic-integrity/index.php
Here is an excellent resource to help you determine if you have plagiarized or not?
Any instances of academic dishonesty will result in an F for the course and a letter that will go into your academic file at UCI.
Due to the nature of this course, there are few opportunities to plagiarize. However, there are lots of pitfalls around licensing, copyright infringement, and open/closed source software to be on guard for. There are plenty of resources out there for game developers including asset packs of sprites, sounds, and animations. There is also a lot of open source code that can be used to solve problems that others have already solved so that you can focus on your designs. I’m generally comfortable with you using these resources in moderation, but you need to be extremely disciplined about maintaining records of where you are sourcing materials and be confident that you are not violating any copyrights or other intellectual property agreements by including 3rd party materials in your game.
Please be aware that this only applies to open source and freely available assets. Any libraries, asset packs, or assistance that costs money is not permitted in capstone game projects. If you are found to have paid for assets or libraries, you will be considered to have plagiarized and your entire team will receive an F in the course.
This class is covered by all official notices from UCI’s Academic Senate Policy on Academic Integrity. Students are subject to all policies with regard to academic integrity whether or not these rules are reviewed in class or individually. Of particular note, the section on “Students’ Responsibilities” states,
“All students are expected to complete a course in compliance with the Instructor’s standards. No student shall engage in any activity involving any Academic Integrity Policy Violations. No student shall engage in any activity that involves attempting to receive a grade by means other than honest effort, and shall not aid another student who is attempting to do so. All students are encouraged to notify instructors, but may also notify the AIAO, about observed incidents of Academic Integrity Policy Violations. Instructors should take reasonable steps to preserve the confidentiality of students making such reports.”
Instructors have responsibilities too. These include reviewing class policies and grading expectations in writing. I am also required to report all suspected incidents of academic dishonesty to the appropriate school authorities. Please consult the official statement at https://aisc.uci.edu/policies/academic-integrity/AcademicIntegrityPolicyApproved-04.23.15.pdf.
Please keep these obligations in mind when you interact with your classmates in any capacity
For some of you, the following resources may be helpful:
Avoiding Ableist Language: https://www.autistichoya.com/p/ableist-words-and-terms-to-avoid.html
Diversity and Awareness at UCI: http://www.studentaffairs.uci.edu/diverse/index.php
Disability Services Center: http://disability.uci.edu; 949.824.7494
Dean of Students: https://dos.uci.edu/; 949-824-5181
UCI LGBT Resource Center: http://lgbtrc.uci.edu
Undocumented Student Support: http://dreamers.uci.edu
UCI Counseling Center: http://www.counseling.uci.edu ; 949.824.6457
Student Outreach and Retention Center (SOAR): https://soar.uci.edu/
SOAR Food Pantry: https://basicneeds.uci.edu/get-resources/food-pantry.php
The reality of our class (and our program as a whole) is that programmers outnumber artists three to one. However, there are many resources for those who want to include art in their games, but are not visual artists by training.
There are many resources to help you manage tasks, keep in communication, and keep your projects moving forward. here are a few that we recommend:
Yes, we are all very familiar with Unity. And yes, Unity has many advantages. However, perhaps you want to do something more specialized, or perhaps you want to try something new. Here are some alternate engines and platforms to consider.
Unreal Engine: Probably the biggest competitor to Unity. Unreal has a slight edge over Unity for large complex projects, overall performance, and graphics quality (although this is subject to some debate). The blueprint system allows for non-programmers to quickly build out games, although it is limited.
Amazon Lumberyard: A relative newcomer to the game engine scene. Built on top of the CryEngine, it adds a new front end and easy Twitch integration, but may not be ready for prime time yet. We have mentors in the class who are working with it, so perhaps it is worth considering for certain kinds of projects.
Inform and Twine Interested in writing interactive fiction? These are the tools! Inform 7 is the heavyweight hypertext editor of your dreams. Ideal for complex narrative systems, but with a steep learning curve. Twine is the less fully featured, but profoundly easy to use baby sibling of Inform. Both are worth exploring if you want to do something story-centric.
(more coming soon)
I’ll be adding resources here throughout the year. There are many relevant books, tutorials, and papers out there to help you make your games better. This list is just a tiny slice of what you can find if you look.
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.
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:
Also due at the same time: a short pitch for your game, posted in the #pitches channel. This pitch should include the following details:
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
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.
Scratch: https://scratch.mit.edu/
Video: Overview of Coding in Scratch (21 minutes)
Video: Creating Studios in Scratch (10 minutes)
Slides: Course Policies & Project Management
By the end of the week you need to have posted a Low-Fidelity prototype of your game, made in Scratch in the Discord.
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.
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.
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.
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.
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.
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.
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.
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!