About
I'm an interaction designer, systems designer, tools programmer, and maker of expressive, playful computational models. I've designed and built storyworld simulations, story sifting systems, procedural storytelling frameworks, and procedural narrative authoring tools. I'm interested in making games that recognize and respond to player action, intention, and stories in deeper, more storyful ways.
I'm currently on the Applied AI team at Zynga led by Luke Dicken, where I've been working on level generation, PCG design tools, and lite procedural narrative systems design and writing on mobile games.
I was previously a Computational Media PhD student in the Expressive Intelligence Studio at UC Santa Cruz, advised by Michael Mateas and Noah Wardrip-Fruin.
In my free time I'm also interested in personal meaning play — using system mechanics to creatively model and reflect on aspects of one's real life. I also have a deep love of sculpture, graphic design, woodcarving, and physical craft of all kinds.
Selected Projects
Why Are We Like This?
An AI-augmented digital story construction and collaborative, improvisational writing game in which two players write a story in a pastiche of the cozy mystery genre, with support from a simulation-based AI system that operationalizes character subjectivity. It uses Felt and was formerly called the Cozy Mystery Construction Kit. Designed and developed with frequent collaborator Max Kreminski.
Felt
A JavaScript story sifting and simulation engine for emergent narrative play experiences. It allows narrative system developers to define story sifting patterns that match narratively potent sequences of events, and to build simulations in which characters make use of story sifting to reason about the world. Designed and developed with frequent collaborator Max Kreminski.
Diarytown
A weird game about crafting diary entries about your real life using a symbolic action library, and having the described experiences imaginatively reflected back at you by a creative AI, simulationist storytelling system, to facilitate self-reflection and positive self-image. It uses the Felt library for story sifting.
Gemini/Germinate
Gemini is an abstract game generator that takes statements of design intents (about potential play experience and rhetoric) as input and generates games that satisfy those intents. I joined this project at the Expressive Intelligence Studio after Gemini was largely complete in order to build a generative design tool around it, which eventually became Germinate. I've also contributed to the main Gemini codebase, documentation, and a human subjects evaluation of Gemini.
Ensemble
An open-source, rules-based JavaScript library for social simulation. The generalization and JavaScript port of Comme il Faut (CIF), the social AI engine that powered Prom Week.
Publications
Germinate: A Mixed-Initiative Casual Creator for Rhetorical Games
Artificial Intelligence in Interactive Digital Entertainment (AIIDE), 2020
Artificial Intelligence in Interactive Digital Entertainment (AIIDE), 2020
Playable experience paper
Why Are We Like This?: The AI Architecture of a Co-Creative Storytelling Game
Foundations of Digital Games (FDG), 2020
Why Are We Like This?: Exploring Writing Mechanics for an AI-Augmented Storytelling Game
Electronic Literature Organization (ELO), 2020
Is Your Game Generator Working? Evaluating Gemini, an Intentional Game Generator
Artificial Intelligence in Interactive Digital Entertainment (AIIDE), 2019
Nominated for best paper
International Conference on Interactive Digital Storytelling (ICIDS), 2019
Procedural Content Generation Workshop (PCG Workshop), 2019
Social Simulation for Social Justice
Experimental AI in Games Workshop (EXAG), 2017
Author Assistance Visualizations for Ice-Bound, a Combinatorial Narrative
Foundations of Digital Games (FDG), 2014
Selected as an exemplary full paper