Carl's Christmas Puzzle Hunt

I've slipped into an accidental tradition of composing a puzzle hunt for my sons every year at Christmas time. We call it "The Code" and it's now one of the most anticipated events every December.

If you'd like to see some examples of what the puzzles are like, you can look at them here (or even try solving them yourself):

As one might hope, I believe my puzzle-designing skills are improving with practice. So hopefully the more recent puzzle above show some of my better work.

This tradition has become sufficiently involved that the history of The Code really deserves to be captured. Here's the story of how it all started, and how it's changed over the years.

On Keeping Christmas a Surprise: The Invention of The Code

One year, my wife and I were lamenting to some friends that Christmas gifts were losing their mystery at our house. Our boys were getting good enough at poking, prodding, and predicting their presents that there weren't a lot of surprises left for Christmas morning. Our friends had had similar problems with their children, and we ended up comparing notes on things we had done to keep gifts secret.

One obvious tactic is to disguise a gift while wrapping it. This technique has already been developed to an artform by our boys. They love giving each other a large, wrapped gift which, when opened reveals a smaller, wrapped gift inside. Then, like a set of matryoshka dolls, that gift reveals a smaller, and smaller gift. In our family, as soon as this unwrapping process is started, everyone knows what the end result will be. The final few layers are so tiny that there's no room for boxes anymore, just many, many layers of different colored gift wrap and excessive amounts of tape. These last layers take a tremendous amount of effort to get through. And the reward for all of this hard work of unwrapping? Inevitably, it's a single penny. We don't recall who wrapped the first penny, but it's now a standing tradition where the boys try to outdo each other each year by disguising a penny in the most elaborate way possible.

Clearly, we're not willing to go to such heroic efforts to disguise every gift we wrap. We had experimented with waiting to put the Christmas gifts out under the tree until just before Christmas, but that wasn't much fun. It robbed the boys of a lot of the fun anticipation of seeing the gifts under the tree throughout December.

Our friends shared an idea that had worked well in their family. What they did was not write names on any of the gifts, but instead wrote a single number on each gift indicating the recipient. And the method for choosing the numbers was selected in a new and unpredictable way each year. For example, one year my friend (who happens to be a dentist) wrote the number of teeth that each child had lost on their gifts.

We thought this was a great idea, and we decided to give it a try. And none of our Christmas gifts have had any of the boys' names on them sense, (though they've had just about everything else possible). Read on for a rundown of what we have done for the code for each year.

The Early Years: Locking the Code up Tight

For the first year, we adopted a very simple strategy. We wrapped each boys gifts in a unique color of wrapping paper. We didn't explain anything, and when the boys asked why none of the gifts had names on them, we were evasive. Then, on Christmas morning, we told them which color of gift wrap corresponded to each boy.

The second year, the boys correctly predicted that we wouldn't use the same technique, and they immediately set about trying to crack "the code" for the Christmas presents. They started convening secret meetings to discuss theories. We discovered some of the notes from one of the meetings and found that they had constructed an entire table mapping out the following variables for each gift under the tree: Wrapping paper color, Number of bows, Colors of bows, Picture on the tag, Names on the tag. You see, this year, I did put tags on the presents, but instead of their names I wrote the names of characters from nonsense poetry: "To: The cat; From: The fiddle", "To: The cow; From: The moon", "To: The dish; From: The spoon", etc.

Their table was fairly effective. They were able to eliminate many variables that couldn't work. If there were more colors of wrapping paper tan children, they assumed that could ignore that. If there were only one or two bows per present, they assumed that couldn't identify one of the four boys. Fortunately for me, they didn't crack the code that year, but only because their table hadn't accounted for the color of ribbon on each present.

By the third year, I realized that I had to put more thought into designing the code. Here was an active group of intelligent agents determined to find the information I was trying to hide. I was careful this time to imagine every variable they could track, and ensure that each variable appeared with four different values, evenly distributed among the presents. I also ensured there was no correlation between any of the variables. Grouping the presents by wrapping-paper color, bows, ribbons, or anything else would always yield four entirely different sets of presents. (So yes, this meant that now my wife and I needed to consult our own table before we could know how to correctly wrap each gift).

Then, for the actual information, I chose two variables I thought they would never track. We carefully folded the flaps on each gift either in the same direction on each side or in opposite directions on each side. Then we either folded all cut edges away to leave clean creases, or left the raw edges exposed. This gave us four sets of presents: Matching flaps creased, Matching flaps raw, Opposite flaps creased, and Opposite flaps raw.

Of course, the boys never even looked at the flaps, and all of their attempts to find logical groups were foiled. When I revealed the answer on Christmas morning, I was smug, thinking I had "won" by creating a code they couldn't crack. Of course, the boys called me out saying that what I had done was totally unfair. (How could it have been unfair I thought? This was a game that I had invented myself?) But the boys were totally right. My problem was thinking that this was a game, when in fact, this should have been a puzzle.

Years later, I read the book "Puzzle Craft" by Mike Selinker and Thomas Snyder. In the introduction, Mike Selinker describes the lesson that my boys were teaching me. He says that a game is a contest with two equal sides and the outcome is in doubt, (either side has a roughly equal chance to win). In contrast, a puzzle is a contest with two wildly-unequal sides where the outcome is never in doubt, (the weaker side will always win). When I treated The Code as a game, it wasn't fun for any of us. The odds were stacked too much in my favor---I could always create an impossible-to-solve puzzle, but who has fun with a puzzle that's impossible to solve? That just leads to frustration and giving up. A good puzzle, in contrast, has plenty of frustration, but enough fun and reward that the solvers stick it through to the end. So I needed to learn to create a puzzle.

The Code Today: The Code as a Puzzle

My boys taught me that the code needed to be fair. That is, they needed to be given enough information to be able to solve the code. There could still be lots of deception and trickery, but they needed to know that with perseverance, patience, and creativity they could actually find the answer. They also gave me a second ground rule: The solution to the code must be relevant and interesting. A final answer of "you get the presents with the matching flaps with the raw edges" doesn't cut it. Instead, the solution to the code should actually point to the boys themselves. Basically, they were telling me "Design us a puzzle", and "Make it a good puzzle", and it just took me some time to figure that out.

Christmas 2012 was the first year I approached The Code as a puzzle. For that year, I labeled each present with nothing more than a small QR code. Scanning the QR code linked to a web page with a silly animated GIF, a solid-color background, some nonsense poetry in the title, etc. Somewhere in all of that was a hidden indication of who the intended recipient of each present was. So this was simply one puzzle, and a lot of obfuscation. I thought this puzzle would have been easier than it was, (a common problem for early puzzle designers from what I understand). But the boys had a lot of fun with it, and with some hints at the end, they figured things out by Christmas.

Christmas 2013 was the first year I stepped up and instead of designing just one puzzle, I designed an entire puzzle hunt. A puzzle hunt is a connected series of several puzzles. Many puzzle hunts also included "meta-puzzles" where the solutions to several puzzle combine to form a new puzzle. This was my first puzzle hunt to design and it included 24 puzzles, 5 metapuzzles, and 1 final metametapuzzle, (where the solutions to 4 previous metapuzzles had to be combined in another puzzle) That was probably over-ambitious for my first puzzle hunt, but it worked fairly well. There were a couple of bugs in the puzzles that I should have caught with better testing in advance.

One thing I was really pleased with was that I intentionally included every element from the previous puzzle, (animated GIFs, random background colors, nonsense poetry, etc.). But where in 2012 many of these elements were meaningless red herrings, in this year's hunt, every element was used in at least one puzzle. I was also happy that I included a mechanism for providing additional hints along the way. (And I did this in a way that I could revise those hints before the boys encountered them, so I could fine-tune the hints based on where they were getting stuck.) That was very useful, and I used that to my advantage again in 2014.

Christmas 2014 was my second puzzle hunt, so it's clearly now a new tradition that we won't give up for some time. (We'll just need to adapt things when some of the boys move out of the house, etc.). I do feel like I'm getting better at puzzle design, and the boys are still having a lot of fun solving this. I wrote up a blog post giving some of my feedback on how the solving experience went this year.