510 likes | 639 Views
Combining human and computer creativity. Procedural Content Generation, Autumn 2012 Noor Shaker. Who creates a game ’ s content?. The designer(s)/developer(s)? A computer-implemented algorithm? The players?. Player-created worlds. PCG and authorship.
E N D
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