Oatmeal in Game Design (Procedural Gen Lessons #1)

Oatmeal in Game Design (Procedural Gen Lessons #1)

After a decade building procedural games at Maschinen-Mensch (Curious Expedition 1 & 2), I’ve learned this: making something random is 5% of the work. Wrestling the mess into submission is the other 95%. Over the next posts, I’ll share a few of the tricks that made the 95% problem manageable.

Let's start with the "1000 bowls of oatmeal" problem. Kate Compton describes how you can generate 10,000 unique bowls of oatmeal, but it's still just oatmeal. A room that always has 4, 5, or 6 enemies is oatmeal.

It’s a trap we fall into quickly. The intuitive impulse is to use a simple, linear randomizer. For example, 'a room has 5 enemies, plus or minus 1.' You get an even distribution between 4, 5, or 6 enemies. It feels random, but it's not interesting. Every outcome feels technically different but emotionally the same.

Instead of a narrow range, try creating peaks and valleys:

  • 80% of the time: 5 enemies
  • 10% of the time: Just 1 enemy (a moment of relief)
  • 10% of the time: 10 enemies (a moment of panic!)

Random distribution that is equally weighted is boring. No one will remember the average encounter. Everyone will remember the outliers. Those are the moments that create stories.

What's the most memorable "outlier" moment you've ever experienced in a game?

I think Nuclear Throne must have used this technique when sometimes levels had a ridiculous amount of those scorpion enemies. I still remember it to this day. 😅