# How do I create a sliding-blocks puzzle (specifically like the "Rush Hour" ones) which requires an "ah-hah!" moment?

## Background

My grandma gave me a set of Rush Hour puzzles as a small child, ever since I could be trusted to not eat the pieces. I still enjoy playing these today and would like to try my hand at making some like it. They are a kind of puzzle. The set-up is:

• 6-by-6 gameboard, completely encircled by a barrier except for 1 exit in one of the middle rows of the right edge.
• Various cars/trucks, each 2-by-1 or 3-by-1, in various orientations.
• One special red car which is always somewhere in the exit row.
• Cars/trucks can only be moved in the direction of their long axis (i.e. a truck pointing vertically can only be moved vertically).
• Each puzzle: the particular arrangement of cars/trucks to start with would be laid out on a card.
• To win: slide the cars/trucks around such that, without anything leaving the gameboard or going through each other, the red car exits off the right side.

## Goal

One of my fondest memories with the puzzles was when I realized that, in order to solve the puzzle, I had to move the red car all the way backwards (i.e. leftwards), shuffle the other pieces, and only then would there be a clear route out. There have been other "ah-hah!" moments since, mostly realizations that the key to the entire thing was getting a single innocuous car to be in a certain location. Once the central secret of the puzzle was uncovered, everything became much simpler. Typically I would focus on accomplishing this new all-important sub-goal (get car X to spot Y) and once that was done everything else fell into place.

I would like to make puzzles where the difficulty is coming to the "ah-hah!" moment, which is both necessary to solve the whole thing and, once accomplished, sufficient to make the rest of the puzzle comparatively simple. How would I approach designing such a puzzle?

## Difficulties I've considered

I've made puzzles before with (what I hope were) interesting "ah-hah!" moments. However, I feel like I had much more control there. For one thing the board was static. I could set up a clue at one end and, no matter what else I did with the solution path, that clue would be in the same place for when it was needed. With a puzzle I don't have such a luxury. The blocks/cars literally slide around. The whole point is for them to be constantly in motion.

Given that, how can I make sure that there is no way for the player to get around thinking of my "ah-hah!" trick? Something I dislike is over-stuffing the board with cars. Having so many serves to distract from the important parts, which might be useful/fun, but can also make the puzzle much more of a slog. Even after all the fun solving is done these annoying small cars will still need to be shuffled around. Often there will be only one option for each move, so there is no thinking to do.

I do not want to go down that road if at all possible; at the very least I'd like to minimize the effect. The simple puzzles, with few cars but still high difficulty, always seemed much more elegant to me. Visually seeming to have less obstacles, yet still running into difficulties accomplishing what "should" be an easy task, always turned on my "there's a trick" internal alarm. Indeed, there was typically a trick!

Of course I could rely on computers to either generate or check the puzzles. The former is immediately out of the question because I enjoy making puzzles by hand, not letting a program (even one I made myself) do it for me. The latter could theoretically be used to make sure that the "ah-hah!" moment is necessary, but also feels vaguely like cheating since I like for the logic of my puzzles to be understandable to a human. The most important human being me, for double-checking purposes.

## What I'm looking for in answers

A good answer should directly address the bolded question in my "Goal" section. It would lay out a strategy or some key tips to keep in mind when designing a puzzle to my liking. It would also address at least some of the difficulties brought up in the "Difficulties I've considered" section. Finally, it should be based on some experience making puzzles like this, or at least something similar enough that the experience carries over.

Frame challenge answers would also be acceptable, provided they still address the bolded question. If some premise in my question is wrong/misguided, I'd welcome someone pointing out what the problem is. The one premise that should not be questioned is the goal I'm trying to achieve. (I don't actually want to do something else; this is not an X-Y problem.) However any premise contained in my "Difficulties I've considered" dithering is fair game.

• I'm aware this is a giant wall of text, and even once digested a complicated question. That's why any answer which is sufficiently good to be accepted will be getting at least a +100 bounty from me :) This is something near and dear to my heart and I'm hoping to pick the brains of someone who knows what they're doing. Commented Jul 5, 2022 at 3:49
• I'm also happy to layout a bounty (just+50 from me) for accepted answers because I'm very interested in an answer as well! Commented Jul 5, 2022 at 7:30
• Not answering your question, but if you like RH (like I do) I believe you would really like “atlantis escape”. While it comes with 60 puzzles in a booklet I believe there are a whole bunch of extended problems not yet considered. Commented Jul 5, 2022 at 8:35
• At the origin of any aha! moment for the solver there is an aha! moment for the puzzle-maker. Since the solution would involve something you haven't thought of before, the puzzle must be created with a trick you haven thought of before. Commented Jul 6, 2022 at 12:21
• @PuzzlingFerret I will also match your bounty of 50 for the accepted answer. It does seem interesting. Commented Jul 6, 2022 at 20:36

Disclaimer: I have never created this specific type of sliding block puzzle, but I have played the free ones online a lot (for example here).

Some initial reactions to your post:

1. I'm glad you're not still eating the pieces, but maybe a version of this game intended for cake toppers for birthday parties where the pieces are edible (maybe made of hard icing) would be a great idea!

2. Aha moments can be somewhat subjective. An aha moment for me might not be an aha moment for someone else. However, a decent test for an aha moment might be to solve your own puzzle (a few days after creating it so that you have forgotten the specifics of it, hopefully) and see if it causes that aha moment for you. Or maybe you can just tell if a certain sequence is an aha moment, even as you create it.

3. As for "Something I dislike is over-stuffing the board with cars," those "extra" cars, even if not moved, almost always play a part in the solution because they take up space that other cars cannot use, which is a technique you will at some point almost certainly want to use in creating these puzzles. Also, remember that those "extra" cars distract from the solution. If they were not there, it would likely make the solution easier to find, and "too easy" is no fun.

Ok. On to the main question: How would I approach designing such a puzzle?

There are 4 ways I can think of (listed below), and the one I list last (#4) is the one that best fits your desires, I think. All of these methods take plenty of time because each puzzle, whether created by you or a computer, must be solved by you personally in order to check for the right feel and aha moment(s).

1. Use a computer to create a solvable position. Solve it yourself to see if it has the right feel and aha moment(s). If so, save it in your "approved" bag. I gloss over this one because you made it clear that you don't want to use a computer to create the puzzle.

2. Create your puzzles by editing/tweaking existing puzzles. I won't go into any specifics here because I really, really don't think that this is the way you want to go. I'm fairly sure it would feel like "cheating" in some sense, but I mention it for completeness.

3. Create a random position to your liking and try to solve it. If you cannot solve it after some time, maybe it is not solvable. After some time of being stuck, move on to another position and begin the process again. Once solved, you decide if it has the right feel or not, and keep it or chunk it. This is a very trial-and-error method that seems inefficient to me, but if you really enjoy the puzzle-making aspect of this, it might be right up your alley. The joy is in the journey, right?

4. Work backwards. This method seems best because, unlike method #3 above, you won't be wasting any time on unsolvable positions. Also, you won't need a computer unless you want to check for multiple solutions, especially other solutions that get around the aha moment(s). This method also seems the most fun to me, because the creation of the puzzle working backwards is a similar feeling to the solving of it.

Other Things Worth Mentioning
One of the things that make Rush Hour puzzles fun is having to think logically through many possibilities and recognize dead-ends. Take this puzzle, for example:

The blue truck blocking the exit has to be moved up or down, obviously, but only after thinking about it for a little while will one realize that moving the large red semi truck to the left so that the blue blocking truck can move up is not possible because of the 3-length brown truck under the red race car. I would consider that realization an aha moment. Just knowing which way I need to focus makes the puzzle doable and fun. When you create your own, make sure to work in at least one good alternate possibility.

It is similar to maze creation. If all of your dead-ends are very short paths, the maze is not fun because one cannot get lost in it. Make sure the incorrect paths are long enough (enough logical steps long) that it makes the solver stop and think, which is what the solvers of these really enjoy.

Would it be helpful for me to create one of these using the "work-backward" method and post that process here? If so, I'm game!

EDIT:
I added in (below) the process of my creation of a Rush Hour-style puzzle using the work-backward method. It was much more fun than I had imagined. Not surprisingly, and as many things are, it feels like one would naturally get intuitively better at creating interesting Rush Hour puzzles (and solving them) the more time that was spent creating them using the work-backwards method, or any method, really.

Note, this is the first one of these I have ever created, and I'm sure if I played around with creating more of these, that after a short time I'd be making interesting puzzles with at least one "Aha!" moment. The one below is good for an example of the process, although it didn't cause me personally to have a huge "Aha!" moment, but instead 2 or 3 small ones. It is difficult to tell if this is because I created it and was familiar with it, or because there simply was no huge "Aha!" moment.

The red 2-length rectangle represents the car that must exit the parking lot to the right. The blue 3-length rectangle represents a truck and the green 2-length rectangle represents a car.

Read the diagrams left to right before moving down to the next line.

I started with a solved state.

Then I added a truck. The T1 means 1 total move required in order to reach the solution (and can include moving the red car too, but it doesn't in this example.) The total # of moves is loosely correlated with puzzle difficulty, I think.

Then I added another truck, which makes it a 2-move puzzle.

Then I added 2 cars, making it a 3-move puzzle. However, looking back at it now, I see that the car in the lower left is really not needed, and could be removed if desired. Also, the space it is taking up could then, instead, be used to add more complexity.

Then I added 2 more cars and a truck, making it a 7-move puzzle.

Then I realized that I could move the red car all the way to the left and the puzzle would not change (still a 7-move puzzle). That would allow me to add complexity using the spot that the red car had occupied.

Then I added one car blocking the first move that needed to be made, making it an 8-move puzzle.

Then I added a final car that blocks the move of the car that I added in the previous step, making the puzzle an 11-move puzzle.

• I especially like #4, as you probably expected, and would love if you could provide an example "work backwards"! +1 Commented Jul 7, 2022 at 13:46
• I meant to also add that the aha moment in your example puzzle is one I would also consider an aha moment Commented Jul 7, 2022 at 13:53
• One challenge that I would definitely want to face, probably sooner than later, is to add one or two new functionalities into this type of puzzle-- something creative that is novel to those who have seen this and are maybe tired of the same ole thing. For that, your creative imagination is the only limitation. Maybe you have one type of vehicle that moves only in a tight circle or a large loop? Maybe you have obstacles? Maybe you introduce other moving parts somehow? Maybe the board changes in some way when certain pieces move in certain ways? Maybe the exit changes place? The sky's the limit.
– JLee
Commented Jul 7, 2022 at 17:57

MetaPuzzle: Make making the puzzle the puzzle.

Bouncing off @JLee's excellent answers above, how about using puzzle creation as a puzzle itself, where one is required to find puzzles that provide 1...N move solutions?

Finessing that, one could include a score mechanic, inversely related to the number of vehicles for each puzzle. (ie, the fewer the vehicles used, the better).

This has a couple of nice features to it:

• The difficulty scales well
• Puzzle Creation provides deeper insight than Puzzle Solving
• Randomly 'hacking at it'/'brute force' doesn't work.
• One ends up with a great list of puzzles to share!

But possible drawbacks:

• Proving minimum number of moves might get difficult after a small number.
• Later on, it might be that creating the puzzles is an order of difference harder than solving them.
• Needless to say, there are many solutions to meta-puzzles!

Here is an example of a potential solution for the series 1..6. (I didn't use the 'minimal vehicle' constraint, which would be a bit more advanced.)

My wife and I just had a quick go at the first few puzzles again, and found minimal car solutions (1,2,3,4,4,4) for puzzles 1-6 respectively. We are not 100% that they are minimal yet.

• Do you have experience with making this method work? Commented Jul 9, 2022 at 14:15
• @bobble, in the general case - yes; but with RH specifically - no. Lots of the puzzle / maze design work I have done starts off with early manual analysis - and I always start simple - it’s a good problem solving skill. Needless to say, the first few iterations in rush hour are trivial - I think there would be a few great “Aha!” Moments - like conversion of a one move to two move by switching a car length, using specific patterns for n-moves, etc. Commented Jul 9, 2022 at 14:38
• @bobble, adding further constraints (eg minimal vehicles, minimal changes from the previous move, etc) certainly adds a lot to the adult fun of the problem, but is probably better to consider as 'next level'. Commented Jul 9, 2022 at 15:11

Disclaimer: This is my personal opinion and thus, subjective.

I think that the main challenge for creating (and having) aha moments, is providing sufficient tools to create a variety of options for the player.

Let's say you're writing a puzzle for SE or a Puzzle Hunt. Apart from all the ciphers/encodings we usually use for puzzles (think Morse, Braille, Semaphore, Binary, etc) you have anything that can be googled as a possibility. You could make a puzzle where the aha involves relating random words to a list of Nobel prize winners, or Unilever products, or Super Bowl losers, or asteroids in fictional universes. The variety of available ahas is never-ending.

But (here's where I challenge the frame) every time you add a rule, you're removing degrees of freedom and chances to create something novel. If a puzzle has some rules but leaves some freedom for customizing (like Sudoku varieties, where the basic rules of no repeated 1-9 numbers in each row/col/box are still met), you still have the space to create an interesting aha. In a game like Rush Hour, the available actions are way too constrained to allow novelty. Specially because you could just brute force the solution without ever realizing there was an aha.

If the player doesn't have the freedom of actions required for creativity to flourish, I don't think you can create an aha moment for them.

• I haven't had time to digest this, but I'd like to argue against one point: that brute force is an argument against "ah-hah!" being possible. Any puzzle with a finite number of states can be brute-forced, but in my view a good puzzle should have an interesting solution found without brute force. Someone bruteforcing their way through a puzzle is not my target audience. Commented Jul 6, 2022 at 22:51

To design a sliding block puzzle with an "aha" moment, take a deep look at the equipment you're using. In order for the solver to reach the insight you want them to, I think they have to be able to see far enough into the move space to find it. In other words, I think that puzzles with greater clarity are easier for you to design and for the solver to explore. You can improve that clarity by making tweaks to the equipment, either by changing the blocks from simple rectangles to more complicated shapes or by adding other components that restrict movement. When adding components or rules to restrict movement, I prefer to make all moves reversible, since that makes it easier for the solver to explore the puzzle.

Once you have a puzzle design that you like, I suggest you construct problems by diagramming the move space and trying to create features you like in it. I'm thinking of things like branch length and number of branches from any node. If you're laying out a problem, try to think of a high-level feature that can guide the low-level tactics. For example, you might want the key block to generally move in a counter-clockwise direction around the puzzle. Once the solver notices the high-level feature, it will help them choose between low-level options.

I'm basing this advice on my experience designing three sliding-block puzzles with dominoes in my Donimoes book and constructing problems for them. Unmatched Donimoes and Capturing Donimoes were the first two puzzles I designed for the collection, and I wasn't able to construct problems beyond a few dominoes without using a computer. The interactions between the blocks, particularly the numbers on the dominoes were just too complicated for me to plan out a problem. Instead, I wrote a program that used evolutionary search to generate random problems, analyze them for the features I wanted, and make small mutations until it found something interesting. As a bonus, I then got to solve the problems myself, hard to do with something you've constructed by hand.

Later in the project, I designed Mirror Donimoes, where you move four pawns around on top of the dominoes. Suddenly, I was able to construct problems by hand. I think the two key features of the design are that you can only move a domino with a pawn on it, and you can only move a pawn to another domino when the numbers match. The pawns drastically reduce the number of dominoes the solver has to think about moving, and the numbers give you high-level goals to aim at.

There are several useful articles about puzzle design in the Game & Puzzle Design Journal, particularly Cameron Browne's Make the Design do the Work. (Disclaimer: I was on the editorial panel during the journal's 2015-2018 run.)

Good luck with your designs!