22 posts
#8971 Procedural Generation Discussion
Oct. 15, 2016, 11:51 p.m. Edited by on Oct. 15, 2016, 11:53 p.m.

At what point does shuffling around content like a deck of cards and throwing dice becomes "procedural generation"?

"My contention is the Diablo's got this so right that you are arguing that it isn't procedural. "
In other words, there's so little procedural generation in diablo that you don't even notice how little of it is there.

The best kind of procedural generation? No procedural generation!

The algorithms in Diablo 2 do not "generate content" or "create data" themselves, they merely pick data from multiple giant hand-crafted tables and shake it up a bit.

The data the algorithm puts out has to deviate a certain amount from the input data for me to say that something
has been "procedurally generated". Something "new", "surprising", "distinctive" or "unique" has to emerge.

In case of diablo no actual "procedural generation of content" takes place. There's not a single thing in diablo you can point to and say "oh look, this is procedurally generated content", except randomized dungeon layouts I guess (the weakest part of the game). I rest my case.

47 posts


#8972 Procedural Generation Discussion
Oct. 16, 2016, 4:12 p.m. Edited by Jesse on Oct. 16, 2016, 4:39 p.m.

Procedural generation is generally meaningful to games when it can communicate an idea about how the game's universe works. That's a neurolinguistic problem, a new frontier for computer scientists. This is why games that rest on PG feel shallow when the nature of PG produces too much chaos to be recognized as pattern or is too highly constrained to produce anything of interest.

Diablo 2's PG was not part of what made the experience compelling to me. The important aspects of that game were hand picked by designers to communicate something specific. The tiny irrelevant details were filled in by PG.

The meaning of life is to dance and sing while the music is being played.
47 posts


#8974 Procedural Generation Discussion
Oct. 16, 2016, 4:15 p.m. Edited by Jesse on Oct. 16, 2016, 4:17 p.m.

Please delete. Somehow this double posted and I can't seem to figure out how to delete it myself!

The meaning of life is to dance and sing while the music is being played.
Gianluca Alloisio
31 posts
#10489 Procedural Generation Discussion
Jan. 24, 2017, 1:07 p.m.

As someone said: procedural generation is not random generation.
Saying that using procedural generation is lazy means a fundamental misunderstanding of the thing. Probably the real meant thing is that a lot of the procedural generations we see are lazy ones, with a lot of randomness and little procedurality.
If you try to code a procedural generation algorithm you'll find that is hard to get nice results. At the end you'll probably lower your standards, accept all the smoke&mirrors thing and make do with you manage to get. The more depth you try to achieve the more it's difficult. I think it's similar to the difficulty of creating a single non-generative thing -- lacking a better term, sorry -- but with the augmentation of having to create a process that creates that same thing. I said "augmentation" because it's not a plus, it's an added dimension. To an extent it's like saying you are creating, bit by bit, a universe, versus creating a process that can generate all possible universes adhering with your constraints. The last part it's important: "adhering with your constraints".
The creative process, in general, starts from a goal, being it exploratory, expressive, something else or a combination of many. It's really important to understand your goal when you are creating a procedural generation algorithm. Given that it's a very difficult process you have to simplify your life until your goal becomes feasible. To achieve feasibility you have to state the tech max level and given that define your constraints, removing possibilities. In non-generative creation you adopt some of the non-constraint possibilities in your final work. In generative creation you leave all the possibilities in their constraining fence, so all of them can be experienced. In fact a generative algorithm can be used in non-generative creation, fixing a slice of the possibility space.

You can be sloppy and leave things to chance, in both non-generative and generative creation.