Reptile Zoo

Check the Dev Log Index for more Dev Blogs.

Using Procedurally Generated Content in Your Indie Game-

Why would you use procedural generated content (PGC) in your game?

If your first thought is "so I don't have to make the content myself", then you shouldn't be using it. While time and money constraints on development are important, they shouldn't be your first or only priority. The user experience should be what comes first. (Plus, depending on the exact specifics, PGC may not even save you much or any time at all.) "Because it sounds cool and other games are doing it" is an even worse reason to include PGC in your game's design. You need to have a good reason that will benefit the user and elevate your game.

So, let me rephrase the question a bit. What qualities of PGC help to improve the user's experience?

There are two main qualities that PGC adds to a game, surprise and variety (although there may be others as well). PGC is a tool, and like any other tool, you have to know when to use it, as well as when not to. Now the question becomes: What types of games benefit from surprise and/or variety?

I'm just going to generalize a few well known genres, themes, and features; this obviously this isn't a complete list of every possibility. Let's start with surprise. Surprise can actually be mandatory for some types of games. Horror games, for example, require surprise. If you know a jump scare is coming, it's not really going to startle you. On the other side of the emotional spectrum, comedy also needs surprise. If you already know the punchline to a joke, it won't be very funny. Puzzles require surprise as well (you shouldn't already know how to solve them). Although in the case of puzzles, only the specific solution should surprise you, the mechanics shouldn't; whereas, with horror, pretty much anything goes.

However, some genres can actually be hurt by surprise. For example, platformers need consistence for speed running or high scores. A platformer without consistence would probably end up playing like "Cat Mario". And a story based game with multiple endings needs to be consistent so that the player can actually see each ending and reach it.

Now let's look at variety. Basically everything that requires surprise also requires variety. Your game won't be surprising for very long if you don't have enough variety. However, almost every game can benefit from variety to some extent, but that variety may need to be done in ways that don't add too much surprise at the same time. For example, the variety in the game of chess is supposed to come from the moves that your opponent makes; not from your opponent breaking the rules or pulling a gun on you (even though that kind of crazy unpredictability may be perfectly acceptable for a horror game).

Now let's talk about the elephant in the room, RPGs. Role playing games (RPGs) can often make heavy use of PGC. The rogue-like and rogue-lite sub-genres in particular require PGC. However, sometimes these games don't really benefit from it at all. It depends on the exact implementation of course, but if you have a 2D top-down or isometric rogue-lite and the only thing that's changed by the PGC is the level's layout, then PGC isn't really adding anything to your game. Nobody actually cares if some wall used to be 5 feet to the left of where it is now. Unless the level's layout actually effects the gameplay (like if you were making a feng shui based game), then all you did was change a bit of meaningless window dressing. In a case like this, it probably would have been faster and come out better if you had just handcrafted the levels.

This isn't to say that it's impossible for PGC to add value to a RPG. For instance, "FTL: Faster Than Light" makes great use of PGC because almost everything in the game is generated or randomized. It actually effects the gameplay and story, rather than just being cosmetic or thrown in because it's trendy.

So the next time you're designing a new game, think about what PGC is good for, and what it's bad at, to see if it's the right tool for the job; and always keep the player experience in the forefront of your mind.

- Vicious