Skip to main content

Making Procedural Generation Not Suck

"Procedural Generation" is becoming a bit of a dirty phrase in the modern gaming world.  Many players associate it as something leveraged only by hack developers to spam out boring, derivative content.  In order to find the solution, we must first understand the problem.

Semantics suck.

I hate to start quibbling over semantics, but this is part of the problem with why "Procedural Generation" is gaining so much stigma for so many players: the term is almost utterly meaningless.  "Procedural Generation," or "Rogue-like," or "Rogue-light" all pretty much mean the same thing to the general gaming public: some elements of randomness have been employed in generating content somewhere in the game.
A 1980s mainframe game: somehow descriptive of 240+ current games on Steam.
I would first like to take a necessary detour to discuss the fate of the term, "Rogue."  Rogue is the game pictured in the screenshot above.  How the hell does it have ANYTHING to do with half the games with the tag on the Steam list?  It had procedural generated maps, map contents, and labels to put on unidentified items... and that's it, and pretty much nothing else was procedural about it.

Now I am definitely quibbling over semantics.  The closest we're going to get to defining "Rogue" is probably the Berlin Interpretation, but I personally think it's too forgiving.  In my opinion, if it is not a turn-based, grid-based RPG with randomized maps, Rogue does not belong in the title, and "Rogue-lite" is no better.

But was Rogue really an RPG to begin with?  The definition of "Roleplaying Game" literally means a game where you play a role.  When people say "Roleplaying Game" now, they are thinking about the stat sheets first, the game later, and playing a role potentially not at all!  Just as "Roguelike" vaguely means "has some elements of procedural generation," "Roleplaying Game" now means, "has in-game characters with variables." 
A shovel acquired through standard gameplay procedure generates a fossil via its digging procedure on a location generated via procedure daily on a previously procedural generated map.
So lets get to the main event, the term, "Procedural Generation."  How does that vary from the alternative, hand-crafted content?
  • When Rogue generated a map, it followed a randomization procedure in order to create content for the player.  That's the definition that matters to most players.
  • Procedural generation algorithms must be created a programmer somewhere, so that program is technically a form of hand-crafted content.
  • When a hand-crafted map designer manually creates their maps, their brain follows the procedures they have learned in life about how to creatively produce how they want the map to look.
  • When your graphic card makes textures to display, they're being generated via the procedures defined in your graphics card drivers, whether or not there are random textures.  
  • When I go across the street to get the mail, did I just follow a procedure to hand-craft generate my letters?
The further you evaluate it, the more weird and useless the term "procedural generation" gets.  Even if we narrow it down to the first thing alone, a game that generates any kind of content using randomization procedure, so what?  That is still pretty vague description of whatever the game is doing.  Would you count a "randomize" button that allows a player to generate their character name as an example of procedural content?  Why not?  It's the same general idea under the hood.

Thus, when you say you hate procedural generation, you are describing a hatred of something so vague as to have no meaning.  Creating things has a procedure, it happens everywhere in life.  How, specifically, is it happening wrong for you in the game?  Only then can we try to figure out how to do it better.

Unintelligent Design Sucks.

Before I lose every fundamentalist atheist reader, I should probably clarify the above header.  A computer game is, by definition of something created by a human being, a product of intelligent design.  Not necessarily intelligent design in the classical sense of an all-powerful creator being spawned it, but a scientifically verifiable kind of intelligent design where a being thought to have some measure of intelligence (a human being) has used their brain to design and create a thing.
Yet, at the root of this religious-but-not-really debate is the core of what makes good procedural generation.  Consider these two ways of making a procedural generated game:
  1. The game developer has a purpose in mind for the player to pursue, and so designs the procedural generation mechanics to accommodate that purpose.
  2. The game developer has no purpose in mind for the player besides basic survival, and so simply designs the procedural generation mechanics as a blank slate that they hope the player will find a purpose for.
That sure sounds a lot like the classical concept of intelligent design to me!  Did our creator give us a purpose, or are we expected to come up with it ourselves?  Whether or not we have a creator in real life, the games created by people certainly do!

So what's the meaning of (virtual) life?  Do you provide that meaning, or do you provide a meaningless game, thinking it a blank slate for the players to project on to?  The answer might seem obvious to you, but take a look at the list of Steam games to include the tags "sandbox" and "survival".  Most games want the players to bring their own purpose to the game, they make it a challenge to survive in the game, but they do not provide a reason to survive.
Also known as Existential Crisis Simulator 2017.
The starry-eyed developers believe that the players will bring that purpose to their virtual worlds.  No wonder these players emerge from those games thinking the developers were lazy: when they got to the bottom of these virtual worlds, they found there's basically no meaning.  What kind of nihilist was the game supposed to appeal to?

Games, as microcosms of life with rules and goals, can do better than that, SHOULD do better than that.  This is the whole point behind the Reality Is Broken school of game design.   We game because, even if life does not have a reward structure we like, we should be able to find that in a game.  Even if you feel you have no reason to believe in intelligent design in life, you should demand it of a game.

Typical Procedural Generation Use Sucks.

You might have went into this article expecting some simple bullets of procedural generation.  Oh, lets go over some of them just for giggles:
  • Add diversity; don't make the content too samey; the player is going to get bored of seeing the same thing all the time.
  • Don't generate more content than the player needs; the player is going to get bored if they are forced to go through a lot of barren procedural generated land.
  • Avoid recognizable patterns; patterns seem artificial to the player; the player is going to lose their suspension of disbelief if the whole thing looks artificial.
  • Be sure to balance what your generate; unbalanced games have lousy flow; the player is going to be bored of unbalanced games.
Etc.  Funny enough, I found that Kimberly Voll's discussion on how to make good AI (from her work on Rockets Rockets Rockets) also applies to procedural generation.  She set about making an AI with a goal of making the AI pass a "turing test" of being something that the brain's relentless natural pattern-finding capability will not find suspect.
Making procedural generation look good to the player is the same goal.   In a way, you can think of your procedural generation engine as being an AI opponent of a different sort.  Instead of impersonating a player, it is impersonating a content producer, or even a game master.

To some extent, how to do it is not the biggest problem procedural generation has.  The bigger problem is that most games that utilize procedural generated content have no meaningful context.  They spam out content because they can.

No Man's Sky is a more glaring example of this.  An entire universe!  But surprisingly unsatisfying.   It is almost certainly something many would point to as an example of how procedural generation sucks.  Yet, how much of the usual advice pertaining to how to make procedural generation does it really break?  Not many; the content is a bit too samey but that's about it.
If the answer to good procedural generation will not be found in rules alone, that makes our job that much harder.  How, exactly, is a better way to utilize procedural content in your game then merely to produce it on demand?

I am afraid I have a justified cop-out on that answer.  Your game is unique, how you will use procedural generation will vary from game to game.  As a result, I can't specifically tell you how to do it right.  After all, procedural generation is just a tool in your game developer's toolbox, like all the others.  But I do have two big points that might help point it in the right direction:
  1. In order to leverage procedural generation in the most effective manner, you must consider the desires of your game's intended audience.  Don't just do it because you can, do it because it is what you think they really want.  (Note that what they want is not always the same as what they ask for... players are often shortsightedly hedonistic, and trying to see past that is an important component that separates the good designers from the great.)
  2. Context is very important.  Some things, it's just not appropriate or necessary to render via procedure.  Often, a developer ends up generating the wrong content, or forgetting to add something very important to the generation tables.  There is no question that procedural content can provide you with lots of content, but is the way you are utilizing it providing the right content for your game?
As I said at the beginning, finding the solution involves understanding the problem.  Do I utterly understand the problem?  I doubt it.  If I think I did completely grok the use of procedural generation in games, I am probably fooling myself.  It is quite possibly a tool of literally unlimited potential.  Paradigms don't get any bigger than that.  But the better we understand the problem, the better job we can do answering it.

When we don't even try, and just figure procedural generation is something we can whip out to make a lot of content fast, I really can't blame the disillusioned players for asserting that procedural generation must suck.


Popular posts from this blog

Empyrion Vrs Space Engineers: A Different Kind Of Space Race

In my quest for more compelling virtual worlds, I have been watching Empyrion: Galactic Survival a lot this bizarro weekend, mostly via the Angry Joe Show twitch stream.  What I have concluded from my observations is Empyrion is following in Space Engineers' shadow, but it is nevertheless threatening the elder game due to a greater feature set (the modding scene notwithstanding).

Empyrion is made in Unity, whereas Space Engineers is built on a custom engine.  While this does put Empyrion at a disadvantage when it comes to conceptual flexibility, its developers nevertheless have a substantial advantage when it comes to adding features due to a savings of time spent that would have gone into developing their own engine.  Examples include:
Planets.  Empyrion already has planets and space to explore between them, whereas in Space Engineers planets are in the works but still awhile away (so you just have asteroid fields to scavenge).Enemies.  Space Engineers' survival mode boasts onl…

Resonant Induction Really Grinds My Gears... In A Good Way

From about 2pm yesterday until 8pm today, I've been dabbling with my latest custom mod mix for Minecraft 1.6.4, which is this time very much Universal Electricity focused.
Aside from the usual GUI enhancers and Somnia, the primary contenders in this mix were:
Calclavia Core - Of course: this is the base of the Universal Electricity system.Resonant Induction - This seems to be largely focused on increasingly more advanced methods of refining ores divided across 4 ages of technological progression.  It also includes some really cool things such as assembly lines.  I'll primarily be talking about just a few blocks out of this mod today.Atomic Science - A mod dedicated to generating more of those lovely universal electricity volts via the power of splitting the atom.  Build your own nuclear reactor!  Deal with nuclear meltdowns!  You maniac!ICBM - A mod dedicated to generating more destruction using those lovely universal electricity volts (and more than a little gunpowder), it cer…

Greasing The Grind: Adding Lasting Appeal To Virtual World Sandboxes

Game design, being about entertainment, is not as much science as art.  We're coming up with interesting things that the human mind likes to chew on that "taste" good to it.  Different people find different things, "Fun," and a game designer is tasked with coming up with fun, appealing things.  As pertains to virtual world sandboxes, I identified three of them.

Challenge Appeal.

Dwarf Fortress and Fortresscraft Evolved have the same end game appeal preservation mechanic: wealth equals threat.  The more money your Dwarf Fortress is worth, the bigger the baddies who will come for you, including a bunch of snobby useless nobles who do nothing but push dwarves around and eat.  The more energy you make in Fortresscraft Evolved, the more and bigger bugs come to shut down your base.  Rimworld does something a little different based off of which AI Storyteller you choose, but it generally adds time to your wealth accumulation when deciding what kind of threats to throw a…