Procedural Generation vs Random Generation


Now that we're in the height of final project season, this week's devlog is going to talk about the differences between procedural generation and random generation and which one you can utilize in your final project game. These design methods are often used in games that rely on the map, background, or assets changing periodically throughout gameplay. 

What is Procedural Generation?

Procedural generation is the process of creating data algorithmically rather than creating it manually. One famous example of this is the game Minecraft; each map in Minecraft consists of different layouts and biomes, all generated algorithmically before you load into your game for the first time. Procedural generation is especially useful for game replayability. Depending on how its implemented, it allows the user to replay your game an infinite amount of times. If your team is creating a game where the background/map changes every time a player enters or leaves the room, this could be a useful tool. Not only does it provide a lot of replayability, but the algorithm essentially does the level design for you. If you feel that procedural generation is something you could use for your final project game, I've linked some resources at the bottom of the page with step-by-step tutorials on how to write these algorithms and customize them for your game. 

What is Random Generation?

Random generation is the process of randomly generating  maps, backgrounds, sprites, (any asset, really) in your game. In this case, we create these game objects manually and then randomly spawn it into our game, rather than having an algorithm do it for us. One example where this is utilized is in the game Hades; each room that the player enters was created by the game designers, and the number of rooms you go through, along with which room you go into next will always be random. While it's similar to procedural generation in the sense that each level is random, it is NOT procedural generation.  One thing to note about this method of generation is that you'll have to do more designing in order to create all the levels or assets that you want to be randomly generated. We've already used randomization for some of the class assignments, so this should be somewhat familiar. If this is something your team wants to incorporate into your final project game, you can utilize some of the code we've done in class (i.e. the missile spawner game) as a guide for coding random generation and randomization into your game. 

Resources

Procedural Generation in Game Development

Procedural Level Generation in GML (Part 1: Setting up regions)

Leave a comment

Log in with itch.io to leave a comment.