Help with terminology regarding procedural generation

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By GamersPointeGames

The elevator pitch: I’m building a brick breaker game as my class project. This type of game isn’t used in my course, so I’m learning a little more outside of class to fill in the gaps.

The problem: I don’t know what I’m looking for by name.

Deets: I’ve got a working paddle, walls in place, a ball I’ll be programming this weekend, and a bunch of brick designs. I placed one of the bricks, looked around the play area, and decided I didn’t want to custom lay hundreds of bricks, like, 101 different times. Procedural generation popped into my head and that’s the only term I know for what I want to do. However, I need to zero in on something else along the way and don’t know how to phrase it so that I can find all the right help guides.

What I want to do is include several of the bricks per stage and then have the system auto generate all the rest to a certain threshold. My thinking is that I can set a score value to each type of brick, then set the point value needed to clear the stage, and finally design an algorithm to always generate enough of each brick to cross that threshold. The next thing I want to do is have these bricks scroll to the bottom row as the level progresses because there won’t be enough room in the play area for them all. So, the system will generate bricks off screen and each column will drop in some time after the visible segment is cleared.

Next, I need the pattern to randomize according to these rules. The plan is for randomization to increase in degree in harder stages. That way I can add more bricks in the following sets of stages and have the process repeat the same way through that set of stages. Finally, I need to be able to tweak the algorithm later in the game to accommodate the new requirements.

Because I’m still new to GDScript, I don’t know how these concepts translate over to the terminology so I can find the threads and guides I need to study. I’m hoping someone has some idea what terms go with these ideas. Thank you in advance for any help you can give me with these terms.

:bust_in_silhouette: Reply From: njamster

There really aren’t any special terms for what you’re describing. That’s all procedural generation is about: coming up with clever scripts that arrange stuff the way you want. However, general rule of thumb: (good) procedural generation is a lot harder than putting together a (good) level by hand! While certain things (like Perlin noise or pathfinding algorithms) are commonly used in procedural generation, most of it still isn’t too different from regular game development: you’ll need the right ideas, a ton of time and an even bigger amount of playtesters too make everything “right”.