Scaling Difficulty on Puzzle Games

I want to talk about scaling the difficulty on puzzle games, covering design and practical tips on scaling and playtesting the difficulty. This article is particularly focused on linear puzzle games but you could apply these techniques to other games.


To tutorial or not to tutorial, that is the question. The simplest answer is, you need it if you need it. I would say that depends on your target audience. For example, I wanted The Nodus to be playable by people who’ve never played games before, and they don’t have a concept of an ‘undo’ or ‘restart’ button in a game, so if I didn’t tell them it was there, and what it did, they may not use it.

I think tutorials should probably be optional if they’re in a game. A lot of people hate them, especially gamers. Most games, I think, are better off teaching through doing. The first level in The Nodus is a tutorial (however I will make this optional in future games), but after that, new concepts are taught through level design.

Ways To Teach Through Design

One way to teach through design is to force the player to the solution in part of the level, giving them an image of what is to come. For example, if your game has a new item that benefits the player, you could force them to pick one up by funneling their path to see that it’s okay.

Another method is simply introducing a new element and allowing the player room to explore and experiment within the bounds of this new thing you have introduced. I did this in the Nodus by gradually introducing new coloured blocks once players understood the rules of the game. Probably you will end up using a blend of these two.

You don’t want your designs to be too ambiguous, but you don’t want too much hand holding. Discovery is part of the fun.

How To Increase Difficulty

When you make puzzle games, the puzzles should build in complexity. A simple example is the first few puzzles in The Nodus have one block, but later they have two. Also there are specific types of problems that are harder than others, for example, easy situations are learning how to get around corners, but a harder situation is learning that sometimes you have to push a block in one direction to get it back behind you in the other direction.

Difficulty, therefore, should not be a vague thing of, “This puzzle is more complex because it has more stuff.”

Instead, difficulty should be defined as gradually introducing new concepts that provide new challenges. I strongly believe good puzzles look possible. The mind should be convinced that, given a try, you can solve it. If there’s too many random elements tossed around into a puzzle, it’s only difficult because of its randomness and complexity, not because of good design. A good puzzle looks possible, even easy, but it takes a lot of effort to pass. Here’s an example, the last level of The Nodus:


It looks relatively easy, but it really is the hardest level in the game. Below is a comparison of another level in the Nodus and an early puzzle I made for another game before I realised more ‘stuff’ didn’t make better puzzles.

Simple VS Complex

The best advice I can give is, design lots of small puzzles and games, because the more you make, the better you will get. And when you design games, watch people play them through and critique what does and does not work about your own work. Ready my 3 Keys To Playtesting for more on that.

Lever Ordering Tips

Once your game is designed and you think you have all of the levels in the right order, you want to make sure it’s right. This is where play testing comes in. I’ve written a lot about playtesting, and I recommend reading this post, but I want to cover a few more specific tips.

The first is, get people to play through your game and time how long it takes them to complete all of the levels. Get at least 3-5 people to play your game to get an average, better still if you can get at least 10. Then try reordering your levels based upon the average level completion time from quickest to longest. Once you’ve done that, get some fresh new people to test again and see if the results are consistent. Make sure you record all of the data in something like a spreadsheet.

One huge tip. I recommend giving each of your levels a unique identifier such as UI01 and UI02. This way, when you record how long it takes people to complete a level, you’re recording it against the levels unique ID, not the level number. This is helpful because when you start changing the order of levels around, you can get confused. It will make your life a lot easier that, even when you change the order of the level, if it keeps it’s unique ID, you’ll still know which level is where.


The only other advice I can give you is to practice and practice some more. The more games you  make, the better you will get. But also keep an open mind. Be critical of your own work in a constructive way and take constructive criticism on board. View finding flaws in your games design as an opportunity to make your game better, and then it will excite you. It’s the only way to master game design, to be welcome critique.

My game The Nodus, which was conceived in Puzzle Script, is out now for Android Learn more here.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s