This course introduces students to theory, and practice of interactive storytelling for games and other interactive media. Students will explore the poetics of this emerging form through a combination of theory, play, and design.
Humans use narrative as a fundamental sense-making strategy to understand the world and communicate that understanding to others. As new media technologies emerge they are inevitably put to narrative uses by people, expanding on existing strategies for storytelling and innovating new poetics for narrative. This course will focus on the relatively recent emergence of technologically mediated interactive and participatory narrative experiences. This course will focus on building skills and techniques to create engaging digital narratives through a combination of play, discussion, and design.
This class will be a mixture of discussion of readings, and hands-on project work. Tuesdays will be lecture/discussion days while Thursdays will be reserved for playing games and working on projects. The final deliverable for this course will be an interactive story, created with Twine.
Your grade in this class will be determined by three things: you performance on the five in-class Twine Sketches, your performance on the final project, and your participation in the class, as measured by your attendance.
I will be using a form of Specifications Grading (or “spec grading”) primarily adapted from here. Spec Grading has some distinct advantages over more traditional percentage-based letter grades. Rather than assigning a numerical score to assignments, they are instead assessed on whether they satisfactorily meet a set of clearly specified criteria or not. The final grade assigned at the end of the course will be assessed based on “bundles” of completed assignments. This removes much of the guesswork from the grading process. Students may choose how much time and energy to invest in the course, with the higher graded bundles requiring more work than the lower graded bundles. The assignments themselves are designed to reflect the intended learning outcomes for the course, and require that students demonstrate mastery of the skills and concepts being taught in order to meet the bar for a Satisfactory mark. In this class the in-class Twine Sketches will be assessed on a satisfactory/unsatisfactory scale, and the final project will have some more granularity in how it is assessed.
Possible Final Project marks:
The only letter grade that will be given in the course will be your final grade, and it will reflect the “bundles” of assignments and requirements you have satisfactorily accomplished in the class. Note that each individual student, and each group of students gets several tokens which can be exchanged for some flexibility around the deadline for an assignment, or to excuse and absence, or to resubmit an assignment.
Students who complete the following will pass the course with a grade of C:
Students who complete the following will pass the course with a grade of B:
Students who complete the following will pass the course with a grade of A:
A “highly satisfactory” final project will bump a grade up half a grade, so an A bundle would become an A+ and a B bundle would become a B+, etc. Anything below the C bundle will not pass the course, although there may be a few cases where the bundle merits a D grade, at my discretion. It is impossible to pass the course with an unsatisfactory final project mark.
Every student starts the course with 2 virtual “attendance” tokens that can be “exchanged” to eliminate an absence from their record.
Additionally, each team will have 2 virtual “extra life” tokens that can be exchanged for either of the following
You are expected to attend all class meetings on time, having done the readings/viewings, thought about the material, and prepared to engage in discussion and in-class activities. This is not solely a lecture course, so active participation and engagement is required. Attendance will be taken regularly, via colored index cards.
Assignment due dates are listed in this syllabus, and on each assignment when given. The Twine sketches are due on the day that we work on them in class (before midnight), although you are allowed and encouraged to complete them sooner. The Final Project is due on the Tuesday of Finals Week before midnight. You may spend a token to extend the deadline for any assignment by 48 hours, and you may spend a token for me to consider a revised/resubmitted version of any assignment that has already been submitted once. Any assignment that is submitted late will be automatically marked unsatisfactory.
Over the first weeks of the class we will be doing these “mini-twine” design sketches on Thursdays. The point of these is to acquaint you with the fundamentals of the tool that you will be using for your final project in the class.
Please note that you do not have to wait until class to begin these. If you want to work ahead, you may do so at your own pace. This will allow you to use class time to work on your final project instead, which you may find beneficial. That said, these are meant to be sketches and not finished pieces and it is possible to complete them entirely within class time. These are all meant to be done in small groups of 4-5 people.
When you complete any of your Twine sketches, please post it on the Discord in the #mini-twines channel so that your colleagues may see your work.
IMPORTANT NOTE: I’m approaching this class with a “real world” attitude towards code reuse. In the real world, many developers find and reuse code snippets from examples and open-source projects online. We will be approaching our projects with a similar ethos, as long as everyone follows the same rules.
This means that there is a reward to be earned for people who solve problems first and share their solutions with their peers. This is a big departure from traditional approaches to plagiarism and cheating. I’m doing this because I’m more interested in seeing you all make interesting and compelling interactive stories. Here’s how I think about this: if I was teaching you how to paint a landscape I wouldn’t start you out with a unit on formulating your own pigments and paints, creating your own brushes, and stretching canvas: I’d give you those tools as early as possible in the year, so you could begin practicing making art with them. These exercises are meant to do that for you.
We will be using class time this week to get the basics of twine under out belts. We will each be creating short interactive introductions for each of the people on the team. You may be as creative as you like with this, as long as your introduction includes the following information:
Required elements for a satisfactory mark:
You may use either Harlow or SugarCube.
To Submit: Post the .HTML for your game to the discord channel #mini-twines before the end of the day on Thursday (before 11:59 pm). Make certain to include the words “Twine Sketch #1” in the post, and the names of each team member.
In class this week you will be taking a movie, book, tv show, comic, anime, or other static piece of media and recreating a scene from it in Twine. You may choose to interpret this however you like, however it should have more than one ending. This means that it will likely depart from the canonical material at some point. It should also include multiple Text Styles that enhance the narrative in some way, as well as different colors that are used meaningfully.
This is easiest in Harlowe, although Sugar Cube has some functionality for this as well.
To Submit: Post the .HTML for your game to the discord channel #mini-twines before the end of the day on Thursday (before 11:59 pm). Make certain to include the words “Twine Sketch #2” in the post, and the names of each team member.
In class this week you will be creating some simple game elements, similar to what you might find in a CRPG game. You will be working with conditional statements, variables, and text entry for the first time in this assignment. Specifically, you will be making a character creation sequence for an interactive story. Once the character is created, you need to show how it works with a simple test scene in which the player can make choices that increment or decrement that character’s stats, which in turn impact what the player can and can’t do in a second scene. In both of these scenes, the game should incorporate the name and pronouns that the player provided at the start.
NOTE: Things might get a bit tricky here since we’re introducing programming concepts. I recognize that this is a big leap forward from the previous sketches. Learning how to use these techniques will give you many more options as a storyteller.
To Submit: Post the .HTML for your game to the discord channel #mini-twines before the end of the day on Thursday (before 11:59 pm). Make certain to include the words “Twine Sketch #3” in the post, and the names of each team member.
This week’s sketch is focused on enriching your Twine narratives with audio/visual elements by creating an “interactive music video” in Twine. Pick a song to embed in your Twine and illustrate it using a combination of text effects and images.
To Submit: Post the .HTML for your game to the discord channel #mini-twines before the end of the day on Thursday (before 11:59 pm). Make certain to include the words “Twine Sketch #4” in the post, and the names of each team member.
For this week’s design sketch you need to create a short twine that uses dialogue as the central element. Specifically, I want you to make a conversation between a PC and at least one NPC, where the player is trying to persuade the NPC to do something. It should be possible to fail.
The Twist: you need to include some kind of random, probabilistic, or stochastic element in this! This could be a dice roll, or passages that randomly pick certain words from a list, or some other source of variability. You could also create dialogue where different options change variables which then alter how the conversation proceeds (like a moral choice engine or similar mechanic).
To Submit: Post the .HTML for your game to the discord channel #mini-twines before the end of the day on Thursday (before 11:59 pm). Make certain to include the words “Twine Sketch #5” in the post, and the names of each team member.
The final project for this class is an interactive story in Twine. Unlike the Twine sketches that we do in class, this project is intended to be a complete narrative that incorporates all of the lessons from the class, both theoretical and practical. This is also the only assignment that will be graded on a scale, rather than simply satisfactory/unsatisfactory. I’ve broken the required elements down into two categories: Basic and Advanced.
Here is what you need to do to achieve each mark for the final project:
A Highly Satisfactory final project will incorporate at least 5 basic elements, and any combination of 2 advanced elements.
A Satisfactory final project will incorporate at least 4 basic elements, and any 1 advanced element.
A Passing final project will incorporate at least 4 basic elements, and none of the advanced elements.
Projects that fall below this bar will be marked as Unsatisfactory.
Lecture: IDN History
Activity: Twine Sketch #2: An interactive scene
Activity: Twine Sketch #3: A deceptively simple character record
Activity: Twine Game Play-a-thon
We will play through as many of the games in the Twine Games List as we can and discuss them.
Lecture: Agency in games and interactive storytelling
Activity: Collective close reading of narrative games off of the Narrative Games List
Lecture: Navigation and Maps
Guest Speaker: Catherine Blackard, Omniverse Media
As your instructor, 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.
While preference is given to GDIM and ICS majors, 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 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.