My research interests are in how human designers can interact with procedural systems to create content for games, how to evaluate procedural content generators, and how procedural content generation can enable new playable experiences. My other interests include gender and technology issues, especially women in games, and the use of games in education.
Endless Web: PCG-Based Game Design
Endless Web is a game that explores how procedural content generation can enable entirely new kinds of games. It is a PCG-based game: one in which the generator is so closely tied to both the mechanics and aesthetics of the game that player strategies revolve around it. The game was also created to help us understand Launchpad’s expressive capabilities and better understand its strengths and weaknesses for use in a complete, polished game. This project studies how the PCG system affords certain mechanics and aesthetics in the game, and how the game imposes additional requirements on the PCG system. There was a large team responsible for Endless Web: Alexei Othenin-Girard, Ari Burnham, Elaine Gan, Jon Gill, Rob Giusti, Umi Hoshijima, Masami Kiyono, Jameka March, Joshua Ray, Christian Ress, Rob Segura, Vencenza Surprise, Jim Whitehead, and Noah Wardrip-Fruin.
Tanagra: Computer-Supported Level Design for 2D Platformers
Tanagra is a prototype mixed-initiative design tool for 2D platformer level design, in which a human and computer work together to produce a level. The human designer can place constraints on a continuously running level generator, in the form of exact geometry placement and manipulation of the level’s pacing. The computer can fill in the rest of the level with geometry that guarantees playability, alter existing geometry to meet the new cosntraints, or inform the designer that there is no level that meets their requirements. This work was supervised by Jim Whitehead and Michael Mateas.
Evaluating the Expressivity of Content Generators
With the growth in popularity of procedural content generation, it is important for us to be able to measure not only the quantity of a generator’s output but also it’s quality. It is easy to claim that a generator produces thousands of unique artifacts; it is harder to evaluate how similar or different these artifacts from each other. This project addresses the concern by examining methods to visualize the generative space of the Launchpad level generator. Our demo clusters generated rhythm groups according to their similarity, and visualizes these clusters using a treemap. This work was done with Mee Cha, Jameka March, and Jim Whitehead.
Launchpad: Rhythm-Based Level Generation for 2D Platformers
Launchpad uses a grammar-based method for automatically generating levels for Mario-style platformers based on rhythms that the player feels with his hands. A designer has some input to the generator in the form of parameters that specify the general path that the level should follow, and the frequency at which different level components should occur. This generation technique is based on a framework we had previously developed for the analysis of 2D platformer levels, which includes a common vocabulary and structure for level components. This work was done with Mee Cha, Jameka March, Mike Treanor, Jim Whitehead, and Michael Mateas.
Enhancing Introductory Programming with Game Technology
The goal of this project was to make computer science more engaging for introductory programming students through the use of computer game technology. We deployed a set of assignments based on a Virtual Pets game, where the students could exercise their creativity by programming different scenes and pet behaviors. The introductory course teaches basic programming concepts such as control flow and arrays using Java; the assignments we gave were analogous in difficulty to more traditional assignments, but used a more compelling and interactive computer game world. This work was done with Jim Whitehead and Charlie McDowell.