1 free read left. Create a free account for unlimited reading + AI research.
Create free accountThis week I'd like to talk about the pros and cons of using a procedural generation system in your game. We've brushed up against this topic before and we mentioned it in passing a couple months ago while we talked about exploration and discovery, but some of you have asked about it and I think it's high time we really dig into this. So, first off, for those of you who aren't familiar with it, procedural generation is simply when content is created quasi randomly by a computer rather than built by hand by a human. The dungeons in Diablo are at least partially procedurally generated. Civilization uses it to randomize the layout of its maps. Dwarf Fortress and Minecraft generate whole worlds this way. Typically, procedural generation systems are used to create environments, enemy encounters, and loot drops. So, we'll mostly be talking about it in those terms, although the process can be used to create anything. So, why might a developer opt to procedurally generate their game's content rather than handcrafting it? Well, because procedural content can offer infinite replayability. A well-built content generation system can give the player
unlimited content, so they can play forever. All the games you've seen that use these systems, that's what they're going for. That's what they're trying to offer. If Diablo just had a handful of fixed dungeons that were laid out the same way every time, the game wouldn't work as a perpetual loot hunt experience. But, because the game's procedural generation and loot systems can provide a functionally infinite number of different levels to crawl through and gear to find, you can enjoy it for years in a way that you couldn't with a more fixed experience. The quasi-random nature of procedurally generated content means that the player is always presented with new challenges and experiences, thus keeping them from ever simply learning the game by rote. Additionally, it provides dedicated players an enormous gamut of different scenarios to test their skills on, pushing them to learn more about the game and rewarding them for continuously refining their play. The other benefit procedural systems offer is that they can also be adaptive. They can adjust to the player to make the game more perfectly fit their play style. They can dynamically adjust to create any level of difficulty, giving the player no limit to how far they can push their skills. Or they can be used to
dynamically create tension like the AI director in Left 4 Dead. Anytime your game is banking on replayability, be it a strategy game like Civilization or a roguelike like Darkest Dungeon or even a platformer like Spelunky, procedural generation is a great option. But it also has its downsides. First off, the fact is that one size never actually fits all. Procedural content is rarely as powerful as carefully handcrafted content. When you sacrifice the ability to directly control what you present the player because the computer's building it for you, you sacrifice the ability to craft exactly the experience you want to make sure that all the little pieces that make it feel unique and alive and immersive are there. This is especially a problem when you're trying to present a narrative through your game, which is why so few games that focus on narrative use procedural generation. Second problem, procedural generation is just expensive. It takes a lot of time and resources to build a quality procedural generation system. If your goal is to make an endless game, well that expense may be worth it, if you're only aiming to create a satisfying 20-hour experience, then you're probably better
off using all that time you would invest in making your procedural system to deliver really top-tier custom-designed content instead. Procedural generation is really an economy of scale. Building an entire procedural generation system just to build one level is really inefficient. That level will cost you far, far more than if you had just designed the level by hand, and the handcrafted level would probably have been stronger anyway. But if you've got to build a thousand levels, well then developing a procedural generation system to handle that will cost dramatically less than handcrafting all that stuff. But procedural generation has a third downside, and that's how it's just really difficult to do well. I mean, just picking a random seed and having a computer spew stuff all over the place, that's fairly easy. But making it so the computer always spits out stuff that's coherent and engaging and frankly not broken is another matter entirely. What do I mean by not broken? Well, for example, making it so that the player never spawns in a room without an exit, or that the goal of the adventure isn't placed behind an uncrossable mountain range, that kind of thing. Avoiding those scenarios is largely a
programming task. It mostly involves coming up with a sound fundamental system, thinking of all the problematic edge cases your system might create, and then having the system check for those edge cases and reroll parts of the random generation if it finds any. Okay, so let's say that all of the broken edge cases are taken care of. Now, how do we ensure that the procedural system generates content that's engaging? Well, that's where a designer comes in. First, remember that this isn't actually a totally random system. Like most things we talk about as being random in games, it's quasi-random. This means that you're going to be coming up with a set of rules for how the randomness works. How big should rooms be? How many exits should a room have on average? Or say you're making a strategy game, how many resources should there be within the player starting area? That kind of thing. Start by creating a level by hand just for testing. Don't bother making it look good, it can just be gray cubes on a gray plane. This is just a space for you to test your mechanics in advance and understand what's engaging about them before you fully build out the procedural generation system. This will not only make for a better game in the end, but it'll also help you ask the
questions that will let you build a better procedural system. Are your mechanics most engaging in tight corridors or wide open spaces? If you're making a shooter, how much cover is generally necessary per room? Questions like these will help you to write the rules that guide how the computer quasi-randomly generates the level. And remember that your system doesn't have to treat every part of what it creates the same way. You can have your procedural system favor certain things for certain areas, or even draw from a totally separate rule set for specific parts of its generation. Maybe you want tropical areas to have a different resource distribution than temperate ones. Or hey, when your dungeon gets to a certain size, do you need to make sure that the rooms start to dead end so that the dungeon doesn't just spiral out forever? Easy, use weighting systems or create separate rule sets which your system can draw from when special conditions are met, and you'll be fine. Don't think you have to build one rule set that's going to perfectly define everything. Also, create sub rules that allow you to create a better play experience. Remember our episode about negative possibility space? If a player comes to a dead end and it's just an
empty room, that's kind of a letdown, but if they were to find a treasure there, suddenly you'd have a satisfying, even rewarding experience. Well, it's pretty easy to have your procedural system check to see if it's created a dead end and if so, dramatically increase the chances of putting treasure there. You can use this to do everything from smoothing out your interest curve to making sure you provide differences in kind. We made episodes about that stuff, too, by the way. I'll put links down below. Just remember, even when you're building something procedurally, you're still designing. You're just one step removed from the results. And lastly, remember that just because you have a procedural generation system in your game doesn't mean that everything has to be 100% procedural. Sometimes having your system build a dungeon around one incredible handcrafted room or encounter can make that moment all the more memorable. Just don't let this get in the way of the replayability that you built the system for. As with most things, we really could dig into the nuts and bolts of creating procedural systems for hours, but I think that's enough for now. As more games slide toward being perpetual experiences and as more product blur the line between being an MMO and a traditional game, I
think we're going to see more use of procedural generation in this field because it's these very types of experiences, these perpetual games and MMO titles, that actually need infinite content. Of all the game types, they're the ones that in terms of efficiency get the most out of these systems. And remember, just because a computer is doing the building doesn't mean you can justify not designing. See you next week. Woo!
Procedural generation serves as a powerful tool for game developers to create quasi-random content, such as levels, enemy encounters, and loot drops, rather than relying solely on manual construction. The primary thesis is that while procedural generation is an essential mechanism for achieving infinite replayability and adaptive gameplay, it requires a sophisticated design framework to remain engaging and coherent. By shifting the developer's role from direct creator to architect of rules and constraints, procedural systems can provide perpetual experiences that would be logistically impossible to build by hand.
The core advantage of this approach lies in economies of scale. While developing a robust generation system is resource-intensive and often less effective than handcrafted design for short, narrative-driven experiences, it becomes highly efficient for games requiring massive amounts of content. Key technical challenges include preventing broken states, such as unreachable goals or dead ends, which necessitates rigorous programming to identify and reroll problematic edge cases. To ensure quality, developers must move beyond pure randomness by implementing weighted systems, sub-rules, and conditional logic that guide the computer toward satisfying, player-centric outcomes.
Ultimately, the most successful implementations often blend procedural generation with handcrafted elements to maintain narrative pacing and emotional impact. As the industry trends toward perpetual, service-based, and massively multiplayer titles, the reliance on procedural generation is expected to grow. However, the effectiveness of these systems remains tethered to the quality of the underlying design rules, reinforcing the principle that even when a computer generates the content, the developer remains responsible for the integrity and engagement of the player experience.
Jason Schreier · 2026
Comments