It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
HereForTheBeer: Been noticing a trend lately with new releases. On a game that uses procedural generation of the game world, someone will point out that detail and say "No, thanks."

Why?

I don't have an opinion one way or the other, but I'm interested to know why some folks avoid it.
avatar
amrit9037: because mostly procedural generation = no creativity.
I see your "no creativity" and rises you Delver and Tower of Guns
I like my handcrafted worlds. Keep in mind that games like say, "Diablo" are technically procedurally generated, however, they have stable elements that are kept across experiences.

When I see procedurally generated though, it usually means that most of the world is not handcrafted, and a lot of those elements are not kept stable across the experience.
If I play solely for the gameplay, sure that's fine, but if I'm playing for a specific story or setup, not so much.

I guess the best way I can describe it is that I'm not really a fan of Master of Magic. The gameplay and setup of spells is great, the strategy is great, but there's no real progression other than "win". Completely procedurally generated in essence, a big fun sandbox.

Just not my cup of tea.
avatar
ZFR: So after reading some reviews and game descriptions on steam, it seems that F4LLOUT is right when he says that the term is being (mis)used to mean something different now. Heck, I even suspect that in some games the content described as "procedurally generated" isn't really so. It's just random.
Never said it's misused, just said that it is commonly (and in my opinion legitimately) used in a specific sense where content is largely created beyond the control of human designers, usually random.

Also in my understanding of the term any randomized content is procedurally generated (while obviously not every procedurally generated content is random). Generally randomization needs to follow certain rules, especially if the resulting levels are to be playable / beatable and I think even the most basic rules (like making sure that two entities aren't placed in the same spot) make it a procedure.
avatar
F4LL0UT: Never said it's misused, just said that it is commonly (and in my opinion legitimately) used in a specific sense where content is largely created beyond the control of human designers, usually random.

Also in my understanding of the term any randomized content is procedurally generated (while obviously not every procedurally generated content is random). Generally randomization needs to follow certain rules, especially if the resulting levels are to be playable / beatable and I think even the most basic rules (like making sure that two entities aren't placed in the same spot) make it a procedure.
I would agree. All random content must be procedurally generated (I can't see any other way to do it, even picking an item from a list is a 'procedure'), but procedurally generated can often give fixed results.

I also agree that when used to describe a game it almost always means random content (very technical descriptions might mention that procedural generation is used to create large crowds etc. but I doubt that is a common thing mentioned in descriptions or reviews) but that that isn't the technical definition of the term.

This article/book is one I came across recently that is quite interesting about how generating large 3D worlds works (I think there are further chapters on creating crowds and things as well, though I'm not sure if that's particularly procedural generation or not)
avatar
F4LL0UT: Never said it's misused.
The mis was added by me. Sorry, didn't mean to imply you said it. Edited to make it clearer.

avatar
F4LL0UT: just said that it is commonly (and in my opinion legitimately) used in a specific sense where content is largely created beyond the control of human designers, usually random.
I agree that it's commonly used this way, as I found out. Just like people say "my weight is 70kg" when they mean "mass".
Whether legitimately it's open to debate. But I won't argue the point, since the OP obviously meant the common meaning.

Anyway, it's honestly not my point to argue semantics. I was just genuinly surprised to see the term has changed meanings, since I remember way back in college we had a task to create a game with procedurally generated (not random!) levels (and keep it below certain size) and we had to get really creative to get this done.

avatar
F4LL0UT: Also in my understanding of the term any randomized content is procedurally generated (while obviously not every procedurally generated content is random).
avatar
adaliabooks: All random content must be procedurally generated (I can't see any other way to do it, even picking an item from a list is a 'procedure')
Not necessarily. Imperialism for example handled random levels by having a huge amount of levels built and then when you select "create random world" it would just randomly pick one. So althought picking the level is a "procedure", the levels themselves were definitely not procedurally generated.
Diablo had also random quests, but they weren't procedurally generated. The selection mechanism was random, quests were pre-designed.
Post edited February 03, 2016 by ZFR
avatar
amrit9037: because mostly procedural generation = no creativity.
avatar
HereForTheBeer: Can you elaborate?
You need to contrast procedural level design with manual level design to really get an idea of why the former is "not creative". I'm not saying that procedurally generated levels can't be great but usually procedural level generation works like this: a designer (or programmer, whatever) knows the extremes at which a game is still playable, makes them the boundaries for random numbers and thus, even though in theory there may be an infinite amount of levels, they have a basic recognizable pattern, especially recognizable after checking out a certain amount of levels. The procedure will never test those boundaries, try to expand them or intentionally create unique scenarios that require an unusual use of the game mechanics. Also the most exciting cases, the extremes, will usually be very rare compared to how often human designers would use them.

Surely it's possible to create algorithms that generate amazing things that will even surprise their creator (for instance by simulating an evolutionary process) but generally procedurally generated just means creating variations of the same level or expanding a basic pattern defined by a human designer. Also it's no surprise that the games that allegedly have the best level generation are also the ones based on emergent gameplay, read: where the game mechanics allow to approach challenges in huge amounts of ways and even a single manually created level would provide huge replay value (such game mechanics are basically necessary for giving the level generation algorithms lots of leeway).
avatar
IronArcturus: Or how about Spelunky? This is a 2D exploration game that also uses procedural generation. The player explores about 4 main levels divided into 4 stages--all brutally difficult. For those that grew up in the '80s, this game is very reminiscent of Dig-Dug mixed with platforming.
IMO Spelunky is one of the very best games of the past decade. It's just brilliantly designed and endlessly fun to play.

Procedural generation is just like any trendy gaming element - you've got a few innovators that do it right and create something really special with it, and then there's a horde of imitators that just...aren't as good.
avatar
ZFR: Not necessarily. Imperialism for example handled random levels by having a huge amount of levels built and then when you select "create random world" it would just randomly pick one. So althought picking the level is a "procedure", the levels themselves were definitely not procedurally generated.
I'm pretty sure he didn't mean randomly picking a manually created level out of a finite list but rather picking level elements at random.

avatar
ZFR: Diablo had also random quests, but they weren't procedurally generated. The selection mechanism was random, quests were pre-designed.
Yes, the quests themselves were pre-designed but picking one such quest for each world out of a list of four and sensibly placing them in the levels is in my opinion in itself basic procedural content generation.

Heck, even if a game would just randomly pick several manually created levels out of lists and you'd just end up with a random order / selection of them it would in my opinion be basic procedural generation. It's actually very much how Roguelike Legacy seems to create its worlds, just by placing manually crafted rooms at random. And that's very much procedural level generation in my book.
Procedural generation can mean an awful lot of different things, so forming an opinion of a game based solely on the fact that it utilizes "procedural generation" is kind of like doing the same thing for a game that "uses AI".

Here are a few observations that may go against what many think of when they hear the term "procedural generation" in connection with games.

1. Procedural generation does not mean "random"
Procedural generation is the process of generating data dynamically rather than simply loading static data into memory. However, just because the data is generated at runtime rather than being a part of the game data on disc does not automatically mean that it is random in any way. It is quite possible (and is usually the case) for an algorithm to consistently generate the exact same end result given the same starting point.

2. Even "random" rarely means "random"
While an algorithm for generating data may contain some elements of randomization, it is still constrained in many ways. You cannot generate a level for a game by, say, assigning random colors to random pixels on the screen. You need to enforce some rules of level design, or you won't end up with an actual level for your game. How much randomization is used can vary widely, as well as which elements are randomized and how.

3. Procedural generation is not only used for generating levels
Almost any kind of data can be procedurally generated. Textures, sounds, models, items, effects, maps, basically any kind of data you can think of. As previously mentioned, procedural generation need not contain any randomization, so it is quite possible to have a game where almost everything is procedurally generated, and still have it be the exact same experience each and every time you play it.

4. Procedural generation is done for many different reasons
Well, the most immediate reason is usually "so you don't have to make all that data yourself", but there can be many different concerns involved in why making it yourself would be a bad idea. Here follows a few examples.

A) Storage
Data generated at runtime is data that doesn't need to take up storage space when the game isn't running. This means smaller installation packages and smaller installations. For this reason the demo scene has been instrumental in developing many techniques of procedural generation, because there has traditionally always been demo competitions in various storage size classes, many of them quite small. When you want to make something impressive, but your program is only allowed to take up 4KB, you need procedural generation. If you are unfamiliar with their work, I do urge you to look up the demo group farbrausch and look at some of their demos. You will be amazed at how much can be done with how little.

B) Work
There's no use denying it. Making assets for a game takes a lot of time, effort and skill. For a small team, creating all textures, sounds, models, levels, etc. entirely by hand may simply not be feasible, unless they want to restrict themselves to making very small games indeed.

C) Quality
A procedurally generated texture has no pixellation, because it adjusts its resolution as needed. Remember DOOM? Remember walking right up to a wall and admiring those four pixels now filling your monitor? While that is naturally an extreme example, the issue has not simply disappeared. While textures these days are of course much more detailed than those of DOOM, it is simply not feasible when making a game to create every texture in 4K resolution, on the off chance that some player somewhere might stick his nose right up to the object and notice the pixellation of the texture. Generally, you make high-resolution textures for those objects a player is likely to see up close, and leave the rest in a lower resolution. Another approach would be to use procedural generation for at least some textures, because then it won't matter how close the player gets.

D) Complexity
You may be in a situation where you simply have too many possibilities to take them all into account beforehand. Let us say you would like your FPS game to have realistic sound effects for the impact of projectiles. A bullet hitting a steel girder does not make the same sound as a bullet hitting a plaster wall or a wooden cupboard. A grenade hitting a concrete floor does not make the same sound as a grenade hitting a carpet. What do you do then? Do you pre-record the sounds of every possible combination of something hitting something else? And then do it all over again when you make an expansion pack featuring four new weapons and eight new materials in the new levels? Or do you use an algorithm to generate an appropriate sound based on the properties of the materials involved?

...

Procedural generation can be a fantastic thing. One of my great sorrows concerning both games and technology in general, is that Spore turned out the way it did. When it comes to sheer technological achievement, Spore is without a doubt (in my mind, at least) the most impressive game ever released. When you understand what Spore did and how it did it, it is very difficult not to be awestruck at what the developers managed to achieve, and how far they advanced the field of procedural generation. Unfortunately, as a game, Spore left a lot to be desired, and was therefore not the huge success it was supposed to be. Because of this, the advances it made regarding procedural generation (which were not only applicable to games, by the way) stopped dead in their tracks, because nobody wanted to "go down that path" so as not to risk having their game end up like Spore.

Procedural generation exists in every game ever made. Every bit of data not actually stored before the game starts is, in principle, procedurally generated, even if it is just the score of the player. It is still data that was generated at runtime by the code of the game, rather than simply being loaded into memory from pre-fabricated assets. So don't scoff at procedural generation on principle. It is simply with that as with everything else, a matter of the right tool for the right job. Of course, using the right tool does not guarantee high quality, as it is quite easy to use a tool badly, even if it is the right one.
avatar
Wishbone: [[...]
1. Procedural generation does not mean "random"
Procedural generation is the process of generating data dynamically rather than simply loading static data into memory. However, just because the data is generated at runtime rather than being a part of the game data on disc does not automatically mean that it is random in any way. It is quite possible (and is usually the case) for an algorithm to consistently generate the exact same end result given the same starting point.
[....]
I think Elite II is the best example of this, and how the managed to squeeze the whole galaxy onto a floppy disk
Speaking of roguelites, does anyone know if the bugs in The Swindle were patched yet?
avatar
Wishbone: <snip>
Very well written!

avatar
F4LL0UT: Yes, the quests themselves were pre-designed but picking one such quest for each world out of a list of four and sensibly placing them in the levels is in my opinion in itself basic procedural content generation.
Heck, even if a game would just randomly pick several manually created levels out of lists and you'd just end up with a random order / selection of them it would in my opinion be basic procedural generation. It's actually very much how Roguelike Legacy seems to create its worlds, just by placing manually crafted rooms at random. And that's very much procedural level generation in my book.
It is procedural level generation, but not procedural quest generation. My point was that it's possible to have something appear "random" that's not procedurally generated.

avatar
F4LL0UT: You need to contrast procedural level design with manual level design
These things are not mutually exclusive. I could have a manually designed procedurally generated level. I can create a complete level only instead of storing it in memory write a procedure that would create it. The user won't know the difference.
avatar
ZFR: Not necessarily. Imperialism for example handled random levels by having a huge amount of levels built and then when you select "create random world" it would just randomly pick one. So althought picking the level is a "procedure", the levels themselves were definitely not procedurally generated.
avatar
F4LL0UT: I'm pretty sure he didn't mean randomly picking a manually created level out of a finite list but rather picking level elements at random.
I actually did.. but I will admit to being slightly drunk at the time.
Picking a whole level from a list probably doesn't really count, whereas picking the individual elements and combining them is a better example.

avatar
Wishbone: snip
Have a +1, excellent explanation of the techniques involved and what they can be used for.

And given me another example of things that are procedurally generated; the items in games like Diablo. Anything that's got the Mighty Sword of Flaming Strike +4 is most likely procedurally generating items form a list of prefixes, suffixes and base items.
I was kicked out of the office and lost my post. Anyway, most of the things I'd written were already posted here and there.
Still:

"Not truly random" in the sense it's used throughout the thread is a pile of WTF.
True randomness is anything which is actually random (like random.org's atmospheric noise -- something GOG users should be familiar with via all the giveaways).
Pseudo-randomness is generating a number via a predetermined algorithm from predetermined input (unless you actually feed raw experimental data into it).

Doing a thing with a 99% probability and another thing with a 1% probability is just as "truly random" as doing either with a 50% probability -- it depends on how the number is generated, not on the probabilities themselves. People saying houses aren't "truly random" because they have walls drives me up a (truly random) wall. It's 1:30 am and I want to sleep, and it's bloody hard to sleep on a wall, even on a predetermined one.
avatar
adaliabooks: And given me another example of things that are procedurally generated; the items in games like Diablo. Anything that's got the Mighty Sword of Flaming Strike +4 is most likely procedurally generating items form a list of prefixes, suffixes and base items.
Exactly. The Diablo games (at least 2 & 3) use procedural generation a lot, both for levels and items.

Then you have games like Magicka, which uses it for spells.

Basically, the possibilities are endless.