Join the Discord. Talk about Game Dev. Talk about Gaming.
This article has been featured on the front page of GameDeveloper.com. This is the third in a series of game design articles about Puzzledorf. You can see the full series here.
I don’t enjoy playing puzzle games.
A weird thing for someone to say who just released a Puzzle game, but entirely accurate. I’ve enjoyed the puzzles in Zelda and Metroid over the years, and I enjoy problem solving, but I struggle to think of an actual puzzle game I’ve enjoyed, unless you count Tetris. Yet, strangely, I enjoy making them. And I do actually enjoy playing Puzzledorf.
When making Puzzledorf, I asked myself a question:
“What makes a good puzzle?”
That question has been in the back of my mind for years while making small, experimental puzzle games. With Puzzledorf, I pursued an answer relentlessly until I was satisfied. It was inspired by the fact that a lot of my friends, who don’t like puzzles, found my earlier puzzle games addictive.
I believe I found a solid answer for “What makes a good puzzle?” that works for Puzzledorf. I’m not going to suggest it’s the only way to make a good puzzle, but it works, and it appeals to a broad range of demographics and gaming preferences, including people who don’t like puzzle games.
This article covers the guidelines for puzzle design I used and why I think it appeals to that broader audience. I also think there’s cross-genre applications to some of these ideals.
Teaching players how to play the game is the first thing to get right. A lot of players, however, hate tutorials. How to teach them without boring them? Or better still, how to have a tutorial that doesn’t feel like one?
I use puzzle design to help teach the rules of the game. I talk in depth about this in “Tutorial Design in Puzzledorf“, but basically there’s only one way for players to move, they can’t get it wrong, and I use visual and audio feedback to reinforce when they’ve done something right.
The physical layout of the puzzle can be used to both teach and guide, without the use of text.
I believe this is the most important aspect of Puzzledorf’s design, especially when appealing to a broader audience: everything has a purpose. There is no dead space. This, in turn, leads to a players trust. I’ll say it again:
- Everything has a purpose
- There is no dead space
- Players trust is earned
I think this sort of purposeful design is critical for appealing to a broad audience. There are a lot of people who don’t like puzzles because they think they can’t solve them. When you earn their trust, they feel motivated to play through your game.
What do I mean by dead space? Anything that isn’t part of the solution. I’ll give you an example from one of my early Puzzlescript prototypes (Puzzlescript is a great prototyping tool with limited graphics). The goal in the below puzzle to is to get the orange block on the left onto the orange cross. The two blue blocks are just obstacles to move out of the way.
This was an early level design. There were a lot of spaces you could avoid and still solve the puzzle. They were intended as distractions from the real solution. I thought that was clever at the time, but I have since found that kind of design hurts the relationship between players and my puzzles, and can negatively impact their trust in my puzzles as well as their confidence to solve them.
The puzzles solution is demonstrated below.
Next, below in red are the parts that I consider dead space, ie, not part of the solution. The ideal solution does not use those spaces at all.
If I were to redesign the puzzle now, it would look like this:
Because there are now no distractions, the brain can immediately see possible solutions. This, in turn, is more inviting for players to have a go, particularly newcomers to puzzle games. When the brain thinks it can see a solution, players can’t help but act. And mistakes feel less frustrating because it’s easier to see other possible solutions and “have one more go.”
When you design puzzles where everything has a purpose, in time you earn players trust. I distinctly remember one player saying to me,
“When I realised that everything had a purpose, I started to play differently. It made me wonder how to use each space. I started to trust the puzzle.”
This friend was a game designer and the feedback was completely unsolicited, he just blurted it out while playing. Being a game designer, he was able to put into words what he was feeling, and it’s been an extremely useful guideline ever since. It’s the kind of reaction I was hoping for, but to hear someone say it unsolicited was an immense reward and confirmation of my decision to use purposeful design.
Now don’t get me wrong, the original prototype was fun and a lot of people enjoyed it. But the new style, where everything has a purpose, appeals to more individuals and players find it harder to put down.
It’s possible to think you’ve designed a puzzle where everything has a purpose and there’s no dead space.
Then one player breaks it, finding a solution you didn’t think of. That solution ignores part of your puzzle, meaning you accidentally created dead space. That’s okay when that happens – you still had a purposeful design and that’s what counts. You can’t see every possibility. The question you then have to ask is, “Is the puzzle broken? Or was this just an unexpected but fun event?”
If everyone skips your ideal solution, maybe it is broken and needs tweaking. Or, maybe it’s just fun that the player found another solution.
I find it fun to see players find solutions that surprise me. I then consider if the puzzle needs fixing, or if it’s a rare occurrence and to leave it alone. It’s a case by case thing and it’s impossible to see every solution.
This is probably the hardest aspect to get right, but incredibly important. What’s the right level of complexity? And the best way to increase difficulty?
My first puzzle game was made in Puzzlescript, which is a fast prototyping tool but has limited graphics. My way of adding more difficulty was to add more stuff to interact with, more blocks to push. With one of the later levels (pictured below), multiple people gave up when they saw it, without making an attempt.
I decided, after much testing, there was too much information for the player to take in, and they got overloaded. My discovery, for the average player, was this:
If player’s cant take in the problem at a glance, and see a possible solution, they get overwhelmed.
Some of the more veteran puzzle players saw the complex puzzles as a challenge and plowed through them, enjoying them. But the majority of my testers weren’t “puzzle gamers”, and they got overwhelmed by puzzles that were too complex.
What I came to realize was this:
It was not the difficulty that scared people off, but having too much information to take in at a glance.
That information overload switched peoples brains off. When they looked at the puzzle, they didn’t know where to begin; they couldn’t see a clearly defined problem to solve, or any potential solutions, so they gave up. A lot of these people then walk away thinking they don’t like puzzle games, when in fact the puzzle itself was at fault.
However, when you reduce the complexity, the problem that the player has to solve becomes clearer, and they are more likely to embrace the challenge.
Eventually, as I tried different approaches, I realized Sokoban games (block-pushing puzzles) have a number of puzzle-solving techniques. By isolating these techniques, and trying different combinations, I discovered I could manipulate the difficulty of the puzzles without adding too much complexity. I could make puzzles that looked simple, but were difficult.
I found the following to be true:
A puzzle that looks simple, but has a surprising solution, is deeply satisfying.
I discovered my puzzles appealed to the broadest audience when I did the following:
- Reduced the number of moving parts
- Created puzzles that looked simple
- Difficulty increased through harder puzzle solving techniques, and different combinations of techniques
Below is an example of a later game level from Puzzledorf that looks simple, but is one of the harder levels in the game.
It Looks Easy, But Surprises you
I found the following to be true:
- When a puzzle looks simple, the brain sees possible solutions
- When you see possible solutions, you want to have a go
When puzzles look easy, but have surprising solutions, it doesn’t scare off new players. And that surprise becomes a motivator to keep playing. This broadens the potential audience, but also creates a deeply satisfying challenge.
I see this over and again when I watch someone solve a puzzle, sit back, the next puzzle starts, then they lean forward to start the next one, unable to help themselves.
Let me give an example. Below demonstrates the solution to a mid-game puzzle.
To players, it looks simple. Get the blue block onto the blue cross, the green block on to the green cross, and move the white boulders out of your way (there are also colour blind options).
What makes this puzzle interesting is the starting position of the blue and the green blocks; they’re on the opposite sides of where they need to be.
The problem, then, is figuring out how to swap their positions. It sounds simple, but the addition of the white boulders makes it a whole lot trickier. The average player takes many attempts to solve it, but since it doesn’t look scary, and the brain sees possible solutions, people want to have a go.
Puzzle Solving Techniques?
As mentioned earlier, there are various techniques required to finish a Sokoban puzzle. If you gradually add new techniques, or combinations of techniques, this becomes addictive and a more satisfying challenge than simply adding more blocks to push.
I won’t go through them all, but here area few examples. I’ve named them so it’s easier to remember. Teaching the early skills is covered in detail in my Tutorial Design article.
Teaching Block Pushing might sound obvious, but there’s a lot of new players out there. In Tutorial 1, there is no way to go except forwards, forcing you to push the block.
Angling / Multi-push
Above is Tutorial 2. Players need to learn the idea of coming at blocks from different angles. A lot of first time players take a while to get their head around this.
Tutorial 2 also lets you know you can only push 1 block at a time.
Wall Stuck / Cornered
Above is level 1, the first level with a fail state. Players figure out quickly that if you push a block against a solid wall, or into a corner, there’s no way to get it out. It’s a simple fail state with an important lesson.
If you get 4 moveable pieces in a square, since you can’t push 2 blocks at a time, you become blocked in, ie, there is no way out except to undo. Same goes if the environment becomes part of the block.
Baby Steps / Combinations
Watch the first white boulder, the first piece he moves.
Initially, he pushes the block too far and gets stuck.
On attempt 2, he pushes the white boulder just one step forward, hence baby steps.
Then he can angle around to get to the red block from behind. Finally, he has to push the original white boulder out of the way from another angle to get the red block home.
The lesson is: sometimes you push blocks a little bit, in baby steps, to get them where you want them.
Often this leads to pushing the same block later from another angle, which also demonstrates how techniques are starting to be combined to create difficulty.
One of the more advanced techniques is juggling.
Up until this point most blocks you push along one path, possibly in small steps, but still one general direction. Juggling is the idea that you push a block one way, only so that you can move it back somewhere else.
Example above: watch the white boulder. You can see that in the players first attempt, he pushes the white boulder all the way forward in one direction, which results in him getting stuck.
Restarting, the player uses baby steps to push the white boulder one space forward, angle around the red block to position it, then juggles the while boulder back into the narrow alley out of the way, but in a different direction. This is juggling – you push something one way, only so you can push it back another way.
Below is an example of later game juggling. You may end up juggling 3 or 4 blocks at a time in some puzzles.
There are many other techniques like the hook and swoop but that’s beyond the context of this article.
You can read the next article in my Puzzledorf Reflections series here, or see the full series here.