Advertisement

Procedural Generation Discussion

Started by July 11, 2022 01:03 AM
12 comments, last by Warp9 2 years, 3 months ago

I made a video covering my progress writing a building generator, I'm curious if people have any proc gen insight. this is my first attempt beyond using marching squares to generate caves when I first started my project. Does anyone have some procedural generation they'd like to share? Some favorite algorithms for good results? I'm trying to work on believably populating the rooms decorations but now I feel like I'm writing overly complex sets of rules for each individual type of furniture and it has me wondering if there's a better way.

Procedural generation is an interesting topic.

At about the 0:19 point in your video, you mention that the first part of making a town is to make some buildings---I can definitely see the argument for that perspective. However, I'd argue that the first part of making a town is to figure out why it would be there, and how long it has been there. . .

For example, is it there because it is a mining town? Or, was it founded because of its proximity to nearby rivers or roads? Was it recently founded, and all the building styles from the same period, or has it been around for centuries/millennia ?

Particular buildings also are likely to belong in certain places, or regions, of the town. The areas where the wealthy merchants live are likely to be different than the poor areas of town.

Same thing applies to other procedural generation techniques. . . For example, with natural terrain it is also important to understand why things are arranged in specific ways. Of course, you could put mountains in your world randomly, but generally mountains go in ranges. There are reasons why mountains form in some areas, and not in others. There are reasons why deserts appear in specific places, There are reasons why jungles appear in specific places.

That is not to say that the random element is not important. It is just that the randomness should be constrained in ways that make sense for the world/setting.

Advertisement

PG is an interesting subject. The most famous case of PG is probably Blizzard`s RPG from the late 90`s. Procedural generation in that case meant that the levels were generated while the game was running, by that I mean the levels were not designed in a level editor. I`ve seen PG being used by someone for generating graphical assets (meshes + textures), the person had a blog entry or a post about that here on GameDev some years ago. PG works by combining premade elements (like doors, barrels and other level elements if we talk about PG levels) in a random fashion.

My project`s facebook page is “DreamLand Page”

To add to what I've already said (and more directly address your video), I do think you've done a good job generating your buildings. It will be cool to see where you go with your project from here.

@undefined That's some good food for thought, thanks. I agree with you, in the context of development if the building generator has the ability to be passed information it will eventually receive from the world then the system could in the future work in the way you've described which is something I'll be considering going forward.

Relating to this topic, I thought I'd share some of my own recent work in this area. The image I'm attaching is from a game I'm working on in C++ with OpenGL. I'm doing procedural generation of 3D town type areas. It is still in an early stage, but should eventually lead to some cool stuff. . .

What you're seeing is actually a “proto-stage” where I start to lay out buildings, walkways, courtyards, etc. So I guess you could say that these are proto-buildings, proto-walkways, and proto courtyards. The next stage of the algorithm is refinement, where the proto-buildings, and other proto-things, become more resolved.

The algorithm can take different parameters, so it can generate various different types of towns. Right now, it is set to have more of a Mayan/Aztec type vibe.

Also, the plan is to combine this algorithm with some different proc-gen algorithms for doing a more natural landscape, so that there can be natural and urban areas in the same zones.

Advertisement

Do you have anything on your cave game thingie? My experiments are not turning out that great…

[DEDACTED FOR SECURITY REASONS]

@Embassy of Time : If you're referring to my game, sure I'd love to talk about it. . . That's one of my favorite topics. :-)

@Warp9 It was actually aimed at the OP, but I am greatly into procedural generation and had even planned a somewhat novel approach to it, before LIFE took over and ate up all my time (grrr…). You got a thread about yours? I think it would be bad manners to hijack this one…

[DEDACTED FOR SECURITY REASONS]

@Embassy of Time : agreed about not hijacking the thread. . . I was just confused about what you were referring to. I'd watched the video and was kind of focused about what was going on in that. So I didn't remember the caves reference (although I should have, since it was in the actual text of the first post).

In any case, the idea of “using marching squares to generate caves” sounds cool, so it would be great to hear the OP talk about that.

This topic is closed to new replies.

Advertisement