Integrating Human and Computer Creativity in Procedural Content Generation for Games
This exploration dives into the intersection of human creativity and Procedural Content Generation (PCG) in game design. We discuss the roles of designers, developers, and algorithms in creating engaging game worlds. The challenge lies in balancing authorial control with PCG capabilities. Through methods like mixed-initiative level design and collaborative evolutionary exploration, we outline frameworks for generating playable platforms. We highlight the benefits and obstacles of combining PCG techniques and propose solutions to enhance human-machine creative collaboration.
Integrating Human and Computer Creativity in Procedural Content Generation for Games
E N D
Presentation Transcript
Combining human and computer creativity • Procedural Content Generation, Autumn 2012 • Noor Shaker
Who createsa game’s content? • The designer(s)/developer(s)? • A computer-implemented algorithm? • The players?
PCG and authorship • How can we combine a human designer’s authorial control and expressive ability with PCG capabilities? • Dimensions of control • Ease of use • Multi-level editing / two-way flow of control
Combining PCG techniques • To build a complete game/world, we need different types of content, designed by or with different algorithms • Problems with combining PCG techniques: • Differing data structures • One-way flow of control
Tanagra: Reactive Planning and Constraint Solving for Mixed-Initiative Level Design • Gillian Smith, Jim Whitehead and Michael Mateas • TCIAIG, 2011
Problem • Generate playable and interesting platform game levels • Allow for human design of any part(s) of the level • Make sure that resulting combination of human and machine creativity is a playable level, that obeys rhythm constraints
Solution • Divide levels into beats (1 beat = 1 action) • Let humans draw platform game level chunks in a GUI • These chunks are never changed by the algorithm • Re-generate level chunks around drawn chunks immediately to preserve playability
Multi-beat patterns • Gap followed immediately by enemy (2 beats) • Valley: jump down, enemy, jump up (3 beats) • Staircase: 3 gaps, all going up or all going down (3 beats) • Mesa: jump up, enemy, jump down (3 beats)
How does it work? • Constraint solvingChoco solver: Java CSP librarystartX + width = endXp1.endX + g.width = p2.startX • Reactive PlanningMediates between UI and CSP through responding to user input and posting constraints
Interactive evolution • It is hard to construct good fitness functions for many interesting properties • Instead of fitness functions: humans! • Humans evaluate content either explicitly... • ...or implicitly
Picbreeder: A Case Study in Collaborative Evolutionary Exploration of Design Space • Jimmy Secretan, Nicholas Beato, David B. D’Ambrosio,Adelein Rodriguez, Adam Campbell, Jeremiah T. Folsom-Kovarik, and Kenneth O. Stanley • Evolutionary Computation Journal 2010
Image representation • Compositional Pattern-Producing Networks (CPPNs) • Neural network-like graph structure, with different types of activation functions(e.g. sine, gaussian) • Maps pixel positions (x, y) to color (HSB)
Search method: NEAT • NeuroEvolution of Augmenting Topologies • Evolves neural networks (or, in this case, CPPNs) • Both topology and weights • Starts small, grows as needed
Interface • Users select which picture out of 15 they like best • This picture forms the basis for the next generation, through mutation and recombination
Collaborative evolution • Users can “publish” pictures they like • Published pictures are rated by other users • Any user can “branch” any other user’s picture
But is it useful? • The same pictures could probably have been created faster by a skilled human designer • But everyone is not skilled... • ...and there is a particular style to PicBreeder images • Still a problem with user fatigue
Interactive Evolution for the Procedural Generation of Tracks in a High-End Racing Game Luigi Cardamone, Daniele Loiacono and Pier Luca Lanzi
Track Representation • Phenotype: list of segments • Straight • Turn • Genotype: control points that the track has to cover • Beziercurves
Fitness Function • Interactive evaluation • Single user mode • Multi-user mode
Single User Mode • Initial a random population of tracks • Each user plays all the tracks in the population • and rank the tracks (scoring, like/dislike) • Repeat for 10 generations
Multi-user Mode • Initial a random population of tracks • Each user plays all the tracks in the population • and rank the tracks (scoring, like/dislike) • The fitness of each track is the average score over all users • Repeat for 10 generations
Other interactive evolution systems • The field has a long history • Most approaches “simply” evolve images (evolutionary art) • Sometimes meant to e.g. prove a point in evolutionary biology