4 min read

Procedural Generation, and the problem of Player Perception

The Swindle's Procedural Generation has a weird flaw that causes people to get angry and tell me it's broken even though it works exactly as intended. Here's what I did wrong, and the lesson I learned.

The Swindle's Procedural Generation has a weird flaw that causes people to get angry and tell me it's broken. It isn't broken, it works exactly as intended, but still the comments come in. I thought it might be useful to share the mistake I made, because I think it's quite an interesting case study in how people read games, and how people react to this new-and-unusual tech you're implementing.

I took a decision early on in The Swindle's development that I hate tutorials, and in games I prefer to work things out for myself. That's the ethos, that's what indie development is all about: making the games you want to see. It's not going to be to everyone's tastes, but that's fine, not everything has to be. For what it's worth, I think it was the right decision, I think The Swindle is a better game for not leading the player by the hand, and I think the players who got the most out of the game enjoyed working things out for themselves.

Here's the issue: no one has ever complained to me about a locked door. Not once.

At the start of the game, cash is really tight and you need to specialise in one field or the other – Hacking to get you through locked doors, or Explosives, to get you... well, wherever you want. Both have perks – hacking sets you down an upgrade tree to bigger and better manipulation of computer stuff, explosives are handy for impromptu escape routes and taking out tough enemies. It's the player's choice, and an important one.

The way the game generates building is – by and large – to create a room and then block it off, either with a DOOR or with a SOLID WALL. Doors are locked, and on approach a notification pops up that says you need a higher hacking skill. Walls are solid walls like any other wall found in the game.

The idea was to lead people in the right direction, rather than overtly telling them, to get them thinking on the fly like a real thief: you see a locked door, you think “I need to increase my hack skill”, you see a wall you think “I could access that room if I had explosives” and choose to spend your ill-gotten gains on bombs.

Now: no one has ever complained to me about a locked door.

People see a wall and their first thought is to complain that the Procedural Generation is buggy, it's broken, it creates rooms you can't access. As far as the code is concerned, placing a door or a wall is functionally the same thing – it's a room that has its access point blocked - but the way players read it is very very different.

The solution would be just to stick a UI on, right? A big “BREAKABLE” icon on any wall that leads to a room but... eugh, isn't that less fun? Isn't that just me telling you what to do? There's no satisfaction in that – it's the equivalent of endless fetch quests in Assassin's Creed – go to a location and press X to dig up a relic and move on. There's no satisfaction in that process, it's ticking items off a list. That's not the game I wanted to make.

(side note: the issue here is compounded by The Swindle's 100 Heist Limit. It freaks people out despite the fact it's generous, and can be extended, but people feel a need to steal 100% of the cash in every level, for fear of having to start over)

So, I have people telling endlessly me the Procedural Generation is broken and yes, I will probably learn from this mistake and think where to make my next PG game more user-friendly for fear of people not being able to think for themselves, and as a result I suspect it'll be a little bit less interesting.

It's pretty obvious in hindsight, but that's the lesson I learned, and I thought it might come in handy for others: consider showing what your procedural generation has done, overtly. Because 'subtlety' can be mistaken for 'broken'.

Latest Jobs


Playa Vista, California
Audio Engineer

Digital Extremes

London, Ontario, Canada
Communications Director

High Moon Studios

Carlsbad, California
Senior Producer

Build a Rocket Boy Games

Edinburgh, Scotland
Lead UI Programmer
More Jobs   


Register for a
Subscribe to
Follow us

Game Developer Account

Game Developer Newsletter


Register for a

Game Developer Account

Gain full access to resources (events, white paper, webinars, reports, etc)
Single sign-on to all Informa products

Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Follow us


Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more