procedural processes - lessons learnt from automated content generation in "easy money?"

63
Luke Dicken and Heather Decker-Davis @LukeD @HeatherMDecker Lessons Learnt From Automated Content Generation in “Easy Money”? Procedural Processes

Upload: luke-dicken

Post on 19-Jan-2015

100 views

Category:

Entertainment & Humor


2 download

DESCRIPTION

In this talk, given at the 2012 No Show Conference, and alongside long-term partner in crime Heather Decker-Davis, we talk about our game "Easy Money?" and our approach to content generation - along with the challenges they provided and the way it affected our workflow.

TRANSCRIPT

Page 1: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Luke Dicken and Heather Decker-Davis

@LukeD @HeatherMDecker

Lessons Learnt From Automated Content Generation in “Easy Money”?

Procedural Processes

Page 2: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

About Robot Overlord Games

Page 3: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

About "Easy Money?"

Page 4: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Easy Money? Demo

Page 5: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

•Players expect lots of content in games •Players memorize static levels • Disinterested in replaying the same content

•PCG can keep it fresh. Imagine Temple Run with a fixed level layout

•Easier to store an algorithm than a set of assets

Why Generate Procedurally?

Page 6: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

•An ample set of levels was needed, and PCG could help us achieve this • Mazes are generated semi-randomly • Items are deployed semi-randomly

• Today, we want to talk about how everything comes together and how PCG impacted our workflow and results

Procedural Generation in EM

Page 7: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Developing Procedurally

•Setting up conditions for a potential range of envisioned player experiences, rather than crafting highly specific settings

•Static vs. Procedural levels •Developers used to working strictly with

static content models may need to shift their mindset

Page 8: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

•Designing interactions for a space that does not yet exist

•Spatial challenges and the realm of possible results • Be aware of potential unplayable situations

•Prototype your mechanics first •System-oriented or formulaic progression • as always, refine with testing

•Choose variables that follow your design goals and uphold a sense of fairness

Designing Procedurally

Page 9: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Designing Procedurally

•Test extremes of variables to find your target start and final level values

•Then build a formula to fill in between point A and point B

• Linear equations are a good starting point •Simple linear progression can be tweaked • For a distinct endgame feel, for example

Page 10: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Asset Creation

• Involve artists early so they can experiment with the specific PCG system

•Artists must think modularly and consider possible ways an asset may be positioned

•Several possible approaches • theme packages • color shifting • procedural texture

Page 11: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Asset Creation

•The art style in Easy Money? embraced the level structure while following the desired aesthetic

• Testing and prototyping art was helped in nailing down specifics methodology for asset construction

Page 12: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Prototyping

•Once general level characteristics were defined, 2D tiles were created

•This allowed us to refine both the generation system and the piece set • Easily iterate with little asset commitment

•Prototyping stages • 2D representation • 3D explorable levels • Adding the funds • Incorporating hazards

Page 13: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

The Art Pipeline

• 2D tiles formed the blueprint for 3D pieces •Precise construction ensured each piece

would snap together properly on the grid •Pieces unwrapped, textured individually,

then tested in-game •To minimize draw calls, pack as much into

a single texture sheet as possible •Maximized reusability of pixel space for

shared components

Page 14: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Simple Maze Creation

•Creating mazes isn't overly hard • Just placing appropriate pieces into the

world where there is a “road to nowhere” •Very efficient approach

Page 15: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Algorithmic Maze Creation

Page 16: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 17: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 18: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 19: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 20: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 21: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 22: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 23: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 24: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 25: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 26: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 27: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 28: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 29: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 30: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 31: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 32: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 33: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 34: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 35: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 36: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 37: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 38: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 39: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 40: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 41: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 42: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 43: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 44: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 45: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 46: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 47: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 48: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 49: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 50: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 51: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"
Page 52: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Maze Verification

•We use some simple checks to validate the mazes produced are interesting • Number of dead-ends placed in the maze • Straight-line Distance from start to end • Number of pieces that have been placed

• If any of these checks fail, the maze is rejected and a new one generated

Page 53: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Post-hoc Verification vs Guided Generation

•Verification is a very simple process •Guiding generation is way more complex •Do we solve the simple problem multiple

times, or the complex problem once • Your mileage may vary

Page 54: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

•Working out what the player is doing in your game is majorly important

•You need to pay attention and dig into the data to discover what’s actually going on

Analytics

Page 55: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Export and Replay of Content

•Analysis needs context •We need to have the ability to export

configurations of levels •Also need to be able to bypass PCG

system to load up a specific maze

Page 56: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Procedural Difficulty

•We have parameters that we're using: • for generation, for verification, for ingame

properties •So it isn't hard to see that if we start

manipulating these parameters we can start varying the difficulty

•As the game progresses, we can control the tone of the spaces being created

Page 57: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Player Modelling

•We can look at how the player is playing the game and what they are choosing to spend time on

•Then tailor the game to these tastes: • Players who prefer exploration can be given

larger spaces • Players who dash to the goal can be given tight

mazes with more hazards

Page 58: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Procedural Signposting

•How can we guide the player? •Signposting is how designers subtly

influence player perceptions • Lights under "important" doors • Cover position suggesting enemy locations

•Can we generate these signs on the fly? • In EM, we're playing with how we can use

our collectibles and hazards to help the player flow towards the goal (or misdirect)

Page 59: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Challenges

•Tools development may rack up a significant cost: both time and money

•Strong programming knowledge required • significant debugging and refining • responding to fringe cases

•Potential "sameness" generated spaces • may be combated through:

• peppering in unique content • combo approaches: both procedural and static

Page 60: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Challenges

•Balancing the power of your tools • Easy Money? started out with 100 levels

•PCG is not ideal for all types of games

Page 61: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Summary

•Must evaluate the pros and cons of PCG on a project-specific basic

•The methods here can be leveraged for many different styles of games and tailored to many different level structures

Page 62: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Takeaways

•Break levels down into modular pieces •Establish the PCG system early • Tight integration between artists, designers

and developers • PCG will affect decisions made by all groups

•You can use PCG to turn your games to 11!

Page 63: Procedural Processes - Lessons Learnt from Automated Content Generation in "Easy Money?"

Alpha - http://easymoney.robotoverlord.co.uk/

Robot Overlord Games

Heather Decker-Davis [email protected]

@heathermdecker

Luke Dicken [email protected]

@LukeD