Paper-loops
This page revisits a physical puzzle I designed in 2003. The original puzzle consists of eight paper-loops that slide into a shared transparent box. Each paper-loop displays a row of four symbols and once all loops are fully inserted exactly half the symbols are visible (in a 4x4 grid). The goal is to slide all the loops fully into the box completely hiding all instances of one of the three available symbols (your choice).
Here is a photo of the original puzzle from 2003. Bill designed the perspex box. Amazingly the 23 year old elastic band that provides a perimeter wall is still going strong!
160 g/m² paper turned out to be the perfect material for the physical prototype offering just the right balance of flexibility and tension. As a paper-loop is pushed into the box the curved leading end of the loop naturally "weaves" between the upper and lower layers of any opposing loops. A push is therefore never impeded, even though a pull might be (think about it). This is a rare example of a puzzle where packing things together into a box is easier than taking them apart!
One of the satisfying features of the puzzle is that the box offers a repeatable cycle of three challenges. The first player selects a goal and completes it, the next player can then pick a different goal and start over, without the need to re-set the puzzle. The goal-state for one challenge provides a convenient start-state for either of the other two. Explore the puzzle below in interactive form or play direct from hackable source.
Instruction: Use the cursor keys to both circumnavigate the box and to push/pull the paper-loops. Here you will be given a random goal for the original 4x4 puzzle. There is also a 6x6 bonus puzzle to celebrate its 2026 online debut.
This puzzle area is interactive
click to give it focus then use keyboard to play
Development notes (May 2026)
The original physical puzzle (2003) was designed with the help of a java solver, to explore different starting configurations and verify all three solves were possible. What little I understood of the state-space in 2003 I had completely lost by 2026 (along with the java program). However, by the time I had the puzzlescript ruleset fully working, and had manually solved the 4x4 puzzle multiple times, clarity was restored. I could see there is one fairly simple primary condition (for all three objectives to be solvable) plus one secondary condition.
Consider first the primary condition... since the paper-loops are fixed in their row or column each cell in the grid is ultimately occupied by exactly one of two symbols. If these two symbols match then it won't be possible to hide both instances at the the same time, thus the symbols absolutely must differ as a necessary condition to enable all three solves. This condition is trivial to verify by eye, no solver required. The secondary condition is that the solution path must not involve a cyclic dependency, where the lead-end of four or more loops each demand to "wrap" the next loop in the cycle. Since pushes are never impeded, it's hard to imagine what this soft-lock would actually look like, during the solve process. But in reverse it is relatively easy to visualise the leading-ends of four loops snaring each other such that none of the loops can be fully extracted. If the solution sits on the far side of that snared four-way knot, it won't be reachable from the start-state.
The question I couldn't quite answer was how often that soft-lock might occur, especially on a 4x4 grid, but intuitively it felt more likely on larger grids. So I quickly hacked together a new 6x6 puzzle, randomly sprinkling the requisite 72 symbols across the 12 paper-loops. The primary condition could be easily satisfied with a few visual checks but I had no idea how to check for the soft-lock, so that was going to come down to manual testing. So I had to solve the thing, three times... would all three puzzles solve? Would I recognise the soft-lock? It took me perhaps an hour to refine my solving process to the point I had a convincing answer. Two solved, one soft-locked; and that was a very pleasing outcome. The 6x6 box was right there in the "tricky but mostly solvable" goldilocks zone.
And at this point another realisation hit me. My experience solidly backed up my intuition... any goal that wasn't actually soft-locked could be reached with the right sequence of incremental "push" actions (no pull required). And while one of my three solves was most definitely out of reach I was reasonably convinced I could fix it by permitting a little bit of "over push" (which would be later reversed with a pull). Something easy to test with a few tweaks to the puzzlescript ruleset, along with my new and improved solving skills. And yes, it solved. I was delighted that my randomly configured 6x6 puzzle could remain in place, as the new bonus challenge for 2026.
This short journey of (re)discovery reinforces a theory I've always had about "good" puzzle mechanics. Whether you are talking logic-mazes, crate-pushing or pen-and-paper puzzles. If randomly configured grids turn out to be "tricky but mostly solvable" then you've struck gold. There's really no greater dopamine hit for a puzzle designer than to discover you've nailed that sweet-spot.
concept & puzzle design - © Andrea Gilbert - 2003 & 2026
puzzlescript implementation - © Andrea Gilbert - 2026