Photo of Gillian SmithI am a PhD candidate working with Jim Whitehead and Michael Mateas in the Center for Games and Playable Media at the University of California, Santa Cruz , where I am affiliated with the Augmented Design Lab and the Expressive Intelligence Studio.

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

Main Game Website | First Prototype | AIGameDesign.com

RathennEndless Web is a game that explores how to closely tie procedural content generation to a game's mechanics. We are focusing on adapting the Launchpad level generator for use in an experimental game, in an effort to better understand the generator's capabilities. We are also studying how the AI system affords certain mechanics and aesthetics in the game, and how the game imposes additional requirements on the AI system. This is ongoing research with Professor Jim Whitehead, and students Alexei Othenin-Girard, Rob Giusti, Jameka March, Joshua Ray, Rob Segura, Jon Gill, Christian Ress, and Elaine Gan.

Tanagra: Computer-Supported Level Design for 2D Platformers

Video

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 is ongoing research with Professors Jim Whitehead and Michael Mateas. Other people who have contributed to this project are Zach Lindblad and Tylor Reynolds.

Evaluating the Expressivity of Content Generators

Demo

expressivity visualizationWith 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.

Other people who have contributed to this project are students Mee Cha and Jameka March, and professor Jim Whitehead.

Launchpad: Rhythm-Based Level Generation for 2D Platformers

Demo | More Information

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.

Other people who have contributed to this project are students Mee Cha, Mike Treanor, and Martin Jennings-Teats, and professors Jim Whitehead, Michael Mateas, and Noah Wardrip-Fruin.

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 Professors Jim Whitehead and Charlie McDowell.