ABSTRACT

Pressing the "generate" button and seeing the surprising results that come from a system game developer made is one of the joys (and frustrations) of creating procedural generators. This chapter offers a method for automatically critiquing what is being generated and better understanding the generator's capabilities. It talks about the notion of understanding how expressive a generator is and some strategies for visually understanding that expressiveness. The chapter provides some general thoughts about how and why and when it makes sense to grapple with the overall generative space of a system, rather than individual pieces of content. It presents a method for understanding expressive range automatically, using the Launchpad level generator as a running example. Launchpad is a parameterized generator for Mario-like two-dimensional (2D) platforming levels. It supports static platforms, moving platforms, gaps, springs, enemies that pace on a platform, and stompers. The chapter shows a systematic method for understanding a generator's capabilities in terms of its generative space.