PlayStation.Blog
PS4 - Destiny

Road Not Taken: What Does “Procedurally Generated” Mean?

Daniel Cook's Avatar + Posted by Daniel Cook on Feb 25, 2014 // Chief Creative Officer, Spry Fox

Road Not Taken on PS4 and PS Vita

This post is about Road Not Taken, Spry Fox’s upcoming roguelike for PS4 & PS Vita. If this is your first time hearing about RNT, check out our trailers here!

As we’ve mentioned in previous blog posts, Road Not Taken has procedurally-generated levels. That is, you get a completely new experience every time you venture into the forest. When designing a game like Bioshock or God of War, a designer must hand-select the placement of every corridor, every object, and every enemy in the game. With Road Not Taken, we’re not hand-selecting anything. We spend our time creating interesting objects and enemies, and then carefully defining the probabilities of when and where you will encounter them.

The process reminds me of Duchamp’s painting ‘Nude descending a Staircase, No. 2’. For thousands of years, humanity painted a single instant, captured in time. Duchamp, inspired by advances in motion pictures, decided to paint all the possible states of a woman walking down the stairs in a single painting. To me, designing a roguelike is a little bit like that. Instead defining a single level, we use algorithms to define all possible levels at once.

Generating a level one pass at a time

The level generation system builds each level by laying down multiple passes of increasing detail. Each pass tweaks the balance of the level and gets it a little bit closer to the final state that the player will experience in the game. A single generated level in Road Not Taken is built up out of five distinct passes.

Pass one: Lay out the rooms

Road Not Taken on PS4 and PS Vita

In Road Not Taken, the forests you’re adventuring through are a simple grid of grids. For example, a forest level might be a 3 by 4 grid of rooms, with each room being a single 6 by 8 tiled screen. One of the forest rooms – the top leftmost one – is labeled as the starting location.

At this stage, we also set some constraints, such the the number of children you’ll rescue, the minimum number of parents on the map, and a targeted difficulty. These variables shape the rest of the map.

It seems simple, but selecting the right numbers is a slow and painstaking process. We have to find all the values that yield broken (or not-fun) levels and eliminate them. So I spend a large portion of my days setting various numbers really high or really low, and then play the resulting levels to see how they feel. Through this process of elimination I learn things, such as “collecting 100 children is a total drag.” But collecting just 1 child is boring, too. Is there something in the middle that works? Tweak by tweak, a fun experience comes into focus.

The exciting part when dealing with original game mechanics is that no one (myself included) knows what constraints will feel good. Sometimes the answers surprise me, so I try not to make too many assumptions. I just dig in, make hundreds of ugly levels, and explore the unknown in hopes of stumbling on something surprising and delightful.

Pass two: Add blocked paths

Road Not Taken on PS4 and PS Vita

Each room has an entryway that is blocked by boulders. That path can only be unblocked by a specific object that must be collected into a matching set by the player. For example, you might need to gather and group five trees of a certain type in order to unblock the passageway. We can, theoretically, make almost any object in the game (in any quantity) the key to these doors, though some end up being more fun than others.

So we look at the target difficulty for the room, then look at the set of available lock objects, then pick one for a door. The lock objects are placed in the room with the door. We repeat this step till all the paths in the forest are blocked off.

After we added this step during the prototyping phase, the game stopped being fun and we very nearly ceased to work on it. Unblocking the paths was a pleasant experience, but something subtle was missing. It just wasn’t fun enough.

Pass three: Move some lock objects out of the rooms

Road Not Taken
Road Not Taken
Road Not Taken

Cristian Soulos, our lead programmer, figured out how to keep things interesting. He realized that Road Not Taken would be more fun if all the pieces you needed to solve a puzzle weren’t just sitting right in front you. So he spread the lock objects for some of the doors into different rooms. This forces you to search and explore the forest if you want to unblock every path and rescue every child. (I always imagine the computer giggling evilly at this step.)

As soon as we added this to the level generation system, Road Not Taken went from being fun to play for 10 minutes to being fun to play for hours. The lesson here is that when working on original game mechanics, it often isn’t obvious what will be fun up front.

Pass four: Add goal objects and critical crafting ingredients to the rooms

This is the point where the children, parents and critical crafting ingredients are added to specific locations in the forest. Rescuing those children is your primary goal; they are what changes Road Not Taken from a fun toy into a game that you can win. Crafting ingredients increase your chances of success — if you use them correctly — by giving you tools to more efficiently explore the forest and deal with enemy creatures.

Pass five: Add a dash of difficulty

In addition to the lock objects, we have challenge objects. These make your life more difficult by attacking, blocking, and/or confusing you. First we look at the target difficulty of the room, a simple number that increases as the player’s skill increases, and also increases over time. Then we fill up the rooms with objects and enemies that increase the forest’s difficulty till the target difficulty is met.

Each object has an expected difficulty and some constraints on how many can appear in a level. Objects also have rules dictating what they shouldn’t appear next to, and how deep into the forest they generally appear.

Not all objects show up all the time, so the player is forced to mix up their strategy. You may have started relying heavily on crafting potions, but on a map where the key ingredients for those potions don’t appear, you’ll need to use other tactics. Many objects in the forest have multiple uses, so you always have plenty of options, though you might need to experiment for a while to figure them all out.

Some interesting benefits of our procedural level generator

There’s a single difficulty slider: It takes a great deal of effort to tune it all correctly, but once we’ve done that, we can generate easier or harder levels with the change of a single number. I can testify that some of the harder forests in Road Not Taken are insanely brutal, even for me, the lead designer of the game. But they are also incredibly satisfying when you solve them!

Road Not Taken on PS4 and PS Vita

Robust in face of new content: A short while ago, we added 10 really unique new objects and enemies to Road Not Taken. If this was a more traditional game with levels that have been entirely handcrafted, a change of that magnitude would likely have required weeks of additional rebalancing and level reworking. But in our procedural system, with a few minor adjustments, everything just worked. So now we have lots of freedom to try out fun new ideas without losing all our old work, which means we can put dozens or even hundreds of interesting objects and enemies in the game. It also means that, with a little luck, we can do lots of interesting updates after Road Not Taken is released!

The combinations continue to surprise me: There are trillions of different levels that can be generated within Road Not Taken. I’m constantly running across new scenarios that I wouldn’t have predicted. What happens when a raccoon spawns next to heavy stone blocks? Pure chaos… and not something I planned for.

Keeping it fun for ourselves as well as you

As a game developer, a little-discussed secret is how often we get tired of our own games since we end up playing them over and over again for months (or years) before release. But Road Not Taken keeps surprising me, and I’m not tired of it yet. :-)

We just finished another balancing pass and the game is really shaping up. At this point, we probably have most of the objects and enemies that will be in the game by the time we launch. Now there’s just a ton of polishing and minor feature work left to go. With any luck, we’ll be ready to launch sometime this Spring or Summer!

Take care,
Danc

PS. In case you haven’t seen it, we recently released a new live action teaser trailer for Road Not Taken. Check it out!

//Add Your Own

19 Comments

1

+ johnnyp70 on February 25th, 2014 at 7:12 am said:

So you play as a Jawa?


2

+ xClayMeow on February 25th, 2014 at 7:20 am said:

I’m so looking forward to this!

My friend thinks I’ve been a little obsessed with Roguelikes of the past couple years (BoI, Dredmor, FTL, Spelunky), but I dunno – there’s just something about them that are simultaneously appealing and frustrating. This looks like it’s a slightly more grounded Don’t Starve, which is awesome. The only thing that bugs me with DS is that there isn’t really any clear set goals, which makes it hard to appreciate success and failure.

Also, I love the “cutesy” art style of this!

Can’t wait to play this on Vita!


3

+ Tinye310 on February 25th, 2014 at 7:32 am said:

Didn’t know you guys made Triple Town. I really enjoyed the time playing that puzzle game. This sounds pretty interesting, I’ll keep my eye on it, especially on the Vita :D


4

+ siriusbee on February 25th, 2014 at 7:36 am said:

Those are really cute character designs. I’m glad that people are starting to take notice about what procedural generation means.


5

+ TXCScorpion on February 25th, 2014 at 7:59 am said:

Super duper excited to get this on my Vita when it drops.


6

+ RRlolhotdog on February 25th, 2014 at 8:02 am said:

so what about gta san andreas r u guys ever gonna make that gam for th vita i really want a new gta game and i think every one aggress right right ya thats what thought so please make gta san andreas for the vita hotdog has spoken


7

+ XeahuleXolic on February 25th, 2014 at 8:05 am said:

Sweetness!! Thank you, PS+ this week is also super awesome!! This is 1 good week now with Road not taken is going to be fun!!


8

+ shadow15972 on February 25th, 2014 at 9:49 am said:

Not EVERYBODY wants or likes GTA. :P Excited for this epic game! These ‘updates’ keep the game in my head. Keep up the great work. :)


9

+ JoGam on February 25th, 2014 at 9:49 am said:

Is the main character from the game Journey? Looks AWESOME either way.


10

+ Kchow23 on February 25th, 2014 at 10:44 am said:

This game will be awesome on PS Vita :)


11

+ tusunami on February 25th, 2014 at 12:18 pm said:

Now this is really what i can’t wait for to come out this will be so awesome!!!!!!!!


12

+ DizaumBR on February 25th, 2014 at 12:41 pm said:

Awesome!
I’m happy this is not another pixelated game.
I love beautiful HD graphics!


13

+ starry_nights on February 25th, 2014 at 12:45 pm said:

Why so kawaii game? (^・ω・^ )


14

+ sfbsfb on February 25th, 2014 at 2:22 pm said:

Nice write-up. This game looks interesting. Looking forward to it.


15

+ Sc4tt3rbr4in on February 25th, 2014 at 5:43 pm said:

I still play Triple Town. Cant wait for Road Not Taken!


16

+ Dethfuse on February 25th, 2014 at 9:15 pm said:

The game looks really interesting and I absolutely love the art style. Can’t wait till this game comes out.


17

+ brooklynzak on February 25th, 2014 at 10:04 pm said:

Thanks for the insight into the whole procedural generation thing. I’d been wondering how that worked lately after playing many hours of Spelunky. Look forward to RNT – good luck with the rest of development!


18

+ Void_Incarnate on February 25th, 2014 at 11:31 pm said:

I’m a sucker for procedurally generated roguelikes and cute, distinctive art styles.

Color me interested!


19

+ RoD_GX on March 3rd, 2014 at 4:28 am said:

OK, I must say I’m intrigued with this game because I still don’t know exactly how well it is going to suit my taste, but that won’t prevent me from getting it. Instabuy when available.
My only problem with Vita Game Devs is their lack of AVATARS and THEMES for the platform (I’m not going further to say I HATE devs that ripoff games like Namco have done but anyways..); I just don’t get it. Why are A&T so scarce for the Vita, whereas on PS3 and EVEN PS4 have many many more of them?

SpryFox, please..let’s not start with the wrong foot here.
I mean your game is beautiful, the characters are well done. Please let us have it! Make Avatars available. Oh and if possible make some themes …err OK make just a single theme for the Vita.
I don’t care whether these will come as unlocked items or are going to be featured as a DLC and have to be purchased (just like Drinkbox did with Guacamelee)…I don’t care. Just let us have it.


Comments are closed. We close the comments for posts after 30 days