Procedural Generation Discussion

I am roughly 270 episodes late on this topic, but I'd thought I'd give a bit of debate on this because I recently went back and have been watching from the start to actually learn what Casey is doing instead of just watching and being entertained by his mistakes :)

I have got to day 31, and this was the era of TileMap's and the transition from pixels to real-world units. In the Q&A, it was asked whether or not there would be a map editor, and Casey replied that the game would be procedurally-generated.

Just recently, a Co-optional Podcast episode by TotalBiscuit, Jesse Cox and Dodger involved the discussion of procedural generation, and that such an idea is starting to lose traction because of a major flaw in the design of such a concept: the fact that nothing is deliberate.

For instance, you can't place an object in a specific room that's specifically designed to do something that allows the player to progress because of the fact that the entire world is procedurally-generated. Procedurally-generated games, in my opinion, only works for sandbox games where you can do whatever the game offers you, which in itself is flawed by design and limited by the mechanics you offer. It's obvious that the Handmade Hero game is far from complete but I'm curious about the design decision to make this game procedurally-generated now that the topic has been criticized and brought up by perhaps the most cynical critic I know, that being TotalBiscuit.

His words on the topic was (not the words exactly): "I would rather play a game that was specifically designed by the developer because that's how the developer envisioned it, not a game that is procedurally-generated that has objects that make no sense or has no real value to it."

Now, I'm not the kind of person that just follows a single opinion. I'm not exactly a TB fanboy or anything. But it got me thinking that, even though Handmade Hero is a tutorial series and not a game that is going to end up on Steam once it's finished (correct me if I'm wrong), creating a procedurally-generated game and advising on creating one may not necessarily be the best advice from a design perspective.

I'm curious what your thoughts are on this topic.

Bottom line: I think creating a procedurally-generated game for teaching purposes is fine, I'm not against that and neither am I against procedurally-generated games in general, but I would personally advise that people handcraft their worlds and design it specifically how you intend the world to appear because that way you can make the final product feel polished. It's a lot harder to polish a procedurally-generated game due to the nature of such games by design. No Man's Sky is a perfect example of this. As far as I know, there is no procedurally-generated commercially available game that is considered complete.

Edited by Luke on Reason: edit title
One of the downsides of artist generated content is spoilers. It's kinda hard to spoil something when everyone has a different map.

Then again that's also a downside for procgen in that walkthroughs and such cannot necessarily make guides that works for everyone or every playthrough.

Procedural generation is not my thing, but a lot of people like it for the endless replay potential. The most infamous game I've heard of that uses it is Dwarf Fortress. I use random generation as an aid to creativity and also think a mix of deliberate design and random generation can make a world feel more alive.

Edited by Mór on
So I think there might be a little confusion on my part, but I don't think procedurally generated games are truly random. At least not random as we tend to think of it. In one of Jonathan Blow's articles about revisiting the procedural code for Braid's particle system, he goes into some of the reasons why what game programmers want isn't really random, but repeatable peusdo-randomness. And you want that because of the artistic and technical control it gives you for your game.

Also, procedural doesn't even mean it has to be random. Issues such as placing an item in such and such room can be solved. No game is purely procedural, unless it is very simple, such as an endless runner. In fact any dungeon key that randomly falls from a mob is just such an item, and has been in FF games for decades. Not to mention randomly generated enemies.

Some great procedurally generated games are all of the Diablo series, their dungeons are all "randomly" generated by terrain type + character level + difficulty mode + random magic. And pretty much most in this genre are similar, such as Path of Exile, which is a fantastic game.

I haven't played NMS yet, so I won't comment directly on it, but I will mention that media and gamers tend to beat some subjects to death. As an example, when Star Wars TOR came out they were based on the Hero Engine. Hero Engine's reputation went downhill thanks to the bad reviews of SWTOR. Elder Scrolls Online even backed off from saying they were also using that engine thanks to that debate. If I studio/person/team can't make a good game with a certain tech, doesn't mean others can't.

Both Elder Scrolls Online and Path of Exile are based on Hero Engine, as one example that proves this point. (Bethesda bought the source code to Hero Engine, then modified it. Whether they still call it Hero Engine is debatable, but it was based from the same code base.)

Also, in all the interviews I remember, NMS lead mentioned again and again they were going through the game and only using the generated stuff that passed muster for them. The so called artistic touch, like a photographer finding the perfect photo spot. They may not have taken everything into account, I haven't played it so will leave that alone, but clearly very few games are going the route of having everything procedurally generated without humans massaging the output, with the possible exception of rougue-likes and endless-runners and Tetris. (All card games are procduraly generated, as well as word puzzles, and many other puzzle style games, now that I think about it.)

Now about this technique in HH. Even if the game were not going down this route for the final version, it is valuable to teach it in the series. Why? Procedurally generated stuff makes for great programmer art. You can quite literally test every possible combination of options possible,and you don't even have to think about them one by one. You can usually spot them for being just wrong.

But since it is, and as exacting as Casey is about the feel of the game, I have high hopes that Casey will show an approach to procedural generation that is actually great to learn from. And I am sure there will be some great additional topics in the chat as well.

Edited by Bill Strong on Reason: Added more examples.
tienery
a major flaw in the design of such a concept: the fact that nothing is deliberate.


I consider this to be the biggest and most prolific misconception about procedural generation - none the less, it is a major flaw with _some_ examples of procedural generation.

I personally instead tend to think of procedural generation as 'encoding' your intentional/deliberate design into the the procedures/algorithms you're creating.

For me it's about modelling the process you would use yourself to create content so that you have more powerful and useful tools to use. I think where people tend to run into trouble is that although there has been a lot of success in creating low-level procedural tools for making stuff _look_ good, there doesn't seem to have been as much success in procedural generators for dealing with high-level concepts like game design, level design, story design, etc. I don't think these things are impossible to proceduralize, but perhaps they are harder or possibly they just haven't had the attention they deserve - in any case, this seems to be where games like NMS have let themselves down, they create passable procedural landscapes, textures, etc. but their procedural level/mission/game design etc. seems to be as thoughtless as the roll of a dice or an endless repeating pattern.
chronokun
I consider this to be the biggest and most prolific misconception about procedural generation - none the less, it is a major flaw with _some_ examples of procedural generation.


I worded that wrong, but I think the point stands from a gamer's perspective, because the person playing it doesn't necessarily know how the underlying engine works. I think in a game that is truly random like No Man's Sky, Minecraft, and other games in the survival sandbox genre (leaving other genres aside), the way in which the algorithms are set out is that from the gamer's perspective, there's not one item in the entire game that has been deliberately placed within a specific location that creates meaning. Minecraft is less of an example of this than No Man's Sky, because at least in Minecraft you can set your own goals.

A lot of the reviews of No Man's Sky are very critical and negative, and often point to the fact that the gameplay is like a chore than meaningful progress.

One thing I didn't point out that I should have pointed out to begin with, is that the discussion where I quoted TotalBiscuit is actually based on the survival sandbox genre. I understand the existence, and perhaps need, for the procedural generation in games like Diablo, i.e. hack and slash, top-down isometric action RPGs. Perhaps there's a reason to involve random generation for those types of games.

But as I am making my own game, I don't think I'm going to be using any form of random elements for it. Everything in the game has a reason to be there, either because it's part of the core story or it aids in character progress. That being said, my game is heavily story-focused and thus random map generation goes against the story I want to tell. In Warcraft, leading up to World of Warcraft, none of the campaign maps are procedurally-generated. They are all designed with the goal of telling a story in a specific way, and I think story-focused genres like that would not benefit from random generation, and may even hurt the game from a story perspective.

I think it's interesting that procedural generation works for some genres, but not for others.
One of the best reviewed games ever, Elder Scrolls V: Skyrim, used a randomly generated story telling system to create a unique story experience through their quest system. They hand crafted the main story, but by adding in the random quest system, they made the game feel more alive.

Procedural generation is just a tool. And in real life, random things happen all the time, we simply ascribe meaning to them.

Keeping in mind it is just one of the tools in the toolbox, you don't have to use every tool in every game. And you are the designer for your game. You don't need our permission to use or not use a tool. You don't need their permission either.

Now I do have a philosophical question for you. If you are presenting a very scripted story, with every thing in its exact place, what differentiates your game from say a book or movie? What makes it a game? In my mind, the differentiating factor of a game is ability to give each individual a unique experience. What is your opinion on it?

Of course, I don't mean to derail the thread, but this might help explain where my head is at.
BillDStrong
One of the best reviewed games ever, Elder Scrolls V: Skyrim, used a randomly generated story telling system to create a unique story experience through their quest system. They hand crafted the main story, but by adding in the random quest system, they made the game feel more alive.


Please elaborate. From my play through of Skyrim years ago, their 'randomly generated quest' system, that you call story telling, was as simple as "Go retrieve item [X] from dungeon [one you haven't visited]." The few quests that sometimes would play out in these dungeons were all hand designed. It felt contrived and mechanical to me. Maybe I missed something.
BillDStrong
Now I do have a philosophical question for you. If you are presenting a very scripted story, with every thing in its exact place, what differentiates your game from say a book or movie? What makes it a game? In my mind, the differentiating factor of a game is ability to give each individual a unique experience. What is your opinion on it?


Believe it or not, I am writing a book that the game is based off. Much of what happens in the book is being translated into a game, because it's a lot more difficult to market a book versus a video game unless you happen to be a wealthy person with a lot of market awareness.

The gameplay elements are in the combat which I have chosen to be a tactical RPG. You have the ability to choose between roles (Lore Gatherer, Warrior and Cleric) and follow the story of the character who represents the role you choose. In my book, Johiah is considered a Lore Gatherer. Thus, if you choose to be a Lore Gatherer (basically a ranged caster/magician), you choose to follow her story and you would play an entirely different campaign than you would choosing to be a cleric or a warrior.

That being said, the game does follow the overall story of the novel I'm writing with some major differences between getting from start-to-finish. As the player, you decide where the main characters go instead of the main characters deciding where you should go. That's obviously a major selling point for any video game, because then it gives the player choice and perhaps a purpose as to why they are playing the game. Games maybe about choice, but for certain genres that's not necessarily true. In the case of World of Warcraft, or any MMO for that matter, I think the choice is based on what type of game you want to play. In an MMO, you can focus on PvP, PvE or a mixture of both. Maybe you only want to focus on daily quests, or you enjoy raiding, or dungeons, etc.

Definitely very off-topic, but to answer your question on "What makes it a game?" you could go back to the defining principles of what makes something a game:

  • A score system of any description
  • A failure state
  • And an end goal, or a goal in which the player decides (like in a sandbox)

I think when it comes to story-telling in games, having a pre-defined story to tell I think is a lot more compelling than something that is auto-generated by a story-generating tool, so long as the pre-defined story you want to tell is not full of cliches. The problem I have with generated stories is whether or not the story generated is cliche. I think in the case of Elder Scrolls, or any RPG, having a story-generating tool where you define the rules on what to generate would make certain that your game has the longevity as well as the content to keep it engaging for players without being content-starved. I think I would be okay with that.

I would not be okay with an entire storyline being auto-generated, because that's lazy and probably won't make any sense. Most people play games to play games, not necessarily to learn story. RPGs are probably the only exception to that rule.

When it comes to my opinion on that "unique experience" I think depends on the genre. I think to make an RPG non-linear with thousands of possibilities with a pre-defined story to tell would be impossible, if not a massive and potentially mediocre task to accomplish. It would take years to perfect such a thing, and I think for that reason alone games like Final Fantasy, Shining Force, Warcraft, among others, don't have such branching storylines because it would be a huge time sink. You can argue to use a procedurally-generated storytelling tool that spits out some story that you can copy and paste into the game, but how many times can you do that before the story becomes nonsensical or cliche?

It might make the game more compelling, but it would drive the price of the end product up, especially if it's an indie title.

For genres like survival or sandbox, it's the matter of having no story to tell to start with and the player sets their own goals. Their goals are thus their story, and that's what makes it unique for them. Obviously story doesn't necessarily mean something pre-defined by the author, and in the video game universe you expect to have a degree of control over how the story is told. It's a lot more difficult to do that with an RPG, especially rogue-likes, or as TotalBiscuit coined the term "rogue-lite", where the game may require multiple play-through's before getting an experience that was worthy of the player's time. Personally, in the case of rogue-likes, placing story would be almost impossible unless you somehow added a mechanic where you discover story not based on the generation but based on how many rooms the player has completed.

I think that in an RPG setting, you have to have a pre-defined story setup to tell to make the initial impression of the game compelling enough that people will purchase and learn about the story. Sure, it's okay to have some auto-generated story in between the major events that happen, but I think major events and properly developed characters come from a person who has experience in writing novels, scripts and perhaps in the video game market, and not from some generation tool. I don't think a generated story would be compelling for me, and by extension the content itself.

Edited by Luke on Reason: typos
BillDStrong

Keeping in mind it is just one of the tools in the toolbox, you don't have to use every tool in every game. And you are the designer for your game. You don't need our permission to use or not use a tool. You don't need their permission either.


This is very true, although perhaps more accurately, it's a whole spectrum of tools on its own, even if only talking specifically about procedural level generation there's so many ways it can be done. But I agree, if there isn't a need for that in a particular game then there's no need to use it.

However it may still be worth looking into other forms of procedural generation as procedural techniques can be very useful even in highly linear games. For example Uncharted 4's use of Substance Designer for procedural texturing or Sunset Overdrive's use of Houdini Engine for procedural modelling. Whether these kinds of things are brought into the engine or just used to bake assets they can potentially make a very valuable addition to your content pipeline.

So perhaps you might consider something like using procedural generators to create the rough 'grey box' versions of your levels but hand curating the results and making whatever manual fix-ups you think necessary to make them feel handcrafted. This approach can help you deliver more content without having to sacrifice the 'directability' of your content or compromise on quality (as I understand it this is what's being done with Star Citizen).

But if you really see no need for it then just don't bother with it, I'm just trying to give some suggestions to help you consider more possible angles to look at it from before deciding whether or not or how to use it =)
JesseMeyer
BillDStrong
One of the best reviewed games ever, Elder Scrolls V: Skyrim, used a randomly generated story telling system to create a unique story experience through their quest system. They hand crafted the main story, but by adding in the random quest system, they made the game feel more alive.


Please elaborate. From my play through of Skyrim years ago, their 'randomly generated quest' system, that you call story telling, was as simple as "Go retrieve item [X] from dungeon [one you haven't visited]." The few quests that sometimes would play out in these dungeons were all hand designed. It felt contrived and mechanical to me. Maybe I missed something.


No, you didn't really miss anything. Keep in mind they designed the system to do exactly that, direct the player to new content, to help expand the amount of play through time. And I did say they hand crafted the main quests.

Now, is it of the same quality of the hand crafted story? Not really. But it did achieve its goal as part of the system. And did you enjoy the the hand crafted parts?
tienery

  • A score system of any description
  • A failure state
  • And an end goal, or a goal in which the player decides (like in a sandbox)


  • So a book and a movie are games.

  • Score system - how many pages/minutes read/watched.
  • Failure state - don't finish. Loud talking through the movie.
  • End goal - Finish the book/movie. Goals decided by the user- Read the last page first, or not. Watch through the end credits, or not. Find references to other media. Find mistakes.

  • While these are a little bit of a stretch, its not much of one. This is why I think games can provide a unique playthrough experience for each character is such a big deal.

    As a writer, you know the reason procedurally generated stories aren't very good. They lack substance. The state of the art is still "Go do that thing with this thing." The way we make stories interesting is by creating a backstory, asking who is this character, what is their motivation and so forth. I haven't seen a procedural system do that yet. (There was a game that compiled the whole world from the beginning of time to the present when you started plaing for the first time. I don't remember what it was call, and I didn't play it.)

    BillDStrong
    Now, is it of the same quality of the hand crafted story? Not really. But it did achieve its goal as part of the system. And did you enjoy the the hand crafted parts?


    What sorts of stories did this system produce? It directed me to some, but it never manifested any that would be above vapid. So from a story telling point of view, it wasn't compelling. As a quest system I can see how it's considered successful, but it is even by most definitions the most basic possible system imaginable for what it accomplishes. It's just neither procedural nor story telling to me.
    "Procedural generation" is not what makes diablo 2 a great hack-n-slash loot game.
    In fact, almost nothing in the game is "procedurally generated".

    The items have a very rigid rules and sets of magic properties they can have based on item level and item type. And there's a very specific list of items which can drop in every "treasure class".
    It is all very deliberately hand-crafted.

    Big part of the item system are also the "Set Items" and "Unique Items" which are all again hand-crafted and often-times have a custom appearance. And are much more interesting than the bland items with some randomly assigned properties.

    Diablo does have randomized dungeon layouts (with many predefined set-pieces and areas), BUT it
    is arguably the weakest part of the game. You don't play diablo to explore the dungeons, the dungeon layouts themselves are boring, bland and uninspired (as with almost anything procedurally generated)
    The flow of the game - the route through the game remains 100% the same on every play-through.

    The randomized dungeons layouts? It's just a back-drop. All the good stuff is always in the tons of deliberately hand-crafted content.

    The random generation in the game is such a tightly constrained system that it really doesn't quite register as "procedurally generated".


    Edited by pragmatic_hero on
    So, what do you think procedural generation means?

    Procedural generation is a method of creating data algorithmically as opposed to manually. The key here is algorithmically, not randomly.

    "The items have a very rigid rules and sets of magic properties they can have based on item level and item type. And there's a very specific list of items which can drop in every "treasure class". "

    This is the definition of procedural content. My contention is the Diablo's got this so right that you are arguing that it isn't procedural. But it is, as it follows an algorithm that is "deliberately handcrafted."

    Diablo and Diablo 2 did something that is really smart. "Less is more." They don't bombard the player with thousands of generic icons and random names, they stuck to a small set of assets and it felt more personalized than today's give me all the things style games. Of course, they may have gone that route if they had the budget.

    The dungeons are backdrops. But they are one of 2 key features that make it so replayable. Difficulty level, which also happens to be a procedural content generation method, being the other one.

    It's the difference between a computer generated story that every word is generated algorithmically, and a story in which pre-written paragraghs are spliced together.

    Procedural generation can be done write. Just like programming, you can't get great results without a lot of work.