Parenting procedural systems: The Gardener and the Carpenter


Registered Developer
Jul 21, 2020
Bear with me through a layered metaphor to kick this off: If you have kids and have spent time reading about how to be a decent parent, there’s a chance you have come across this analogy comparing two ways to think about parenting: The Gardener and The Carpenter.

The Carpenter parent approaches their kid more as a project where they have control over the outcome. If they are diligent and careful and skilled, they can craft their table of a child with the exact features they want to see in the finished product. Beveled corners of kindness, sturdy legs of grit, and a reconfigurable design to accommodate the evolving needs of those around them!

The Gardener parent, on the other hand, tries to find the right way to nurture their unique little flower into the healthiest version of themselves they can be. They recognize that each type of plant is different and requires different sorts of care and boundaries. The goal is helping them realize their full, natural potential rather than molding them into a predefined shape.

In our experience, making a linear narrative game can be much more like carpentry, while working with procedural systems calls for a lot more gardening.

If you’re not familiar with the term, procedural generation is a method of creating content in which you let the game systems randomly combine elements to create new variants rather than handcrafting every possibility. In Roundguard, every time you start a new run, we procedurally generate a unique dungeon with new combinations of enemies, loot, and random encounters.

We hope these procedural rules keep the game feeling fresh for many runs and continually surprise people with emergent systemic interactions. Even small changes in the system can create different strategic opportunities. For example, randomized peg placements can lead to very different experiences in conjunction with AI behaviors. If your ranged enemies are clustered together with line of sight to each other, they’re ripe for friendly fire if you can bait them into shooting each other.

Whereas, if they’re spread to the corners of the room next to health and mana potions, they could shoot the potions before you collect them and steal your resources. Same room with the same types of pegs, but totally different strategy and shot considerations thanks to randomized peg placement!

Now, you can start with the best intentions in mind to grow a set of systems from which surprises can emerge, but as you build and test, there’s a gradual temptation to constantly exert more control…

You HAVE to start with some rules to get things going.

“How about we pick which pegs get placed on the board from a pool of possibilities based on the current biome?”

Then you don’t want totally bland results, so you inject a little hand crafting.

“Let’s make sure the boards have interesting spots for the larger enemies to show up… and what if we occasionally had some ELITE rooms where all the enemies are hand placed to create specific challenges?”

You add constraints to exclude the obviously undesirable or broken results.

“Feels bad if you get a Lich with no one to resurrect… How about we make sure they always spawn with at least 1 tombstone?”

You make more and more constraints and cut away parts that aren’t looking like how you originally pictured them -- each decision seeming minor on its own as you get lost in the detail work. And if you’re not careful, you might realize that while you thought you were growing an emergent experience of interconnected systems, you’ve actually just built a mahogany coffee table.

All the example rules I gave above are in our released game now (along with many more like them), so at the risk of stating the obvious, let me just say: Rules make fun! But at times Roundguard also had many other constraints we designed and then abandoned once we stepped back and thought about letting the system express itself rather than forcing our will onto it.

For example, early on we thought we shouldn’t let you equip two of the same skill.

“Maybe you did it on accident and will feel frustrated? There’s no reason to have two of the same skill equipped, right? We should just prevent you from making that mistake!”

But as we added new systems like the procedural bonus property generator for rare loot and random quests with rewards that could buff skills, we gave you good reasons to take two copies of the same skill if the systems came together just right. Maybe you equipped a rare Killer Joke with the random bonus property that gives it a larger radius… and then you found another copy of Killer Joke that lets it break all pots in the radius! Turns out those properties stack together if you have both Killer Jokes equipped. And then let’s say you pull the random encounter that grants the trinket that makes Killer Joke deal damage to enemies in the radius, and hoo boy, you’re a force of destruction now.

Luckily, instead of constraining the skill system as soon as we thought of it, we held off and gave the systems room to interact for a while so they could show us what we might be missing. The surprise factor inherent in procedural generation and interconnected systems is really valuable, but as a designer, it can be hard to predict all the outcomes or estimate the value when, by definition, you’re going to be surprised by it!

So we just try to regularly step back and watch how our special little game-child expresses herself, while we try to support her. Don’t worry… if Roundguard tries to touch a hot stove, we’ll stop her. But if she’s cartwheeling around the house giggling and shouting “I’m a huge piece of toast!” -- well, as long as everyone’s having fun… somebody get the butter!

Last edited:
  • Like
Reactions: SWard