X-Git-Url: https://git.cworth.org/git?p=cworth.org;a=blobdiff_plain;f=src%2Fchristmas_code.mdwn;fp=src%2Fchristmas_code.mdwn;h=7c3f6f19d6713e816a13241b5d92975df78c038c;hp=0000000000000000000000000000000000000000;hb=93addf7ab050c5b508f79549e1359770c7116373;hpb=dfd1655d9b759f1bea89a89e4afa52047cbf4e09 diff --git a/src/christmas_code.mdwn b/src/christmas_code.mdwn new file mode 100644 index 0000000..7c3f6f1 --- /dev/null +++ b/src/christmas_code.mdwn @@ -0,0 +1,193 @@ +[[!meta title="Carl's Christmas Puzzle Hunt"]] + +[[!tag puzzles]] + +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): + + * 2014 Christmas Puzzle Hunt + * 2013 Christmas Puzzle Hunt + * 2012 Christmas Puzzle + +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.