Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
April 17, 2014
arrowPress Releases
April 17, 2014
PR Newswire
View All

If you enjoy reading this site, you might also want to check out these UBM TechWeb sites:

The strengths and weaknesses of procedural generation
The strengths and weaknesses of procedural generation Exclusive
July 18, 2012 | By Staff

July 18, 2012 | By Staff
More: Console/PC, Indie, Programming, Design, Exclusive

Dejobaan, the developer of AaaaaAAaaaAAAaaAAAAaAAAAA!!! -- A Reckless Disregard for Gravity once thought that procedural content generation could be a panacea for the time-consuming and sometimes tedious job of level design.

They were wrong, writes Ichiro Lambe, the founder and lead developer of the studio, in a new Gamasutra feature. But they did learn something important: it's an important tool to create more interesting level designs all the same, when paired with manual tweaks.

When the team started out using their random-generation tool, "Things that were completely unplayable popped up, but so did some things that ended up being fun in ways we didn't expect. It's this bit that really interested us, because we were neck-deep in level design, and things like this provided a fresh look at things," Lambe writes.

While the team couldn't use procedurally-generated levels out of the box, "more than once, using simple scripts... we encountered things that made us grin. These changed the ways we built levels, and suggested new challenges for players," writes Lambe.

The developers came up with scripts which generated what they came to call "level skeletons," which they'd use to find interesting new concepts. They would then create the rest of the level by hand.

"Algorithms and hand-created content often have complementary strengths. Algorithms can beat hand-tweaking if you have an enormous mountain and want to see what happens if it undergoes erosion. While you could easily spend an entire day sculpting it by hand, running it through an erosion tool will take moments, and allow you to try different things," writes Lambe.

"On the other hand, if you want to add a few trees around the entrance to a cave, it's usually easier to just plop a few down by hand and nudge them around than to script that."

In the developer's latest game, the music-reactive 1... 2... 3... KICK IT! -- Drop That Beat Like an Ugly Baby, the team is making more extensive use of procedural design -- and Lambe details the evolution of the team's technology and practice from the days of Aaaaa! to Ugly Baby in the new feature, which is live now on Gamasutra.

Related Jobs

Sucker Punch Productions
Sucker Punch Productions — Bellevue, Washington, United States

Director of Engineering
Gearbox Software
Gearbox Software — Plano, Texas, United States

Graphics Programmer
SOAR Inc. — Mountain View, California, United States

Unity 3D MiniGame Programmer (and Designer)
Darkside Game Studios
Darkside Game Studios — Sunrise, Florida, United States

Mid-Senior Graphics Programmer


Chris Hendricks
profile image
That does seem like the best approach for procedurally generated content. It provides a good balance of letting computers do what they do best (endless random iteration, repetitive tasks) while letting people narrow their focus to the creative parts.

Steven An
profile image
It's inaccurate to view procedural gen vs. manual design as a binary choice, and it's also inaccurate to think that there's one "mixture" of the two that will work in all situations. It's a continuum, and you need to find a point on that continuum that makes sense for you and your game. Most procedural generation involves a lot of hand-tuning (the biggest part being..someone actually writes the code...). Hand-tuning of algorithms, rules, numbers, probabilities, etc. It's not a magical thing where you just code up some algorithm, hit Enter and suddenly fun levels stop spewing out. It takes a long time to get right and tune.

Frank Gilson
profile image
You can also do procedural content verification on the generated content when you are able to establish a rules set.

Thus the process could be:
1) Generate raw procedural content
2) Verify, segregating 'failed' content (which could be reviewed by hand if time allows)
3) Take 'passed' content and hand evaluate/modify.