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.
5. Why Generate Procedurally?
• 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
6. Procedural Generation in EM
• 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
7. 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
8. Designing Procedurally
• 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
52. 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
53. 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
54. Analytics
• 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
55. 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
56. 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
57. 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
58. 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)
59. 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
60. Challenges
• Balancing the power of your tools
• Easy Money? started out with 100 levels
• PCG is not ideal for all types of games
61. 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
62. 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!