<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Power Overwhelming - Puzzles</title><link href="https://toa.evanchen.cc/" rel="alternate"/><link href="https://toa.evanchen.cc/feeds/puzzles.atom.xml" rel="self"/><id>https://toa.evanchen.cc/</id><updated>2025-04-23T13:37:00-04:00</updated><subtitle>The blog of Evan Chen</subtitle><entry><title>Teammate Hunt 2025 Author Notes</title><link href="https://toa.evanchen.cc/tmh-2025/" rel="alternate"/><published>2025-04-23T13:37:00-04:00</published><updated>2025-04-23T13:37:00-04:00</updated><author><name>Evan Chen 《陳誼廷》</name></author><id>tag:toa.evanchen.cc,2025-04-23:/tmh-2025/</id><summary type="html">&lt;p&gt;&lt;em&gt;Thanks to Olga and Holly for factchecking a draft of this post. Remaining
errors are my responsibility of course.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The recent 2025 Teammate Hunt just finished, which went really well.
See the &lt;a href="https://2025.teammatehunt.com/wrapup"&gt;link to the wrapup&lt;/a&gt;.
I was a minor supporting character in the organizing team,
mostly just taking care of writing a few puzzles here and there.
This post is about the creation stories behind all those puzzles.&lt;/p&gt;
&lt;p&gt;(Puzzle links only work if you’re logged in for now;
public access is coming later.)&lt;/p&gt;
&lt;h1&gt;Stories of my puzzles&lt;/h1&gt;
&lt;h2&gt;&lt;a href="https://2025.teammatehunt.com/puzzles/black-or-white"&gt;Black or White&lt;/a&gt; and &lt;a href="https://2025.teammatehunt.com/puzzles/black-or-white-or-moon-or-sun"&gt;Black or White or Moon or Sun&lt;/a&gt; (from the control panel round)&lt;/h2&gt;
&lt;p&gt;This was a puzzle that worked because of our hunt structure
(control panel puzzles come in pairs).
Masyu is a common logic puzzle genre, and I was curious if there
was another standard Nikoli genre that also involved a closed loop.
That’s how I …&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;em&gt;Thanks to Olga and Holly for factchecking a draft of this post. Remaining
errors are my responsibility of course.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The recent 2025 Teammate Hunt just finished, which went really well.
See the &lt;a href="https://2025.teammatehunt.com/wrapup"&gt;link to the wrapup&lt;/a&gt;.
I was a minor supporting character in the organizing team,
mostly just taking care of writing a few puzzles here and there.
This post is about the creation stories behind all those puzzles.&lt;/p&gt;
&lt;p&gt;(Puzzle links only work if you’re logged in for now;
public access is coming later.)&lt;/p&gt;
&lt;h1&gt;Stories of my puzzles&lt;/h1&gt;
&lt;h2&gt;&lt;a href="https://2025.teammatehunt.com/puzzles/black-or-white"&gt;Black or White&lt;/a&gt; and &lt;a href="https://2025.teammatehunt.com/puzzles/black-or-white-or-moon-or-sun"&gt;Black or White or Moon or Sun&lt;/a&gt; (from the control panel round)&lt;/h2&gt;
&lt;p&gt;This was a puzzle that worked because of our hunt structure
(control panel puzzles come in pairs).
Masyu is a common logic puzzle genre, and I was curious if there
was another standard Nikoli genre that also involved a closed loop.
That’s how I got the idea to do Moon or Sun to do a fusion:
“one feeder uses Masyu to extract and the other feeder
uses Moon and Sun to extract”.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/tmh-2025/images/bwms.png" rel="noopener" target="_blank"&gt;&lt;img alt="The grid from the second puzzle of BWMS." src="https://toa.evanchen.cc/tmh-2025/images/bwms.png"/&gt;&lt;/a&gt;&lt;figcaption&gt;The grid from the second puzzle of BWMS.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I think designing BWMS taught me a lot about how to design logic puzzles
in a way that feels satisfying to me. (Before that, my only experience was the
helping with the &lt;a href="https://puzzles.mit.edu/2023/puzzlefactory.place//puzzles/flooded-caves"&gt;Flooded Caves&lt;/a&gt; puzzle from the 2023 Mystery Hunt.)
Let me explain some shower thoughts.&lt;/p&gt;
&lt;h3&gt;High-level decisions&lt;/h3&gt;
&lt;p&gt;I won’t say I dislike standard logic puzzles.
But I have a confession: given a choice between manually doing a normal Sudoku,
versus plugging it into a solver so I can unlock a new hunt puzzle,
I’d usually take the latter.&lt;/p&gt;
&lt;p&gt;The thing is I already know exactly how Sudoku rules work and basic strategy.
So solving a Sudoku doesn’t feel &lt;em&gt;new&lt;/em&gt; anymore.
I know this is a personal preference — there are definitely people who
wouldn’t want to use a solver even during a competitive hunt —
but it influences the way I think about design.&lt;/p&gt;
&lt;p&gt;Now when I’m trying to design logic puzzles for puzzle hunts,
I really want them to carry some &lt;em&gt;oomph&lt;/em&gt; instead of just
“here is a fully specified satisfiability problem, compute the unique answer”.
Here’s how I tried to do it, at a high level.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Having the solver take part in figuring out the rules&lt;/strong&gt;.
  In Black or White, once you know it’s Masyu plus Sun-or-Moon,
  it’s not &lt;em&gt;hard&lt;/em&gt; to guess what the implied rules are.
  Most of our testsolvers’ first guesses were right:
  “fill in the pearl colors and satisfy both constraints”.&lt;/p&gt;
&lt;p&gt;But I think even that 10% uncertainty is engaging.
It creates a natural incentive to try the first minipuzzle.
It’s a lot more rewarding to say
“I found a unique solution under my conjectured rule set,
confirming my hypothesis” instead of
“I found the unique solution that was already guaranteed”.&lt;/p&gt;
&lt;p&gt;Of course, you also want to make sure that the solvers infer the right rules.
It sucks to work on logic puzzles and realize later you have the wrong rules.
The checksum numbers
(number of black pearls / white pearls / moons / suns)
were designed to protect for this.
I think the numbers are pretty useless for actually
doing the logic puzzle.
But in BWMS they were especially important to confirm that, yes,
fill in all the pearls, and then everything else is suns and moons.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Having the solver take part in figuring out high-level strategy&lt;/strong&gt;.
  In Black or White, I intentionally set every grid to have the same
  configuration of cages, so that lessons carried over.
  Once the solver realizes that there’s only two ways for the loop to go,
  then the minipuzzles become a lot easier.&lt;/p&gt;
&lt;p&gt;Similarly, in BWMS, I continued using cages of the same size, helping carry
over what the solver learned about how pearls worked in Black or White.
(Spoiler: black pearls are really constrained!)
In particular, the “bipartite graph” lesson carried over,
where once you know whether a single room is sun or moon,
you can globally deduce it for the entire puzzle.
That’s an aha that I think feels really cool to figure out.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Terror&lt;/strong&gt;.
  If you worked on BWMS, you might have felt a feeling of dread
  when you opened the puzzle and realized what you were being asked to do.
  I want you to know this was totally 100% intentional.
  In contrast to the friendly small Black or White grids, the first impression
  you get from BWMS is that there’s no way there could
  be a unique solution, because the grid looks practically empty.&lt;span class="sidenote-wrapper" id="fnref:empty"&gt;&lt;label class="sidenote-number" for="sn-empty"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-empty" type="checkbox"/&gt;&lt;span class="sidenote"&gt;In fact, an early version of BWMS went so far as to &lt;em&gt;only&lt;/em&gt; have dashed pearls,
not even given moons, just for this aesthetic effect.
I gave up on that because if you do it that way,
you end up doing no sun-or-moon logic at all, which is disappointing
(for example, you don’t get to use the “bipartite” idea).&lt;/span&gt;&lt;/span&gt;
  That’s exactly what I was going for: something that looks impossible at first,
  but turns out to be within your reach.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Have an elegant extraction&lt;/strong&gt;.
  The yin-yang feeling in both genres of the fusion made Braille feel
  thematically coherent for the extraction.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Keep it short&lt;/strong&gt;.
  I don’t want a logic puzzle to overstay its welcome and become a slog.
  Especially in this hunt where the puzzle radius is unusually narrow.&lt;/p&gt;
&lt;p&gt;For Black or White, the target time for an experienced team
(once the rules were fully understood) was 5 minutes per minipuzzle.
For BWMS, I hoped an experienced team would take about an hour.
(Myself, I went through so many versions that by the end,
I could solve each version in about 20 minutes.)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All in all I think the high-level decisions worked out really well.
The rules are simple to figure out,
then you get to invent your own strategies for this new fusion genre,
and finally carry over those lessons from Black or White
to handle the scary-looking BWMS.&lt;/p&gt;
&lt;h3&gt;Low-level decisions&lt;/h3&gt;
&lt;p&gt;That covers the overall general decisions about the structure of the puzzle,
but I haven’t even gotten to the part of actually setting the specific grid.
For Black or White, where the minipuzzles only take five minutes each
and are more about learning the rules, there was leeway in choosing givens.
But BWMS was much more sensitive and took many hours of fiddling
before I really found a grid that I was happy with.&lt;/p&gt;
&lt;p&gt;I started by writing an automated verifier using &lt;a href="https://github.com/obijywk/grilops"&gt;grilops&lt;/a&gt;
— which outputs for any given grid
whether it has any solutions and whether it’s unique.
You have to be careful about leaning too much on the verifier,
because the actual human solvers aren’t going to have that.
But I still found it helpful for prototyping:
I would say it’s a way to iterate faster when experimenting.&lt;/p&gt;
&lt;p&gt;Here’s my rough approach.
I’d start with a grid with a known loop and put lots of givens
so that the solution was obviously unique.
Then, I’d experiment with taking away givens and seeing
which ones cause the solution to stop being unique —
grilops will output alternate solutions when one exists,
and looking at the difference gave me a sense of which parts of the grid
were more troublesome than others.
Then, I’d tweak the loop around the problem areas and see how that worked.
After a while I’d get a loop and a set of not-too-many givens
for which the verifier promised me the solution was still unique.&lt;/p&gt;
&lt;p&gt;(The verifier was also responsible for making sure that the Braille letters
extracted were the desired ones. You can imagine a nightmare scenario
where I have a beautiful grid I’m super happy with,
only to realize that one cell doesn’t give the right Braille letter&lt;span class="sidenote-wrapper" id="fnref:braille"&gt;&lt;label class="sidenote-number" for="sn-braille"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-braille" type="checkbox"/&gt;&lt;span class="sidenote"&gt;By the way, IIRC the letters &lt;code&gt;E&lt;/code&gt; and &lt;code&gt;O&lt;/code&gt; actually just can’t
be formed at all as extraction letters in BWMS.
I was lucky the answer was flexible.&lt;/span&gt;&lt;/span&gt;,
and it can’t be easily fixed.)&lt;/p&gt;
&lt;p&gt;Then, I’d take that grid and try to solve it by hand.
Unsurprisingly the grid was usually bad.
But I would find out which parts of the grid were possible to break in on,
as well as which parts you’d get stuck on with no way forward besides
brute-force casework. I’d adjust those.
Or sometimes, I’d run into something that &lt;em&gt;almost&lt;/em&gt; worked as a solve path,
and if I added one more given, the casework would go away.
I’d add that in (and have the verifier double-check), and go on.
Conversely, sometimes I’d find unneeded givens,
and drop those (and double-check), and go on.
Then repeat, many, many times,
going back and forth between trying to solve the draft by hand,
and adjusting the draft so that the solve path felt smooth.&lt;/p&gt;
&lt;p&gt;The whole time I used Git for version control, so from the commit history you
can actually see my indecision captured in realtime. Here’s a snapshot:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;a383c92 [2024-10-12 16:47] [Evan Chen] Working prototype of brutal
02c5d83 [2024-10-12 16:48] [Evan Chen] Remove two X's
39eced9 [2024-10-12 16:51] [Evan Chen] Make harder
e8fb519 [2024-10-12 16:59] [Evan Chen] Remove another moon
dfaf0a7 [2024-10-12 17:02] [Evan Chen] Remove another moon
bf3a21d [2024-10-12 17:03] [Evan Chen] Remove another moon
e7a1d45 [2024-10-12 17:04] [Evan Chen] Keep workshopping
e6bad46 [2024-10-12 17:05] [Evan Chen] Even fewer moons
857f3f6 [2024-10-12 17:06] [Evan Chen] Remove a pearl!
f37bec4 [2024-10-12 17:07] [Evan Chen] Drop yet another pearl
ab18409 [2024-10-12 17:14] [Evan Chen] Two moons for two pearls
22aea74 [2024-10-12 17:15] [Evan Chen] Two moons for one pearl
8650315 [2024-10-12 17:15] [Evan Chen] Drop unused moon
b26987f [2024-10-12 17:16] [Evan Chen] Trade one pearl for one moon
c52494c [2024-10-13 15:12] [Evan Chen] Trade back a pearl for a moon
6b0dd7f [2024-10-13 15:13] [Evan Chen] Trade another pearl for moon
aa1b700 [2024-10-13 15:17] [Evan Chen] One last pearl -&amp;gt; moon trade
d3b607f [2024-10-13 15:26] [Evan Chen] Swap some pearls for moons
772216f [2024-10-13 15:27] [Evan Chen] Remove unneeded pearl
9d1822a [2024-10-13 15:43] [Evan Chen] Swap some pearls for moons
7e62a03 [2024-10-13 15:43] [Evan Chen] Trade white pearl for black
4eb97da [2024-10-13 16:00] [Evan Chen] Move moons all to edge
2e1587d [2024-10-13 16:14] [Evan Chen] Okay last touches
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;To give you an idea of how sensitive these things can be:
one of the pearls I thought a lot about was the one in row 11, column 2.
If you remove that particular given pearl,
it turns out the logic puzzle still has a unique solution.
However, deleting that pearl opens up a plausible-looking branch that
takes maybe five cages of lookahead before you can actually disprove it.
So that pearl turns out to be super important to keep.&lt;/p&gt;
&lt;h3&gt;Edits&lt;/h3&gt;
&lt;p&gt;Testsolving the logic puzzle component went well.
But there was a lot of difficulty with extraction BWMS at first.
It’s easy to get thrown off by only some of the cages in BWMS being
valid Braille letters, even with the given necklace at the bottom
(which we colored with red rectangles to match the ones in the puzzle).
And because of that, we had to be really clear
that moons and black pearls were Braille dots
while suns and white pearls were Braille non-dots.
That’s how the necklace got annotations in the center.&lt;/p&gt;
&lt;p&gt;Also, a note on the errata.
Officially, I don’t think there is any requirement in Moon or Sun
that a moon room must actually contain one moon.
I had checked on the Nikoli website to make sure,
because in BWMS the loop sometimes only passes through pearls in a room.
None of the testsolvers noticed this or brought it up, so I thought it was fine.&lt;/p&gt;
&lt;p&gt;Then early on we got a Contact HQ saying
this might be nice to clarify even though I wasn’t &lt;em&gt;technically&lt;/em&gt; wrong,
because some teams might still get tripped up.
At first I was a bit reluctant to change the puzzle mid-hunt,
but hours later, other teams started getting tripped up.
So then I was like, aw crap, should’ve listened, and sent the “errata”.&lt;/p&gt;
&lt;p&gt;I should know better than this.
“I was technically correct” just isn’t good enough in puzzle hunt design.
Puzzles should be fun, and tripping over technicalities isn’t fun.&lt;/p&gt;
&lt;h2&gt;&lt;a href="https://2025.teammatehunt.com/puzzles/digits"&gt;Digits&lt;/a&gt; (from the toolbench round)&lt;/h2&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/tmh-2025/images/digits.png" rel="noopener" target="_blank"&gt;&lt;img alt="The Digits puzzle." src="https://toa.evanchen.cc/tmh-2025/images/digits.png"/&gt;&lt;/a&gt;&lt;figcaption&gt;The Digits puzzle.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;In contrast to BWMS, Digits took 2 hours and 21 minutes to get the draft out,
and the only change from testsolving was the one line at the bottom&lt;span class="sidenote-wrapper" id="fnref:clarify"&gt;&lt;label class="sidenote-number" for="sn-clarify"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-clarify" type="checkbox"/&gt;&lt;span class="sidenote"&gt;I had initially hoped that the title Digits would make it clear
the numbers should all be digits,
but the first testsolve showed that was a bit too optimistic.
We added the line to make it clear what was going on
and the testsolve finished smoothly after that.&lt;/span&gt;&lt;/span&gt;.
(Of course, then you have to watch both testsolves,
write up the full solution, postprod and edit it, etc.)
But by a long shot this was the shortest construction time.
It was also the first puzzle to get factchecked and the first puzzle to be
marked “Done”.&lt;/p&gt;
&lt;p&gt;I came in already with a simple idea&lt;span class="sidenote-wrapper" id="fnref:repeat"&gt;&lt;label class="sidenote-number" for="sn-repeat"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-repeat" type="checkbox"/&gt;&lt;span class="sidenote"&gt;My honest thought while writing Digits was
“surely someone else has done something like this for Mystery Hunt, right?”.
And I’m still suspicious of that.&lt;/span&gt;&lt;/span&gt;:
I just wanted a system of equations in A through Z
where besides the all-zero solution, the only nontrivial solution
(constrained to some set — I chose 0-9) spelled out an answer.
Then I wrote some equations that made it work. Then I shipped it. Done.&lt;/p&gt;
&lt;h2&gt;&lt;a href="https://2025.teammatehunt.com/puzzles/behold-a-puzzle"&gt;Behold, a Puzzle&lt;/a&gt; (from the greenhouse round)&lt;/h2&gt;
&lt;p&gt;This was a puzzle where we (coauthors and I)
took a while to come up with a mechanic that we were happy with.
Kaity had sent me the &lt;a href="https://www.reddit.com/r/mathmemes/comments/1fk15k3/behold_a_square/"&gt;Behold a Square&lt;/a&gt; meme from Reddit,
and we wanted to build a puzzle around it.
But we didn’t have a good idea for how that could work.&lt;/p&gt;
&lt;p&gt;We threw around a lot of ideas,
many which involved identifying a picture or shape
(&lt;code&gt;SQUARE&lt;/code&gt; given keyhole, &lt;code&gt;TORUS&lt;/code&gt; given coffee mug, …
Nothing in that brainstorm really felt right to me.
Identification felt passive,
and there wasn’t a set of words that felt right.
To me, yet another &lt;a href="https://www.mit.edu/~dwilson/puzzles/puzzlewriting.html"&gt;identify-sort-index-solve puzzle&lt;/a&gt;
didn’t feel exciting&lt;span class="sidenote-wrapper" id="fnref:dogfood"&gt;&lt;label class="sidenote-number" for="sn-dogfood"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-dogfood" type="checkbox"/&gt;&lt;span class="sidenote"&gt;And it shouldn’t come as a surprise to people that the first
taste test I use for any puzzle is “would I want to work on this?”.
If the puzzle isn’t even fun to me, why would it be fun to someone else?&lt;/span&gt;&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;We started making headway when we had the idea that
having the solver compute the &lt;em&gt;area&lt;/em&gt; of a shape would be a thematic
way to get numbers for A1Z26 that we had control over.
That resolved a lot of the word-based constraints our initial ideas had.&lt;/p&gt;
&lt;p&gt;Starting from the last step being A1Z26 on areas,
we came up with the rest of the puzzle basically in reverse order.
What shapes should the solver find the area of?
Well, we got a six-letter answer assigned,
and there are six stereotypical high school quadrilaterals,
so we’ll have a cursed version of each quadrilateral.
How should these shapes be given?
We’ll give the solvers the pieces and have them assemble it.
How do we give the cursed definitions?
We’ll have some blanks at the top with the definitions
that the solvers can fill in with the six words,
highlighting &lt;code&gt;USE AREA&lt;/code&gt; as an excuse to have them there.&lt;/p&gt;
&lt;p&gt;And so we started drafting the puzzle.
I have to say making the shapes was a load of fun.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/tmh-2025/images/shapes.png" rel="noopener" target="_blank"&gt;&lt;img alt="Shapes in Behold, a Puzzle." src="https://toa.evanchen.cc/tmh-2025/images/shapes.png"/&gt;&lt;/a&gt;&lt;figcaption&gt;Shapes in Behold, a Puzzle.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;A few other intentional choices:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We &lt;em&gt;could’ve&lt;/em&gt; made the given pieces drawn as typeset pretty SVGs
  rather than the crappy doodle that I did on my iPad&lt;span class="sidenote-wrapper" id="fnref:ipad"&gt;&lt;label class="sidenote-number" for="sn-ipad"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-ipad" type="checkbox"/&gt;&lt;span class="sidenote"&gt;I did slip up a bit though: if you pay close attention to the arcs,
some of the endpoints are blue and some are black.
That was just sloppiness on my part; I didn’t notice the inconsistency.
That’s the kind of thing you have to be careful with in puzzle design.
There &lt;em&gt;were&lt;/em&gt; teams that picked up on this and asked if it was relevant.&lt;/span&gt;&lt;/span&gt;,
  but we intentionally chose not to,
  because we thought the derpy not-to-scale aesthetic was more suitable for the puzzle.&lt;/li&gt;
&lt;li&gt;The note about rounding error&lt;span class="sidenote-wrapper" id="fnref:exact"&gt;&lt;label class="sidenote-number" for="sn-exact"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-exact" type="checkbox"/&gt;&lt;span class="sidenote"&gt;We joked briefly about giving exact numbers,
but the closed forms of the numbers are not only hideous
but also give away which piece maps to what.&lt;/span&gt;&lt;/span&gt; with 0.01 being insignificant
  is actually really important for the solver experience.
  We found this out the hard way during the first testsolve,
  before adding that note.&lt;/li&gt;
&lt;li&gt;It’s possible to Nutrimatic the answer pretty early on.
  We thought about preventing this, but didn’t see an elegant way to do so.
  So I let it go.
  The thing is, computing the area of some of the shapes is a bit annoying.
  I thought it was perfectly fine if someone assembled most of the shapes,
  found the area of just one or two, and then got the answer.
  I didn’t really think they were missing out on anything.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/tmh-2025/images/innie-outie.png" rel="noopener" target="_blank"&gt;&lt;img alt="Derpy iPad art for Behold, a Puzzle." src="https://toa.evanchen.cc/tmh-2025/images/innie-outie.png"/&gt;&lt;/a&gt;&lt;figcaption&gt;Derpy iPad art for Behold, a Puzzle.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Fun aside: we got several hint requests about whether
&lt;em&gt;Severance&lt;/em&gt; was relevant (we used “innies” and “outies”
to describe whether the curved parts go in or out).
I’d never heard of this TV show before. Is it good? Should I watch it?&lt;/p&gt;
&lt;h2&gt;&lt;a href="https://2025.teammatehunt.com/puzzles/tetrogram"&gt;Tetris-Nonogram sequence&lt;/a&gt; (from the navigation round)&lt;/h2&gt;
&lt;p&gt;There’s actually a good story on how Olga and I came up with the mechanic.&lt;/p&gt;
&lt;h3&gt;Last-minute deadline panic&lt;/h3&gt;
&lt;p&gt;The Plot A Course round was one of the last rounds to come together,
and I had volunteered to help write one of the three sequences in the meta.
We needed to come up with an answerless logic grid puzzle,
and later we’d get specifications of which cells should be “safe” or “unsafe”.
Sure.&lt;/p&gt;
&lt;p&gt;Olga and I were originally planning Slitherlinks variants,
and had some decent prototypes by mid-February.
I wanted to keep things simple because of the tight deadline.
We had a verifier up and running (like with BWMS), so we could iterate quickly.
And Brian had done a post-production of a Slitherlink interface on the site.&lt;/p&gt;
&lt;p&gt;But when we got the specification later, it didn’t fit well.
To satisfy it, our Slitherlinks would need than one loop, often several unnatural loops.
Everything I came up with felt super forced. Quoting myself in Discord:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;i’m getting the sense that the shapes might look pretty bad.
i almost wonder which of these is worse:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a slitherlink with 3 loops but one of which is nested&lt;/li&gt;
&lt;li&gt;a slitherlink with 10 little bite sized loops&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;We were aiming to have a draft for testsolving by Thursday March 6,
and a few days before the deadline I was still unsatisfied.
I think by Monday we basically agreed Slitherlink was just not the right genre
in hindsight given the meta requirements.
It was just a question of whether there was enough time to start over.
Nonogram had been floated as a possible idea,
and on Tuesday morning Olga wrote a joke message in Discord:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Dumb new variant: columns are Tetris pieces, rows are numbers&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Then finally on Tuesday night I wrote:&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/tmh-2025/images/desperate.png" rel="noopener" target="_blank"&gt;&lt;img alt="What it looks like when Evan is desperate." src="https://toa.evanchen.cc/tmh-2025/images/desperate.png"/&gt;&lt;/a&gt;&lt;figcaption&gt;What it looks like when Evan is desperate.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;About three hours later I messaged back:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;update: it actually kinda works so that’s what we’re going with.
it might require some work to postprod well.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Another three hours later I wrote back again:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;i think in principle we have something that could be testsolved. i’m paranoid
of errors with uniqueness. but it’s too late at night for me to do much about
it because my brain has turned into tofu.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(It turned out we had a nice &lt;code&gt;:tofu:&lt;/code&gt; emoji in Discord, courtesy of Ariel,
so that made it into the channel name for the rest of the hunt.)&lt;/p&gt;
&lt;h3&gt;Design&lt;/h3&gt;
&lt;p&gt;Like with BWMS, I wanted the rules to be gradually figured out by the solver.
Roughly this sequence has six stages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Learn how the Tetris pieces work on the first two 7x7’s.&lt;/li&gt;
&lt;li&gt;Learn how the Akari work on the other two 7x7’s.&lt;/li&gt;
&lt;li&gt;Do two large grids using strategies you learned before.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Akari lights were a way to try to keep things “fresh”.
I think it would have gotten repetitive
if all six grids used only the Tetris mechanic,
and I thought it was kind of cute to have the Akari in “reverse”.
(In normal Akari puzzles, you’re given walls and add lights;
this time you’re given lights and draw walls.)&lt;/p&gt;
&lt;p&gt;One of the other things we really pushed for was to make the sequence easier.
I worried that &lt;em&gt;Plot A Course&lt;/em&gt; was becoming long and starting to be a slog, so
I wanted my sequence to be brisker.
We intentionally had more givens than actually needed.
In fact we worried a bit because our testsolvers
burned through all six minipuzzles in less than half an hour.
But we decided it was OK, because the testsolvers said they loved it,
and that’s the most important dial to optimize for.&lt;/p&gt;
&lt;h3&gt;Postprodding&lt;/h3&gt;
&lt;p&gt;This was a puzzle for which the tech implementation was really important.
Despite the short timeline, I worked pretty hard to get an interface
on the website that I was personally happy with
and that took a lot of programming.&lt;span class="sidenote-wrapper" id="fnref:gpt"&gt;&lt;label class="sidenote-number" for="sn-gpt"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-gpt" type="checkbox"/&gt;&lt;span class="sidenote"&gt;I know everyone’s sick of hearing about AI, so I’ll just make a short
acknowledgment that GPT gave a workable first version out-of-the-box to iterate on.
(Got to give credit where it’s due.)&lt;/span&gt;&lt;/span&gt;
This isn’t a puzzle that I would want to do in Google Sheets,
and if I felt that way as the author, I’m sure the solvers would too.&lt;/p&gt;
&lt;p&gt;In the final version,
you can have one hand on the mouse and one hand on the keyboard
for switching between pieces.
And there was a way to also mark cells as shaded or empty for convenience.
All the pieces are colored differently.
It’s synced between team members.
And also I think it looks pretty.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/tmh-2025/images/tetkari.png" rel="noopener" target="_blank"&gt;&lt;img alt="The user interface for one of the levels, Tetkari." src="https://toa.evanchen.cc/tmh-2025/images/tetkari.png"/&gt;&lt;/a&gt;&lt;figcaption&gt;The user interface for one of the levels, Tetkari.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I like teammate’s tech stack a lot.
I’m not a programmer by profession, so I was relieved
that tph-site handled all the stuff like websockets and states.&lt;/p&gt;
&lt;p&gt;I regret I didn’t have the time to make the interface mobile-friendly.
But that was the reality given how pressed against the deadline I was.&lt;/p&gt;
&lt;h1&gt;Closing thoughts&lt;/h1&gt;
&lt;p&gt;I didn’t realize until I was writing this post that every puzzle I wrote
was kind of a logic puzzle.&lt;span class="sidenote-wrapper" id="fnref:guess"&gt;&lt;label class="sidenote-number" for="sn-guess"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-guess" type="checkbox"/&gt;&lt;span class="sidenote"&gt;Actually a lot of people have gotten pretty good at guessing my puzzles;
I had a few friends doing the hunt who messaged me once they got to
Behold, A Puzzle, asking if I wrote it.&lt;/span&gt;&lt;/span&gt; Ha.
It was really a great experience watching these puzzles come together,
and I think my writing style has improved too.
I am grateful to the editors, testsolvers, and factcheckers who helped.&lt;/p&gt;
&lt;p&gt;I’ve written a lot of words about my puzzles, which I was happy with,
but this doesn’t even scratch the surface of what teammate as a whole put together.
The other puzzles in the hunt were great too, and that’s just the individual puzzles.
The tech, art, and story teams absolutely hit things out of the park,
and I saw just how hard many people worked to make this event fly.
I’m honored that I could be a small part of writing this hunt.
Thank you teammate.&lt;/p&gt;
&lt;p&gt;And thanks to the audience, especially those who sent some nice messages to us!
We have a channel called &lt;code&gt;#warm-fuzzies&lt;/code&gt; where we share kind words we get,
and reading through those is a really nice way to celebrate
the conclusion of the hunt.&lt;/p&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn:empty"&gt;
&lt;p&gt;In fact, an early version of BWMS went so far as to &lt;em&gt;only&lt;/em&gt; have dashed pearls,
not even given moons, just for this aesthetic effect.
I gave up on that because if you do it that way,
you end up doing no sun-or-moon logic at all, which is disappointing
(for example, you don’t get to use the “bipartite” idea). &lt;a class="footnote-backref" href="#fnref:empty" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:braille"&gt;
&lt;p&gt;By the way, IIRC the letters &lt;code&gt;E&lt;/code&gt; and &lt;code&gt;O&lt;/code&gt; actually just can’t
be formed at all as extraction letters in BWMS.
I was lucky the answer was flexible. &lt;a class="footnote-backref" href="#fnref:braille" title="Jump back to footnote 2 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:clarify"&gt;
&lt;p&gt;I had initially hoped that the title Digits would make it clear
the numbers should all be digits,
but the first testsolve showed that was a bit too optimistic.
We added the line to make it clear what was going on
and the testsolve finished smoothly after that. &lt;a class="footnote-backref" href="#fnref:clarify" title="Jump back to footnote 3 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:repeat"&gt;
&lt;p&gt;My honest thought while writing Digits was
“surely someone else has done something like this for Mystery Hunt, right?”.
And I’m still suspicious of that. &lt;a class="footnote-backref" href="#fnref:repeat" title="Jump back to footnote 4 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:dogfood"&gt;
&lt;p&gt;And it shouldn’t come as a surprise to people that the first
taste test I use for any puzzle is “would I want to work on this?”.
If the puzzle isn’t even fun to me, why would it be fun to someone else? &lt;a class="footnote-backref" href="#fnref:dogfood" title="Jump back to footnote 5 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:ipad"&gt;
&lt;p&gt;I did slip up a bit though: if you pay close attention to the arcs,
some of the endpoints are blue and some are black.
That was just sloppiness on my part; I didn’t notice the inconsistency.
That’s the kind of thing you have to be careful with in puzzle design.
There &lt;em&gt;were&lt;/em&gt; teams that picked up on this and asked if it was relevant. &lt;a class="footnote-backref" href="#fnref:ipad" title="Jump back to footnote 6 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:exact"&gt;
&lt;p&gt;We joked briefly about giving exact numbers,
but the closed forms of the numbers are not only hideous
but also give away which piece maps to what. &lt;a class="footnote-backref" href="#fnref:exact" title="Jump back to footnote 7 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:gpt"&gt;
&lt;p&gt;I know everyone’s sick of hearing about AI, so I’ll just make a short
acknowledgment that GPT gave a workable first version out-of-the-box to iterate on.
(Got to give credit where it’s due.) &lt;a class="footnote-backref" href="#fnref:gpt" title="Jump back to footnote 8 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:guess"&gt;
&lt;p&gt;Actually a lot of people have gotten pretty good at guessing my puzzles;
I had a few friends doing the hunt who messaged me once they got to
Behold, A Puzzle, asking if I wrote it. &lt;a class="footnote-backref" href="#fnref:guess" title="Jump back to footnote 9 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Puzzles"/><category term="puzzle hunt"/></entry><entry><title>An advertisement for what puzzle hunts are about and why they're cooler than everyday puzzles</title><link href="https://toa.evanchen.cc/puzzles/" rel="alternate"/><published>2023-11-06T13:37:00-05:00</published><updated>2023-11-06T13:37:00-05:00</updated><author><name>Evan Chen 《陳誼廷》</name></author><id>tag:toa.evanchen.cc,2023-11-06:/puzzles/</id><summary type="html">&lt;blockquote&gt;
&lt;p&gt;I remember when I got the central aha, I justified it to my teammates as
&amp;ldquo;it&amp;rsquo;d be so cool, so it has to be right&amp;rdquo;.
&amp;mdash; &lt;a href="https://www.npinsker.me/"&gt;Nathan Pinsker&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a post meant to explain what makes puzzle hunts appealing
to people who haven&amp;rsquo;t done them before.&lt;/p&gt;
&lt;p&gt;If you do care about the actual mechanical details,
&lt;a href="https://blog.vero.site/post/puzzlehunts"&gt;Brian&amp;rsquo;s introduction is great&lt;/a&gt;.
The one-sentence summary is: you&amp;rsquo;re (usually) trying to get an English
word/phrase as the final answer, there are (usually) no directions or
instructions, and I write &amp;ldquo;usually&amp;rdquo; everywhere because puzzle hunts love
breaking rules.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;When I first tell people about puzzle hunts, their initial reaction is usually
that the fun must be in the challenge. And it is not untrue that there is a
notion of skill, and it&amp;rsquo;s satisfying to become a stronger solver. However, I
think this misses the point: it ignores the …&lt;/p&gt;</summary><content type="html">&lt;blockquote&gt;
&lt;p&gt;I remember when I got the central aha, I justified it to my teammates as
&amp;ldquo;it&amp;rsquo;d be so cool, so it has to be right&amp;rdquo;.
&amp;mdash; &lt;a href="https://www.npinsker.me/"&gt;Nathan Pinsker&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a post meant to explain what makes puzzle hunts appealing
to people who haven&amp;rsquo;t done them before.&lt;/p&gt;
&lt;p&gt;If you do care about the actual mechanical details,
&lt;a href="https://blog.vero.site/post/puzzlehunts"&gt;Brian&amp;rsquo;s introduction is great&lt;/a&gt;.
The one-sentence summary is: you&amp;rsquo;re (usually) trying to get an English
word/phrase as the final answer, there are (usually) no directions or
instructions, and I write &amp;ldquo;usually&amp;rdquo; everywhere because puzzle hunts love
breaking rules.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;When I first tell people about puzzle hunts, their initial reaction is usually
that the fun must be in the challenge. And it is not untrue that there is a
notion of skill, and it&amp;rsquo;s satisfying to become a stronger solver. However, I
think this misses the point: it ignores the elegance of puzzle construction.&lt;/p&gt;
&lt;p&gt;If I tried to make an analogy of what a puzzle hunt puzzle is like, I&amp;rsquo;d say it&amp;rsquo;s
like a &lt;em&gt;mystery movie&lt;/em&gt;. But I want to emphasize that &lt;strong&gt;the word &amp;ldquo;movie&amp;rdquo; is much
more important than &amp;ldquo;mystery&amp;rdquo;&lt;/strong&gt; here.&lt;/p&gt;
&lt;p&gt;Because the experience of solving a good hunt puzzle is usually choreographed
carefully by the designer. Mechanically, this means for example that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Any red herrings or extra information is eliminated.&lt;/li&gt;
&lt;li&gt;Some form of error correction is often present, so that if a solver makes a
  mistake, they find out quickly. (As opposed to, say, sudoku, where if you
  write a wrong number you often don&amp;rsquo;t find out until much later.)&lt;/li&gt;
&lt;li&gt;As much as possible, there are &amp;ldquo;guard rails&amp;rdquo; that prevent a solver from going
  too far off the correct path. (As opposed to, say, math contest problems,
  where it&amp;rsquo;s not uncommon to spend a lot of time chasing fruitless paths.)&lt;/li&gt;
&lt;li&gt;Conversely, the solver usually knows pretty quickly if they are going down the
  correct path. For example, often the title of the puzzle will be a subtle
  allusion to the main idea; thus when solvers do find the main idea, they can
  look at the title and say &amp;ldquo;ah, that&amp;rsquo;s why this title was chosen&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But perhaps more important is the aesthetic implications. In the same way that
good movies (mystery or not) have coherent plots, fresh characters, and elegant
sets, a good puzzles have coherent &lt;em&gt;themes&lt;/em&gt;, fresh ideas, and an elegant
presentation. It&amp;rsquo;s not like a sudoku or NYT crossword, which all look the same
and for which the solver already knows what to expect.&lt;/p&gt;
&lt;p&gt;Having a cohesive theme means all the parts relate to each other. This makes
more sense with examples (spoilers follow for the mentioned puzzles):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://mosp.evanchen.cc/I/puzzle/sticks-and-stones"&gt;MOP 2021 metapuzzle &amp;ldquo;Sticks and Stones&amp;rdquo;&lt;/a&gt; was centered around the
  letter S, an ongoing gag in the MOP community (MOP vs MOSP).&lt;br /&gt;
  Solvers needed to realize the number corresponded to the &amp;ldquo;Steve&amp;rsquo;s stones&amp;rdquo;
  problem from JMO 2015/6 (solved with sticks and stones), and arrange words
  crossword-style in a grid so that S&amp;rsquo;s were placed where stones go. When done
  correctly, the words &lt;em&gt;themselves&lt;/em&gt; formed a giant letter S in the grid which
  spelled the answer when traced.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;The puzzle &lt;a href="https://perpendicular.institute/puzzle/le-chiffre-indéchiffrable/"&gt;Le chiffre indéchiffrable&lt;/a&gt; from Mystery Hunt 2021 was
  themed around mangled Google Translate and Unicode.&lt;br /&gt;
  The puzzle opens with a Unicode Vigenere cipher (the title is the French name
  for this cipher) and produces lyrics from Google Translate Sings that have been
  translated yet again into another language as the plaintext (using Google
  Translate). At the same time, the keys are themselves names of Unicode
  characters which have been translated into different languages (again using
  Google Translate). So doing a Unicode Vigenere cipher yet again with the
  episode numbers from Google Translate Sings gives the answer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More examples in &lt;a href="https://www.mit.edu/~dwilson/puzzles/puzzlewriting.html"&gt;Section 4 &amp;ldquo;Elegance&amp;rdquo; of David Wilson&amp;rsquo;s puzzle writing
guide&lt;/a&gt;. I also really like this sentence from Nathan Pinsker:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The most elegant puzzles are those where every single piece of information is
used somewhere, like a dozen mini-Chekhov&amp;rsquo;s Guns wrapping up the experience
into a perfect, tightly woven package.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Or with more profanity (from me working on
&lt;a href="https://2022.galacticpuzzlehunt.com/"&gt;Galactic Puzzle Hunt 2022&lt;/a&gt; &amp;mdash;
speaking of which,
&lt;a href="https://2023.galacticpuzzlehunt.com/"&gt;the next GPH is happening this weekend&lt;/a&gt;):&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/puzzles/images/newbie-intro-gph-evan-raging.png" rel="noopener" target="_blank"&gt;&lt;img alt="Galactic Puzzle Hunt 2022." src="https://toa.evanchen.cc/puzzles/images/newbie-intro-gph-evan-raging.png"&gt;&lt;/a&gt;&lt;figcaption&gt;Galactic Puzzle Hunt 2022.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I guess what I&amp;rsquo;m trying to say with all this is that a puzzle hunt puzzle is
almost like a story, designed intentionally by the puzzle author. And just as
people will say they loved a novel, puzzle hunt enthusiasts have tastes in
puzzles as well.&lt;/p&gt;
&lt;p&gt;Except there is one big difference between a mystery movie and a puzzle hunt.
In the movie, you are the audience; all you have to do is sit back and watch as
the protagonist progresses through the story, slowly figuring things out. But in
a puzzle hunt, &lt;em&gt;you&lt;/em&gt; are the protagonist.&lt;/p&gt;</content><category term="Puzzles"/><category term="puzzle hunt"/></entry><entry><title>Mystery Hunt 2023</title><link href="https://toa.evanchen.cc/mh-2023/" rel="alternate"/><published>2023-01-23T13:37:00-05:00</published><updated>2023-01-23T13:37:00-05:00</updated><author><name>Evan Chen 《陳誼廷》</name></author><id>tag:toa.evanchen.cc,2023-01-23:/mh-2023/</id><summary type="html">&lt;p&gt;This is a retro-post for the &lt;a href="https://interestingthings.museum/"&gt;Mystery Hunt 2023&lt;/a&gt;,
for which I played a somewhat minor role on the organizing team (teammate).
You can play at &lt;a href="https://interestingthings.museum/"&gt;interestingthings.museum&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2023/images/zerodays.jpg" rel="noopener" target="_blank"&gt;&lt;img alt="Office décor." src="https://toa.evanchen.cc/mh-2023/images/zerodays.jpg"/&gt;&lt;/a&gt;&lt;figcaption&gt;Office décor.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;There is an ongoing list of write-ups about the hunt being kept at
&lt;a href="https://www.puzzles.wiki/wiki/MIT_Mystery_Hunt_2023"&gt;puzzles.wiki&lt;/a&gt;,
and you may also be interested in the
&lt;a href="https://www.reddit.com/r/mysteryhunt/comments/10iq756/ama_we_are_the_members_of_teammate_the_writing"&gt;reddit AMA from teammate&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Puzzle shoutout list&lt;/h2&gt;
&lt;h3&gt;Favorite puzzles&lt;/h3&gt;
&lt;p&gt;The obligatory list.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://interestingthings.museum/rounds/innovation"&gt;Hall of Innovation round&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://interestingthings.museum/puzzles/youre-telling-me"&gt;You’re Telling Me (Atrium)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://interestingthings.museum/puzzles/showcase"&gt;Showcase (Atrium)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/basement/lost-to-time"&gt;Lost to Time (Basement)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/puzzles/5d-barred-diagramless-with-multiverse-time-travel"&gt;5D Barred Diagramless with Multiverse Time Travel
  (Böotes)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/basement/subterranean-secrets"&gt;Subterranean Secrets (Basement)&lt;/a&gt;,
  but this puzzle required being on-campus&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Puzzles I am an author on&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://interestingthings.museum/puzzles/much-ado-about-nothing"&gt;Much Ado About Nothing (Atrium)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/office/diagramless"&gt;Diagramless (Office)&lt;/a&gt;, with Lumia Neyo.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/basement/circuit"&gt;Circuit (Basement)&lt;/a&gt;, with Jacqui Fashimpaur.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/office/zambonis"&gt;Zambonis (Office)&lt;/a&gt;, with Catherine Wu, Nicholai Dimov,
  and Steven Silverman&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/puzzles/4d-geo"&gt;4D Geo (Wyrm)&lt;/a&gt;, with Austin Lei, Moor Xu, and Nathan Wong&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/puzzles/flooded-caves"&gt;Flooded Caves (Wyrm)&lt;/a&gt;,
  with Alex Gotsis and Cameron Montag&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Also a …&lt;/h2&gt;</summary><content type="html">&lt;p&gt;This is a retro-post for the &lt;a href="https://interestingthings.museum/"&gt;Mystery Hunt 2023&lt;/a&gt;,
for which I played a somewhat minor role on the organizing team (teammate).
You can play at &lt;a href="https://interestingthings.museum/"&gt;interestingthings.museum&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2023/images/zerodays.jpg" rel="noopener" target="_blank"&gt;&lt;img alt="Office décor." src="https://toa.evanchen.cc/mh-2023/images/zerodays.jpg"/&gt;&lt;/a&gt;&lt;figcaption&gt;Office décor.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;There is an ongoing list of write-ups about the hunt being kept at
&lt;a href="https://www.puzzles.wiki/wiki/MIT_Mystery_Hunt_2023"&gt;puzzles.wiki&lt;/a&gt;,
and you may also be interested in the
&lt;a href="https://www.reddit.com/r/mysteryhunt/comments/10iq756/ama_we_are_the_members_of_teammate_the_writing"&gt;reddit AMA from teammate&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Puzzle shoutout list&lt;/h2&gt;
&lt;h3&gt;Favorite puzzles&lt;/h3&gt;
&lt;p&gt;The obligatory list.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://interestingthings.museum/rounds/innovation"&gt;Hall of Innovation round&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://interestingthings.museum/puzzles/youre-telling-me"&gt;You’re Telling Me (Atrium)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://interestingthings.museum/puzzles/showcase"&gt;Showcase (Atrium)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/basement/lost-to-time"&gt;Lost to Time (Basement)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/puzzles/5d-barred-diagramless-with-multiverse-time-travel"&gt;5D Barred Diagramless with Multiverse Time Travel
  (Böotes)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/basement/subterranean-secrets"&gt;Subterranean Secrets (Basement)&lt;/a&gt;,
  but this puzzle required being on-campus&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Puzzles I am an author on&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://interestingthings.museum/puzzles/much-ado-about-nothing"&gt;Much Ado About Nothing (Atrium)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/office/diagramless"&gt;Diagramless (Office)&lt;/a&gt;, with Lumia Neyo.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/basement/circuit"&gt;Circuit (Basement)&lt;/a&gt;, with Jacqui Fashimpaur.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/office/zambonis"&gt;Zambonis (Office)&lt;/a&gt;, with Catherine Wu, Nicholai Dimov,
  and Steven Silverman&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/puzzles/4d-geo"&gt;4D Geo (Wyrm)&lt;/a&gt;, with Austin Lei, Moor Xu, and Nathan Wong&lt;/li&gt;
&lt;li&gt;&lt;a href="https://puzzlefactory.place/puzzles/flooded-caves"&gt;Flooded Caves (Wyrm)&lt;/a&gt;,
  with Alex Gotsis and Cameron Montag&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Also a cog in the machine&lt;/h2&gt;
&lt;p&gt;One of the editors-in-chief from 2021 was also teammate this year,
and in &lt;a href="https://fortenf.org/e/2023/01/18/mystery-hunt-2023.html"&gt;his recap on Fort&amp;amp;Forge he wrote&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I recall telling Brian (one of our directors) that weekly newsletters were a
great way to keep less active members of the team en gaged with hunt, only to
find myself getting all of my information about hunt from these newsletters.
As much as I tried to pay attention to what was going on, it was only when I
arrived in Boston this past week to help out in person that I fully understood
the structure of what we’d built.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;… which is basically what happened to me as well, to a lesser scale.
I went from being a fairly enthusiastic writer in 2021
to a here-are-a-few-token-puzzles minion in 2023.
I just didn’t have new ideas, in part because I used up a lot of ideas in 2021,
and in part because my life in 2022 was a hot mess for personal reasons.&lt;/p&gt;
&lt;p&gt;Better luck next time, I guess, if there is a next time.&lt;/p&gt;
&lt;p&gt;On the bright side, I got to learn how to use grilops,
and had way too much fun setting the logic-puzzle step of
&lt;a href="https://puzzlefactory.place/puzzles/flooded-caves"&gt;Flooded Caves&lt;/a&gt;.
Here’s the first version of the 6/9 caves puzzle (that got nerfed like heck
because it turns out to be way too hard to do by hand):&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2023/images/69.png" rel="noopener" target="_blank"&gt;&lt;img alt="A cave puzzle with 6 and 9. Not worth trying by hand." src="https://toa.evanchen.cc/mh-2023/images/69.png"/&gt;&lt;/a&gt;&lt;figcaption&gt;A cave puzzle with 6 and 9. Not worth trying by hand.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3&gt;The puzzle-writing cycle&lt;/h3&gt;
&lt;p&gt;During the AMA I realized I didn’t explain last year what the cycle
of writing a Mystery Hunt puzzle looked like,
so I’m reproducing my
&lt;a href="https://www.reddit.com/r/mysteryhunt/comments/10iq756/comment/j5g7gul"&gt;answer from reddit&lt;/a&gt;
as I figured it’d be of interest:&lt;/p&gt;
&lt;p&gt;We used &lt;a href="https://github.com/Palindrome-Puzzles/puzzup"&gt;Puzzup&lt;/a&gt; to manage the
puzzle-writing process. The list of statuses that a puzzle can be in is
enumerated in&lt;span class="sidenote-wrapper" id="fnref:slight"&gt;&lt;label class="sidenote-number" for="sn-slight"&gt;&lt;/label&gt;&lt;input class="sidenote-toggle" id="sn-slight" type="checkbox"/&gt;&lt;span class="sidenote"&gt;The set of statuses for teammate was slightly different,
this is the 2022 list.&lt;/span&gt;&lt;/span&gt; &lt;a href="https://github.com/Palindrome-Puzzles/puzzup/blob/main/puzzle_editing/status.py"&gt;status.py&lt;/a&gt;;
here is an overview&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Initial idea&lt;/strong&gt;: Authors submit an idea through the website.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Idea in development&lt;/strong&gt;: Editors get assigned to the puzzle, and talk
  through with the author until there’s enough of a coherent plan/prototype to
  start really writing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Awaiting answer&lt;/strong&gt;: Editors assign an answer from the answer pool.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Writing&lt;/strong&gt;: Author works on the draft of the puzzle until it’s in a ready
  state.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testsolving&lt;/strong&gt;/&lt;strong&gt;Revising&lt;/strong&gt;: Puzzle goes through testsolve-revise cycle. In
  general, we require every puzzle to have two &lt;em&gt;clean&lt;/em&gt; testsolves, so that’s
  the minimum number of testsolve sessions each puzzle will normally go
  through, but if the puzzle changes a lot (e.g. the initial draft was too
  hard or broken in some way) then there may be more. Each testsolver also
  rates each puzzle on a scale of 1-6 for fun and difficulty and provides
  feedback.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Needs solution&lt;/strong&gt;: Author types up the solution completely, including
  things like break-ins or author notes or whatever.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Postproduction&lt;/strong&gt;: Puzzle and solution are reformatted into beautiful
  typescript/HTML/etc. to work with the website. (This is often done by
  someone other than the author.)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Factchecking&lt;/strong&gt;: Someone goes through the puzzle with a fine-tooth combo
  looking for things like typos, mistakes, inconsistent formatting, a11y
  issues like alt text, etc&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The amount of time this takes varies a ton from puzzle to puzzle (I imagine in
a &lt;code&gt;stddev &amp;gt; mean&lt;/code&gt; kind of way), mostly depending on how hard/complex the
puzzle is.&lt;/p&gt;
&lt;h2&gt;Back to MIT&lt;/h2&gt;
&lt;p&gt;Hunt was in person again after three years!
And it was so different from 2021 as a result.&lt;/p&gt;
&lt;p&gt;The hardest part of this was a lot more work, and hence a lot more stress.
At some point, I started bringing a heart plushie to campus with me
for emotional support throughout the weekend.&lt;/p&gt;
&lt;p&gt;It turns out teammate only has a handful of members who were still
current MIT students, which meant I generally had to float around HQ
a lot in case of some unexpected situation that needed an MIT ID card,
like locked doors, or Athena printing, or needing to talk to MIT CAC, etc.
I took the morning shift, so I ended up sleeping from 8pm-5am most days
of the hunt, then coming to campus to unlock the Bush room at 6am.
And then, since I wasn’t deeply involved with hunt or tech,
while on call at HQ I was mostly confined to answering hint requests and the
like for most of the day while more critical work was being done by the
tech leads, editors-in-chief, and so on.
So I ended up doing the field-puzzles-check
(make sure all the location-specific puzzles are intact)
multiple times as an excuse to get out of the HQ, which was a lot of fun
(I found myself jealous I didn’t get to do Subterranean Secrets as a solver).&lt;/p&gt;
&lt;p&gt;I also got designated as the delivery point in Boston for packages,
so there was a week when my entire home was just overflowing with packages.
Which I actually didn’t mind, because it was so cool watching
all the props and physical puzzles and coins and so on trickle in.
But it meant I had a lot of carrying stuff to do once the weekend came.
Like three of the five monitors in the final runaround. :)&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2023/images/mh-ig.png" rel="noopener" target="_blank"&gt;&lt;img alt="Mystery Hunt boxes freeloading at EvanBNB." src="https://toa.evanchen.cc/mh-2023/images/mh-ig.png"/&gt;&lt;/a&gt;&lt;figcaption&gt;Mystery Hunt boxes freeloading at EvanBNB.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Of course, the hunt &lt;em&gt;itself&lt;/em&gt; felt amazing in person.
It’s been too long since I got to see the opening skit,
or the crowd of solvers at wrap-up,
or to barge in on teams chastising them for ruining Mystery Hunt.&lt;/p&gt;
&lt;p&gt;But the best part of being in person was definitely getting to finally see all
my teammate’s beautiful faces, some after many years, and many for the first
time. I think this alone made all the extra work worth it, many times over.&lt;/p&gt;
&lt;p&gt;(Also, the inflatable pickaxe from opening was really fun to swing around.)&lt;/p&gt;
&lt;h2&gt;Yes, the hunt was too hard, we know&lt;/h2&gt;
&lt;p&gt;Keeping this short because I don’t want to keep beating the extremely dead horse.
The one thing I want to add is:
I’m not convinced the issue was solely at the level of individual puzzles.
Indeed, our testsolve process looked (to me) basically the same as in 2021.&lt;/p&gt;
&lt;p&gt;Because there is no one person that testsolves every puzzle in the hunt,
or even close. In an ideal world, you could do full-hunt testsolves,
but we are simply too far from that ideal world in terms of the number
of person-hours from unspoiled participants to pull this off.
In other words, most individual puzzles I saw felt defensible
(with the disclaimer I also have only seen a small fraction of the puzzles),
and the problem was that the puzzles were &lt;em&gt;on average&lt;/em&gt; too hard.&lt;/p&gt;
&lt;p&gt;I think in hindsight, what would have helped was to be more vigilant
at the scope of &lt;em&gt;entire rounds&lt;/em&gt; about intended difficulty,
rather than blaming individual feeder puzzles.
Repeating from one of the
&lt;a href="https://www.reddit.com/r/mysteryhunt/comments/10iq756/comment/j5h005a/"&gt;threads on Reddit&lt;/a&gt;
about the design of the Museum (the opening act):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We internally had labels for the round an answer was in, but the Museum was
made of 5 rounds and the ordering of those rounds in the Museum hadn’t been
determined yet. My sense is that each of the 5 rounds ended up with similar
difficulty, which didn’t leave great options for which one to present first
once it was time to decide unlock order. …
In retrospect it would have been better to lock in the Museum round order
earlier, or designate one round as specifically “this is the round teams will
see first, make sure it is especially easy for Act 1”.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And that’s how
&lt;a href="https://interestingthings.museum/puzzles/much-ado-about-nothing"&gt;Much Ado About Nothing&lt;/a&gt;
ended up on the intro round,
much to my horror when I found out on Friday morning.&lt;/p&gt;
&lt;p&gt;There’s a quote from Chris Petey I really like that goes:
&lt;em&gt;the most competent people, with weak processes, will screw up&lt;/em&gt;.
It’s not enough to say “teammate’s editors should’ve known better”:
the Atrium round was in trouble long before the feeders were ever written.&lt;/p&gt;
&lt;h2&gt;Ending thoughts&lt;/h2&gt;
&lt;p&gt;Many hugs. Much love. Thank you teammate.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2023/images/tamemeat.jpg" rel="noopener" target="_blank"&gt;&lt;img alt="Tame meat." src="https://toa.evanchen.cc/mh-2023/images/tamemeat.jpg"/&gt;&lt;/a&gt;&lt;figcaption&gt;Tame meat.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;div class="footnote"&gt;
&lt;hr/&gt;
&lt;ol&gt;
&lt;li id="fn:slight"&gt;
&lt;p&gt;The set of statuses for teammate was slightly different,
this is the 2022 list. &lt;a class="footnote-backref" href="#fnref:slight" title="Jump back to footnote 1 in the text"&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content><category term="Puzzles"/><category term="mystery hunt"/><category term="puzzle hunt"/></entry><entry><title>MOP 2021 puzzle hunt</title><link href="https://toa.evanchen.cc/mosp-2021/" rel="alternate"/><published>2021-06-25T19:55:00-04:00</published><updated>2021-06-25T19:55:00-04:00</updated><author><name>Evan Chen 《陳誼廷》</name></author><id>tag:toa.evanchen.cc,2021-06-25:/mosp-2021/</id><summary type="html">&lt;p&gt;I worked with a few friends on writing a mini one-round puzzle hunt for this year’s MOP students.
If you want to play, you can do so now at the following URL:&lt;/p&gt;
&lt;p&gt;&lt;a class="autolink" href="https://mosp.evanchen.cc"&gt;https://mosp.evanchen.cc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m not sure whether or not this is going to become a recurring tradition.
On the one hand, it was loads of fun to make
(including figuring out how to draw art on my iPad);
on the other hand, I definitely didn’t blow a couple hundred hours
of my life putting this together. ;)&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong&gt;Unrelated advertisement&lt;/strong&gt;: the &lt;a href="https://www.carina.fund"&gt;Carina Initiatives&lt;/a&gt;
is currently looking to hire a junior data scientist.
They’re a young philanthropic fund that’s interested in supporting initiatives
that build &lt;em&gt;actual&lt;/em&gt; math problem solving (like, the problem-solving you’d see on this blog,
not &lt;a href="https://www.google.com/search?q=math+problem+solving&amp;amp;tbm=isch"&gt;the mainstream buzzword stuff&lt;/a&gt;).
I’ve had a lot of fun talking with them over the …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I worked with a few friends on writing a mini one-round puzzle hunt for this year’s MOP students.
If you want to play, you can do so now at the following URL:&lt;/p&gt;
&lt;p&gt;&lt;a class="autolink" href="https://mosp.evanchen.cc"&gt;https://mosp.evanchen.cc&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m not sure whether or not this is going to become a recurring tradition.
On the one hand, it was loads of fun to make
(including figuring out how to draw art on my iPad);
on the other hand, I definitely didn’t blow a couple hundred hours
of my life putting this together. ;)&lt;/p&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;strong&gt;Unrelated advertisement&lt;/strong&gt;: the &lt;a href="https://www.carina.fund"&gt;Carina Initiatives&lt;/a&gt;
is currently looking to hire a junior data scientist.
They’re a young philanthropic fund that’s interested in supporting initiatives
that build &lt;em&gt;actual&lt;/em&gt; math problem solving (like, the problem-solving you’d see on this blog,
not &lt;a href="https://www.google.com/search?q=math+problem+solving&amp;amp;tbm=isch"&gt;the mainstream buzzword stuff&lt;/a&gt;).
I’ve had a lot of fun talking with them over the last few months about problem-solving in general.&lt;/p&gt;
&lt;p&gt;My impression is they’re looking for people who have finished a bachelor’s
degree in some quantitative field and ideally have experience with any subset of
{math/CS/etc competition/circle/camp, education, gaming, entrepreneurship, non-profit operations}.
They’re based in SoCal but open to remote + quarterly travel.&lt;/p&gt;
&lt;p&gt;If you’re interested in this and I know who you are, send me an email and I’ll connect you.&lt;/p&gt;</content><category term="Puzzles"/><category term="announcement"/><category term="puzzle hunt"/></entry><entry><title>Unnecessarily detailed stories of my Mystery Hunt puzzles</title><link href="https://toa.evanchen.cc/mh-2021/" rel="alternate"/><published>2021-02-21T13:37:00-05:00</published><updated>2021-02-21T13:37:00-05:00</updated><author><name>Evan Chen 《陳誼廷》</name></author><id>tag:toa.evanchen.cc,2021-02-21:/mh-2021/</id><summary type="html">&lt;p&gt;As a &lt;a href="/puzzle-writing"&gt;follow-up to the previous post&lt;/a&gt;,
I am recording here some details about the (numerous, varied, and deep)
revisions that a bunch of my puzzles went through during the production process.
These puzzles are in chronological order of when I wrote the puzzle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Spoiler warning&lt;/strong&gt;:
Unlike the last post, these will completely spoil all of the puzzles below.&lt;/p&gt;
&lt;h2&gt;1. &lt;a href="https://perpendicular.institute/puzzle/a-bit-of-light/"&gt;A Bit of Light&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Surprisingly, the gist of the puzzle mostly survived revisions:
the idea of an encoding-based puzzle with the
key step to look at seven-segment displays between the Braille and resistor color encoding.
One issue I ran into while constructing was that
ABCDEF6 is actually too big in base 16 to store in an eight-bit number,
which is part of why I ended up 1337-ing the seven-segment display bits.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-bit.webp" rel="noopener" target="_blank"&gt;&lt;img alt="The final presentation of the “A Bit of Light” puzzle;
  it looked pretty much like this at the start too,
  with worse encodings." src="https://toa.evanchen.cc/mh-2021/images/mh2021-bit.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;The final presentation of the “A Bit of Light” puzzle;
  it looked pretty much like this at the start …&lt;/figcaption&gt;&lt;/figure&gt;</summary><content type="html">&lt;p&gt;As a &lt;a href="/puzzle-writing"&gt;follow-up to the previous post&lt;/a&gt;,
I am recording here some details about the (numerous, varied, and deep)
revisions that a bunch of my puzzles went through during the production process.
These puzzles are in chronological order of when I wrote the puzzle.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Spoiler warning&lt;/strong&gt;:
Unlike the last post, these will completely spoil all of the puzzles below.&lt;/p&gt;
&lt;h2&gt;1. &lt;a href="https://perpendicular.institute/puzzle/a-bit-of-light/"&gt;A Bit of Light&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Surprisingly, the gist of the puzzle mostly survived revisions:
the idea of an encoding-based puzzle with the
key step to look at seven-segment displays between the Braille and resistor color encoding.
One issue I ran into while constructing was that
ABCDEF6 is actually too big in base 16 to store in an eight-bit number,
which is part of why I ended up 1337-ing the seven-segment display bits.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-bit.webp" rel="noopener" target="_blank"&gt;&lt;img alt="The final presentation of the “A Bit of Light” puzzle;
  it looked pretty much like this at the start too,
  with worse encodings." src="https://toa.evanchen.cc/mh-2021/images/mh2021-bit.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;The final presentation of the “A Bit of Light” puzzle;
  it looked pretty much like this at the start too,
  with worse encodings.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;However, in the first draft I apparently had the bright idea that resistor colors
should include the last digit being a
&lt;a href="https://en.wikipedia.org/wiki/Electronic_color_code#Color_band_system"&gt;10^n multiplier as in the electronic color
code&lt;/a&gt;.
Unsurprisingly, nobody actually does this in puzzle hunts,
and it made it impossible to extract the hex correctly because there
was even &amp;ldquo;rounding off&amp;rdquo; of the hexadecimal numbers involved.
So the first testsolve session went up in flames, oops.&lt;/p&gt;
&lt;p&gt;I over-corrected a bit after this where, in addition to making the colors simple digits,
I made the clue phrase for the next step a lot more explicit,
something like &amp;ldquo;resist &amp;gt; 8d int &amp;gt; hex &amp;gt; SSD &amp;gt; hex&amp;rdquo;.
The next test-solves returned a few more comments that
the puzzle felt a bit like &amp;ldquo;here is what to do, now do it&amp;rdquo;.
So over time, the clue phrase became less explicit until it was just &amp;ldquo;int=&amp;gt;hex=&amp;gt;SSD&amp;rdquo;.
That got better reviews, since it made things a little more rewarding.&lt;/p&gt;
&lt;p&gt;The other thing that happened is that the length of the puzzle
(in terms of the number of cells)
got increasingly short over versions.
There was a lot of concern that this puzzle was quite tedious
if you don&amp;rsquo;t know enough spreadsheet/coding to automate
transcribing the colors and bits and so on.
Earlier versions of the puzzle had 150ish cells;
the final version ended up with just 56.&lt;/p&gt;
&lt;p&gt;We also agreed that it was better to make the 1337-ing of the LED segments consistent;
it used to be that either 4 or A could be used, for example,
but it was changed to be always 4.
This meant that only 16 color patterns ever appeared,
which turned out to be not a big deal.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-bitsol.png" rel="noopener" target="_blank"&gt;&lt;img alt="The various encodings, with the consistent 1337
  to 7SD step." src="https://toa.evanchen.cc/mh-2021/images/mh2021-bitsol.png"&gt;&lt;/a&gt;&lt;figcaption&gt;The various encodings, with the consistent 1337
  to 7SD step.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The title of the puzzle used to be &amp;ldquo;I See The Light&amp;rdquo;,
but we agreed &amp;ldquo;A Bit of Light&amp;rdquo; was better.
The flavortext wasn&amp;rsquo;t really used in any solve, but we kept it because it was nice confirmation.
The extraction used to include a crossword type thing,
which was quickly deleted because it was completely un-thematic and didn&amp;rsquo;t add anything.&lt;/p&gt;
&lt;p&gt;One thing I&amp;rsquo;m grateful for was having everything automated at the beginning;
I basically had a Python script the whole time for building prototypes
and editing them.&lt;/p&gt;
&lt;h2&gt;2. &lt;a href="https://perpendicular.institute/puzzle/the-imo-shortlist/"&gt;The IMO Shortlist&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The basic idea behind the puzzle was:
solve some math problems, insert the proposing country into
the problem in some way, get a new country, and extract somehow.&lt;/p&gt;
&lt;p&gt;The first idea for how to insert the country was by using the
&lt;a href="https://en.wikipedia.org/wiki/List_of_country_calling_codes"&gt;calling code for the country&lt;/a&gt;
as a way to convert the input to a number.
It was immediately pointed out that this was totally unthematic,
so I dropped that idea pretty quickly.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s at this point I got the idea to use host countries of recent IMO&amp;rsquo;s,
say the year they hosted the IMO or the number of the IMO, etc.
I thought it would be cute if we used a different mechanism for each subject,
although this was in part necessary because it&amp;rsquo;s not easy at all to
write a reasonable-looking geometry question that gives a function from R to R.
So I chose the &amp;ldquo;three collinear points&amp;rdquo; gimmick for geometry,
and then noticed it lined up with the columns of IMO timeline, so used that for the rest.&lt;/p&gt;
&lt;p&gt;Anyways, this gave a way to change each old host year into a new year.
My original idea for extraction was that you could take these new years
and compare which of them had a real IMO problem attached by that year-number pair,
and find out that you get one of P1 through P6 exactly once.
The true proposing countries of these six problems could then be diagonalized
to extract a six-letter answer.&lt;/p&gt;
&lt;p&gt;This extraction crashed and burned during test-solving, for a few reasons.
First, the transformation I was specifying was a bijection from a set to itself,
and people usually expect this to give a cycle, which I didn&amp;rsquo;t use.
Secondly, there were just too many possibilities to make something this far-fetched reasonable,
e.g. whether to use the old year or the new year,
the old country or the new country or the true country, etc.
And third, data-mining the past shortlists was a royal pain
(I did try to &lt;a href="https://web.evanchen.cc/problems.html"&gt;plant the relevant data on my website&lt;/a&gt;
but that was after the fact).
We basically agreed that to make this mechanism work,
we would need a really explicit shell that would be sort of clunky and not too elegant.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-imo.png" rel="noopener" target="_blank"&gt;&lt;img alt="Definitely not planting data on my website." src="https://toa.evanchen.cc/mh-2021/images/mh2021-imo.png"&gt;&lt;/a&gt;&lt;figcaption&gt;Definitely not planting data on my website.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The good news was the feedback about the first part of the puzzle
was mostly positive, although the puzzle was possibly too difficult
(I remember hearing in feedback that the extraction felt &amp;ldquo;three steps too long&amp;rdquo;,
and that even without the extraction this would still probably be
one of the hardest puzzles in the Hunt.)&lt;/p&gt;
&lt;p&gt;As I thought about this a bit more, I started thinking about the cycle idea
that was pointed out (before this, I hadn&amp;rsquo;t known that bijections in puzzles
are often cycles), and thinking about what I could do if instead the extraction
led to a single cycle. It certainly occurred to me that there was one meme
that I could exploit for this: that A/C/G/N is almost exactly the same as A/C/G/T.
If I abbreviated &amp;ldquo;Number Theory&amp;rdquo; as &amp;ldquo;NT&amp;rdquo;, then I could use the resulting cycle
to spell out a short phrase using DNA codons, the answer.
This wasn&amp;rsquo;t too thematic, but then again it&amp;rsquo;s something that most people
who have done math contests extensively have noticed at some point or other,
and maybe it would be okay to use this idea now.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-isl.png" rel="noopener" target="_blank"&gt;&lt;img alt="Using the abbreviation &amp;quot;NT&amp;quot;. It's not an
  accident!" src="https://toa.evanchen.cc/mh-2021/images/mh2021-isl.png"&gt;&lt;/a&gt;&lt;figcaption&gt;Using the abbreviation &amp;ldquo;NT&amp;rdquo;. It&amp;rsquo;s not an
  accident!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;In building the cycle, there was an obvious bit of extra information:
the shortlist numbers themselves are never used (e.g. A1 vs A2).
So it was natural to have them be increasing in the correct order of the cycle,
i.e. A1 came before A2 in the cycle, A2 came before A3, etc.
This provided a strong confirmation that the cycle was the right thing to look at,
that the number of the problems is unimportant,
and it also gave a lot of error-correction to fix a few mistakes in the math problems.&lt;/p&gt;
&lt;p&gt;Anyways, this involved redoing a lot of the math problems,
which was &amp;ldquo;fun&amp;rdquo; :P&lt;/p&gt;
&lt;p&gt;One other thing that happened during test-solving: one group failed to realize
that combo was years instead of IMO number (like algebra)
until after they had finished the entire puzzle (error-correction works, hooray).
I fixed this by rewriting one of the problems (C3) so that
it was obvious the input had to be a year rather than a small number to feasibly work.&lt;/p&gt;
&lt;p&gt;The flavor-text is almost littered with clues (&amp;ldquo;stranded&amp;rdquo;, &amp;ldquo;timeline&amp;rdquo;, &amp;ldquo;official&amp;rdquo;).
The first couple pages of the PDF file were also added to clue a bit more heavily
what the solver was expected to do (originally, the proposing countries were alphabetical).&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-slcover.webp" rel="noopener" target="_blank"&gt;&lt;img alt="The cover page of the IMO Shortlist." src="https://toa.evanchen.cc/mh-2021/images/mh2021-slcover.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;The cover page of the IMO Shortlist.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;3. &lt;a href="https://perpendicular.institute/puzzle/escape-from-life/"&gt;Escape From Life&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://perpendicular.institute/puzzle/escape-from-life/solution/"&gt;author&amp;rsquo;s notes&lt;/a&gt;
for this puzzle give a summary of some of the thoughts behind this puzzle.
In short, Conway&amp;rsquo;s Game of Life has appeared before,
but it never seemed to be used beyond simply &amp;ldquo;run one generation&amp;rdquo;.
As I mentioned in my last post, I thought the
&lt;a href="https://conwaylife.com/wiki/List_of_common_still_lifes"&gt;elaborate list of names of still lifes&lt;/a&gt;
was a silly/fun source of puzzle material, and wanted to use it.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-ash.webp" rel="noopener" target="_blank"&gt;&lt;img alt="An example of an ash with cartoons substituted in,
  featuring MOOSE ANTLERS." src="https://toa.evanchen.cc/mh-2021/images/mh2021-ash.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;An example of an ash with cartoons substituted in,
  featuring MOOSE ANTLERS.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The basic premise of the puzzle (i.e. what I started with) was as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Solvers realize the silly images are Conway&amp;rsquo;s game of life structures.&lt;/li&gt;
&lt;li&gt;Solvers run a set of specified life seeds and match it to pictures.&lt;/li&gt;
&lt;li&gt;The life simulations have escaping gliders giving semaphore, so
  the matching now gives a grid of letters.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The presentation of the seeds for the simulation went some revisions.
Initially, I specified the coordinates as just text,
but changed this to a pictorial grid with numbers typed in
since there was a bit of confusion on which way the axes were indexed.
This was quite important for this puzzle &amp;mdash; a tiny error makes
the simulation completely useless, so it was imperative for solvers
that the right way to input things was completely unambiguous.
I learned this the hard way!&lt;/p&gt;
&lt;p&gt;(I also originally didn&amp;rsquo;t think to specify the orientation of the gliders,
since I thought that teams would probably be using a codable
simulator and just try all 4^4=256 ways.
Ha, ha, ha. We quickly reversed this decision.)&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-glider.webp" rel="noopener" target="_blank"&gt;&lt;img alt="The final format of the glider seeds.
  Solvers complete the squares to a glider in a unique way
  so they fly towards the center." src="https://toa.evanchen.cc/mh-2021/images/mh2021-glider.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;The final format of the glider seeds.
  Solvers complete the squares to a glider in a unique way
  so they fly towards the center.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Since the order of the seeds didn&amp;rsquo;t matter,
we sorted them alphabetically
(which gave a strong confirmation of the semaphore being correct).&lt;/p&gt;
&lt;p&gt;There was some discussion the whole way through of perhaps
presenting the seeds in a standard Life format like RLE,
because there was some mixed test-solving feedback about
how much work it was to plug these into a Life simulator:
essentially, some teams did the &amp;ldquo;right&amp;rdquo; thing and downloaded golly or similar,
but others were using various browser apps that were more clunky,
and the latter group of people did not have a good time running the simulations.
We eventually kept the human-readable format rather than the machine-readable format
because the step of figuring out how to fit the gliders to run towards
the center was at least a little interesting,
and because machine formats might carry &amp;ldquo;too much&amp;rdquo; information
(e.g. solvers might start reading into grid size, starting location, etc.)
and it was unclear why every scenario had exactly four gliders.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;For me the most difficult part of setting this puzzle was
what to do after obtaining the grid of letters.
I had an idea that you could try and place the 16 things into a grid,
and then run more Life so that the gliders collided further with each other.
This turned out to be infeasible and the idea didn&amp;rsquo;t go anywhere.&lt;/p&gt;
&lt;p&gt;The better idea I had was something like the following:
when the semaphore is matched onto the 4×4 grid, the solver gets&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;T&lt;/strong&gt;INT &lt;br /&gt;
L&lt;strong&gt;IF&lt;/strong&gt;E &lt;br /&gt;
&lt;strong&gt;EV&lt;/strong&gt;AL &lt;br /&gt;
GREY&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;and the cells with the capital letters above are tinted.
I was hoping that the solver could read out the letters &lt;code&gt;T-FIVE&lt;/code&gt;
which would helpfully tell the solver to run the simulation five steps
and end up with the correct answer &lt;code&gt;FLYER&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;There was one problem with this:
&lt;strong&gt;I could not get any of my simulations to produce two orthogonal gliders,
no matter how hard I tried&lt;/strong&gt;.
This was with my gaming PC doing glider collisions overnight.&lt;/p&gt;
&lt;p&gt;Alas this meant I could not spell the letter &lt;code&gt;F&lt;/code&gt; or &lt;code&gt;R&lt;/code&gt; using this method.
I tried to work around this by having one letter from each word
replaced by &lt;code&gt;X&lt;/code&gt; which the solver would have to fill in themselves,
hoping that was good enough.&lt;/p&gt;
&lt;p&gt;In test-solving, this went up in flames.
The random X&amp;rsquo;s actually convinced the solvers
that semaphore did &lt;em&gt;not&lt;/em&gt; work, and even after this,
the message &lt;code&gt;T-FIVE&lt;/code&gt; was apparently not noticeable.
We thought about a fix where we just told the solvers explicitly
to mirror the image once they had it, which would at least work,
but was not really elegant, in my opinion.&lt;/p&gt;
&lt;p&gt;For the next week, I played around with all sorts of terrible
alternative mechanisms to try and get something clean.
Almost nothing I tried worked;
the fundamental problem of being unable to construct the letter &lt;code&gt;F&lt;/code&gt; or &lt;code&gt;R&lt;/code&gt;
when my assigned answer was &lt;code&gt;FLYER&lt;/code&gt; made most things I did quite unnatural.
I didn&amp;rsquo;t sleep well those nights, because all I could think about
was how I was going to work my way out of this one.&lt;/p&gt;
&lt;p&gt;(One approach would have been to just give up on having 4-glider syntheses,
which I had decided on from the start.
But simulations with more than four gliders were annoying,
and the directions would become a lot more confusing.)&lt;/p&gt;
&lt;p&gt;It wasn&amp;rsquo;t until I had the idea of using a word square
that I finally made any progress.
Word squares have a lot of redundancy, so if I could specify the letters
in the &amp;ldquo;living&amp;rdquo; cells, the dead cells could also have any letter I wanted.
A-ha! I went and scraped Google for a compilation of word squares,
and started searching through it.
I eventually found one that seemed like it could work.&lt;/p&gt;
&lt;p&gt;So eventually, we managed to the get the 6×6 word square that
did make it into the final version.
I deliberately opted for a symmetric word square,
because I wanted to keep the number of simulations less than 20
(because of earlier feedback about the tediousness of using a bad simulator).
We added a &amp;ldquo;t+1&amp;rdquo; clue because &amp;ldquo;+1&amp;rdquo; was apparently not enough during testsolving.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-wordsquare.png" rel="noopener" target="_blank"&gt;&lt;img alt="The word square, all done!" src="https://toa.evanchen.cc/mh-2021/images/mh2021-wordsquare.png"&gt;&lt;/a&gt;&lt;figcaption&gt;The word square, all done!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;This was one of the few puzzles I wrote that have blanks in them,
in the image where the still-lifes were first identified.
Technically, I think some people could probably solve this puzzle without that image,
if glider synthesis was clued a bit more in a different way.
However, I thought this was a case where it&amp;rsquo;s more fun to break in
by figuring out the (in some cases, ludicrous) names of the still-lifes gradually,
and then being told explicitly to build the gliders with the resulting message.&lt;/p&gt;
&lt;h2&gt;4. &lt;a href="https://perpendicular.institute/puzzle/le-chiffre-indéchiffrable/"&gt;Le Chiffre Indéchiffrable&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;To be honest, this puzzle was on the verge of not making it.
In short, I had the idea of a Vigenere cipher using Unicode with a
foreign language key… and that was pretty much it, lol.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-lechiffre.webp" rel="noopener" target="_blank"&gt;&lt;img alt="It’s pretty minimalist as far as puzzle pages
  go." src="https://toa.evanchen.cc/mh-2021/images/mh2021-lechiffre.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;It’s pretty minimalist as far as puzzle pages
  go.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;The first draft was based on the idea that you have
some famous song (think Taylor Swift)
except it had been translated into some language L and back,
and you needed to figure out the language L.
This didn&amp;rsquo;t work &lt;em&gt;at all&lt;/em&gt;,
because there isn&amp;rsquo;t any good way to do this other
than brute-force languages in Google Translate.&lt;/p&gt;
&lt;p&gt;The second idea was that each key was the name of a KPop band
and the plaintext was the song lyrics of one of their songs.
It turns out there are a lot of KPop bands whose names can be read
as a number like Iz*One, TWICE, GOT7, etc.
Well, it turns out &lt;a href="https://reddothunt.sg/2020/solution/site-visits"&gt;this was done already&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So I kind of gave up and just made a maximally uninspired extraction
where you just take the first letters of song titles.
We decided to get a test-solve of this,
where it naturally got pretty low ratings,
but by luck, &lt;a href="https://blog.vero.site/post/2021-hunt"&gt;Brian Chen testsolved it&lt;/a&gt;
and mentioned Google Translate Sings as possibly thematic puzzle material.&lt;/p&gt;
&lt;p&gt;I had never heard of Google Translate Sings,
but when I did, I realized I now had puzzle data:
&lt;em&gt;there was a canonical episode number for all the songs&lt;/em&gt;.
After doing a cursory search for &amp;ldquo;puzzle hunt&amp;rdquo; and &amp;ldquo;google translate&amp;rdquo;
to confirm this hadn&amp;rsquo;t been done already, I went for it.&lt;/p&gt;
&lt;p&gt;Anyways, at this point, the parameters I had to play with were:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Choose a language for the key&lt;/li&gt;
&lt;li&gt;Choose a language for the plaintext&lt;/li&gt;
&lt;li&gt;Choose the content of the key&lt;/li&gt;
&lt;li&gt;Get an episode number for the plaintext&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I had the idea that we could run a &amp;ldquo;do it again&amp;rdquo;,
in which the key itself was a Unicode character,
while the episode number from the plaintext was what you subtracted from.
That left the languages free to vary,
and I wanted to &amp;ldquo;use up&amp;rdquo; this information,
so I rigged the first letters to spell &amp;ldquo;FANDOM&amp;rdquo; and &amp;ldquo;NUMBER&amp;rdquo;,
to make sure the episode numbers were hinted specifically.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-lang.png" rel="noopener" target="_blank"&gt;&lt;img alt="Rigging the languages to spell out a cluephrase." src="https://toa.evanchen.cc/mh-2021/images/mh2021-lang.png"&gt;&lt;/a&gt;&lt;figcaption&gt;Rigging the languages to spell out a cluephrase.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;One small wrench in this plan was that there was a Genius listing
for Google Translate Sings that was (a) incomplete, (b) had wrong numbers.
I had to carefully make sure to select songs that didn&amp;rsquo;t appear in Genius,
in order to make sure anyone who found the Genius page knew immediately
that it wasn&amp;rsquo;t what they were looking for.&lt;/p&gt;
&lt;p&gt;The other wrench is that the Malinda Wiki is not that frequently updated,
so some of the more recent songs I needed were not there.
So, I am the proud author of the
&lt;a href="https://malinda.fandom.com/wiki/Google_Translate_Sings:_Never_Gonna_Give_You_Up?oldid=3562"&gt;Never Gonna Give You Up page&lt;/a&gt;.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-rickroll.webp" rel="noopener" target="_blank"&gt;&lt;img alt="The song is great, by the way." src="https://toa.evanchen.cc/mh-2021/images/mh2021-rickroll.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;The song is great, by the way.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;It was also a bit constraining what Unicode characters I could use for the keys,
because I needed to make sure the translation of the key back into English
was recognizable (it wasn&amp;rsquo;t always).
One other thing I did here was specifically use NULL (unicode point 0)
as one of the characters, as a de-confirmation of several wrong approaches
like trying to index by the Unicode number somehow.&lt;/p&gt;
&lt;p&gt;We gave the first key to the solver because
we wanted the solver to first have a confirmation they understand
the Unicode Vigenere correctly before going on to try and do cryptanalysis.&lt;/p&gt;
&lt;h2&gt;5. &lt;a href="https://perpendicular.institute/puzzle/blind-calculation/"&gt;Blind Calculation&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This was pretty straightforward.
I saw the answer &lt;code&gt;PRODUCT TESTING&lt;/code&gt; in the pool,
and looked at my abacus,
and was like, &amp;ldquo;huh, the abacus has a grid&amp;rdquo;.
So the idea to have a mapping Braille and the abacus was born.&lt;/p&gt;
&lt;p&gt;Well, actually, to be pedantic, I own a &lt;em&gt;soroban&lt;/em&gt; specifically
(rather than the Chinese &lt;em&gt;suanpan&lt;/em&gt;).
Anyways, in keeping with the Japanese roots of the soroban,
I thought it would be appropriate to use Japanese Braille
rather than standard Braille, which was nice.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-soroban.webp" rel="noopener" target="_blank"&gt;&lt;img alt="The soroban as it appears in the puzzle." src="https://toa.evanchen.cc/mh-2021/images/mh2021-soroban.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;The soroban as it appears in the puzzle.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I was a bit worried about the cluephrase &lt;code&gt;SEIHIN TESUTO&lt;/code&gt;
not being unambiguous enough,
though test-solvers seemed to get it fine.
(There was a suggestion at some point of adding an enumeration 7 7,
but by coincidence this is exactly the number of rods,
which probably would have led to some red herrings.)&lt;/p&gt;
&lt;h2&gt;6. &lt;a href="https://perpendicular.institute/puzzle/clueless/"&gt;Clueless&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Quoting from the &lt;a href="https://perpendicular.institute/puzzle/clueless/solution/"&gt;Author&amp;rsquo;s Notes&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;After &lt;a href="https://hanab.live/scores/vEnhance"&gt;playing maybe too many hours of Hanabi during quarantine&lt;/a&gt;,
I knew I wanted to write a Hanabi puzzle for the Mystery Hunt as well,
especially after seeing
&lt;a href="https://teammatehunt.com/puzzles/fire-quackers"&gt;a Hanabi duck konundrum&lt;/a&gt;
in the inaugural teammate hunt.&lt;/p&gt;
&lt;p&gt;When I played Hanabi at summer math camps as a teenager,
the only conventions we would have were play left, discard right,
(forward) finesses, and the &amp;ldquo;fake finesses&amp;rdquo; (a worse form of the bluff).
Plays and saves weren&amp;rsquo;t even clearly differentiated.
Thus our win rate was quite low,
and it was not until I played with a more well-developed convention set
that I started appreciating the complexity (and fun) of Hanabi.&lt;/p&gt;
&lt;p&gt;So, I wanted to develop a puzzle that would
showcase at least some of that complexity.
Since it&amp;rsquo;s so difficult to use &amp;ldquo;conventions&amp;rdquo; as a puzzle mechanic,
I settled on the idea of using the notion of &lt;em&gt;pace&lt;/em&gt; for a logic-only puzzle
(without regards for &lt;em&gt;efficiency&lt;/em&gt;,
a measure of how much information is communicated by clues).
The idea that the number of discards is limited,
and clues can be used not just to indicate cards but also to &lt;em&gt;stall for time&lt;/em&gt;,
gave me a mechanic that I thought would be new even and interesting
even to people who may have casually played Hanabi before.
It was a lot of fun during test-solving
to watch groups slowly realize (and then prove)
that no cards could be discarded in the second scenario.&lt;/p&gt;
&lt;p&gt;For extraction, choosing the plans was a fun exercise in Nutrimatic,
since if I used a &amp;ldquo;random&amp;rdquo; string,
it would be too easy to figure out which letters overlap
just by looking at which cards were still left to play.
Various strings that appeared in one version or other,
often that &lt;em&gt;barely&lt;/em&gt; didn&amp;rsquo;t work:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;TRUST MY LOGIC&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;A GENIUS LEVEL IQ&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AN EXPLOSION FINESSE&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CRISIS SAVING SKILLS&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also originally considered using
&lt;a href="https://en.wikipedia.org/wiki/Tap_code"&gt;tap code&lt;/a&gt;
for the encoding of the letters,
but this seemed like an un-thematic complication that was quickly scrapped.&lt;/p&gt;
&lt;p&gt;I didn&amp;rsquo;t really want to use the crossword cluephrase &lt;code&gt;FINAL PROPOSAL&lt;/code&gt;,
but the current answer has the unfortunate property that
it is almost uniquely determined by the first two letters,
so this was necessary to prevent solvers from short-circuiting the
puzzle too prematurely.&lt;/p&gt;
&lt;p&gt;The title of the puzzle was suggested by Danny Bulmash.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;During test-solving, most people figured out Hanabi
and the letter encoding pretty quickly
(and there is a lot of confirmation both are correct)
As I mentioned in the previous post,
there used to only be four scenarios, but we added a fifth easy one
to make the rules more well-defined after the first test-solve group struggled.
In addition, the plan was moved to the bottom and de-emphasized,
since the first test-solving group tried to use them too early;
we also added &amp;ldquo;starts&amp;rdquo; to make it clear that the first player starts.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-hanabi.webp" rel="noopener" target="_blank"&gt;&lt;img alt="The eventual presentation of the puzzle." src="https://toa.evanchen.cc/mh-2021/images/mh2021-hanabi.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;The eventual presentation of the puzzle.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;One of the things that was hotly debated was the &amp;ldquo;Chances: m of n!&amp;rdquo; notation.
Technically, the number m is not needed at all,
and it seems like it would be more straightforward to say &amp;ldquo;n left&amp;rdquo; or similar.
However, I wanted to include it anyways for a few reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I felt it was thematic.&lt;/li&gt;
&lt;li&gt;Writing n! communicated clearly that it was the deck order, rather than say turns left.&lt;/li&gt;
&lt;li&gt;It emphasizes that the team is super unlikely to win
  (which I think is important for telling solvers the route is unique).
  For example, I think test-solve groups used the fact that 2 in 720 is not reduced.&lt;/li&gt;
&lt;li&gt;It helps check-sum that the solution is right.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Incidentally, I&amp;rsquo;m almost more proud of the solution write-up
than the puzzle itself &amp;mdash; it took a lot of time for me to put together.&lt;/p&gt;
&lt;h2&gt;7. &lt;a href="https://perpendicular.institute/puzzle/nutrition-facts/"&gt;Nutrition Facts&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This was also a pretty quick puzzle.
One of the remaining puzzle answers was &lt;code&gt;GOOD FAT&lt;/code&gt;,
which motivated me to look at some nutrition fact containers
and think about how the numbers there could be made into a puzzle.
Well, numbers correspond to letters, so those bold numbers could be put to good use…&lt;/p&gt;
&lt;p&gt;I was reminded about the 9-4-4 rule I learned in grade school,
which meant there was a natural way to link the numbers &amp;ldquo;hidden in plain sight&amp;rdquo;.
I originally wanted to let calories be the unknown number to compute,
since it was the biggest number and if it was missing,
everyone would think to compute it right away.
However, it was hard to get that to work with A1Z26,
since the calories number was usually going to be more than 100,
making it awkward to naturally map the calorie numbers to letters,
even if I allowed scaling by 10 or 100 or whatever.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s when I had the idea to make protein the hidden number instead,
because for unknown reasons, the percent on protein is usually missing.
That worked much better with A1Z26 and completed the puzzle.&lt;/p&gt;
&lt;p&gt;Similar to Le Chiffre, I included one example food, a &lt;code&gt;HERRING&lt;/code&gt;,
so that the solvers knew what was going on.
This also gave me one extra degree of freedom to let the total
number of calories of all the foods equal 2000;
not strictly necessary, but it was a nice artistic touch.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-nutrition.webp" rel="noopener" target="_blank"&gt;&lt;img alt="SVG pie chart. When you hover over in the real puzzle,
  the highlighted section changes
  and a different color is revealed." src="https://toa.evanchen.cc/mh-2021/images/mh2021-nutrition.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;SVG pie chart. When you hover over in the real puzzle,
  the highlighted section changes
  and a different color is revealed.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;Originally, I just had a pretty dorky pie chart with food images pasted on to it,
but during the post-prodding I had a bit more fun making an
interactive pie chart with HTML that hovered over the image.&lt;/p&gt;
&lt;h2&gt;8. &lt;a href="https://perpendicular.institute/puzzle/divided-is-us/"&gt;Divided Is Us&lt;/a&gt;, written with Jakob Weisblat&lt;/h2&gt;
&lt;p&gt;As written in the &lt;a href="https://perpendicular.institute/puzzle/divided-is-us/solution/"&gt;author&amp;rsquo;s notes&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This was the last puzzle to be written for the 2021 MIT Mystery Hunt.
At a meeting in late December,
the editors announced there was exactly one answer remaining,
and it was a teamwork time puzzle.
As it happens, I was thinking earlier that day how
we didn&amp;rsquo;t have our obligatory Baba puzzle yet,
and the idea for the puzzle was born.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(I should say now that actually there was one other puzzle that was
written after this: &lt;a href="https://perpendicular.institute/puzzle/better-bridges/"&gt;Better Bridges&lt;/a&gt;,
which was a last-minute backup puzzle.)&lt;/p&gt;
&lt;p&gt;To look into whether this was feasible,
I did some research on open-source Baba Is You libraries.
I settled on using &lt;a href="https://github.com/utilForever/baba-is-auto"&gt;baba-is-auto&lt;/a&gt;,
although the library is still a work-in-progress as far as I can tell,
and I needed to do some editing of the library to make it work.&lt;/p&gt;
&lt;p&gt;Anyways, yeah, the premise was co-operative Baba puzzles,
where there were different blocks for the various players.
The obvious options for the win condition would be &amp;ldquo;win if anyone reaches the goal&amp;rdquo;,
or &amp;ldquo;win if everyone reaches the goal&amp;rdquo;, but the intermediate option of
having YOU reach the goal turned out to work the best.
(This was not immediately obvious to teams during test-solving even a few levels in,
so we had to rewrite the intro level to make it more blatant.)&lt;/p&gt;
&lt;p&gt;Meanwhile, I had the thought that it would be cool if
the game slowly revealed that everyone was seeing parts of the same &lt;em&gt;world&lt;/em&gt;,
and say, around level 4 or so, you would suddenly realize this
when someone moved their icon onto another player&amp;rsquo;s screen.
Accordingly, we hid the &amp;ldquo;other player&amp;rdquo; viewports until after this revelation
(at which point some people wondered if they had simply not noticed
those viewports all along).&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/mh-2021/images/mh2021-baba.webp" rel="noopener" target="_blank"&gt;&lt;img alt="The fifth level of Divided Is Us.
  One player in each quadrant." src="https://toa.evanchen.cc/mh-2021/images/mh2021-baba.webp"&gt;&lt;/a&gt;&lt;figcaption&gt;The fifth level of Divided Is Us.
  One player in each quadrant.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I&amp;rsquo;m pretty happy with the extraction:
I think it&amp;rsquo;s a good example of how you can embed encodings in unexpected places.
Here, I took advantage of the fact that the game was secretly one world
in order to put semaphore and Braille (conveniently, flags are not too conspicuous)
and it was a lot of fun to watch people realize this around level 6 or 7,
as they were reaching the final level.
However, I also couldn&amp;rsquo;t resist using the names of the various icons.
It was convenient that many of them were four letter words.
Anyways, the answer &lt;code&gt;SECOND GRAND ALLIANCE&lt;/code&gt; is pretty long,
so there was enough space to use one mechanism per word.&lt;/p&gt;
&lt;p&gt;(I did sort of break one puzzle design rule here:
you couldn&amp;rsquo;t finish the puzzle without solving every Baba level.
This went okay in test-solving though.)&lt;/p&gt;
&lt;p&gt;There were two design choices I wish I had done differently:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We tried to set the game so that each person got assigned a player,
  which wouldn&amp;rsquo;t change if they refreshed the page.
  This ended up causing issues when websockets got disconnected
  or the server went down or whatever,
  causing certain player slots to get locked out.
  It wasn&amp;rsquo;t too hard to work around (e.g. using private windows)
  but it did annoy a bunch of the teams.&lt;/li&gt;
&lt;li&gt;We didn&amp;rsquo;t show the total number of levels, which I regret a bit.
  I think it would have been more fun for people to realize they were getting to the end.
  Also, in one case a team managed to prove to themselves the penultimate
  level was not solvable, and was unsure what to do from there.
  Had we put a more obvious level indicator, this could have been a bit clearer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Finally, while I&amp;rsquo;m here,
I&amp;rsquo;d like to thank &lt;a href="https://www.hempuli.com/"&gt;Arvi Teikari&lt;/a&gt;
for the permission to use the game concept and art for this puzzle.&lt;/p&gt;
&lt;h2&gt;Closing thoughts&lt;/h2&gt;
&lt;p&gt;I was pretty pleasantly surprised by how many puzzles I was able to produce
over the span of the hunt-writing process.
The larger puzzles here on average took over my life for a week,
and Shortlist and Escape From Life took even longer.
It helped a lot that I was taking time away from school this year;
I think otherwise there isn&amp;rsquo;t any way I would have been able to find enough time
to put these puzzles together.&lt;/p&gt;
&lt;p&gt;On the flip side though, I think I&amp;rsquo;ve just about used up all my puzzle ideas
for the foreseeable future. (At least I say that now.)
But I don&amp;rsquo;t have any regrets about this.
I&amp;rsquo;m not sure I&amp;rsquo;ll have a chance to write for the Mystery Hunt ever again,
so I&amp;rsquo;m glad I was able to make the most of this chance I got,
and I couldn&amp;rsquo;t have asked for a better team to have write the Mystery Hunt with.&lt;/p&gt;</content><category term="Puzzles"/><category term="mystery hunt"/><category term="puzzle hunt"/></entry><entry><title>Some puzzle-writing thoughts from an amateur</title><link href="https://toa.evanchen.cc/puzzle-writing/" rel="alternate"/><published>2021-02-18T01:37:00-05:00</published><updated>2021-02-18T01:37:00-05:00</updated><author><name>Evan Chen 《陳誼廷》</name></author><id>tag:toa.evanchen.cc,2021-02-18:/puzzle-writing/</id><summary type="html">&lt;p&gt;The &lt;a href="https://perpendicular.institute/"&gt;2021 Mystery Hunt&lt;/a&gt;
concluded a while ago, and wow, what an experience.
I was lucky enough to be on the organizing team,
and I am so proud right now to be able to say I am a ✈️✈️✈️ Galactic Trensdetter ✈️✈️✈️.
(If you don&amp;rsquo;t know what a puzzle hunt is,
&lt;a href="https://blog.vero.site/post/puzzlehunts"&gt;betaveros has a great introduction&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;I came in to the MIT Mystery Hunt with no writing experience at all,
and ended up being listed as the author of a few.
It was a trial by fire, to say the least.&lt;/p&gt;
&lt;p&gt;In this post I want to say a bit about the parts
of the puzzle-writing process that surprised me the most,
in the hopes that maybe it would be helpful to future authors.
A nice introduction is given by e.g.
&lt;a href="http://www.mit.edu/~dwilson/puzzles/puzzlewriting.html"&gt;David Wilson&lt;/a&gt;,
which I read many times before I actually attempted to write my first puzzle.
Most of what …&lt;/p&gt;</summary><content type="html">&lt;p&gt;The &lt;a href="https://perpendicular.institute/"&gt;2021 Mystery Hunt&lt;/a&gt;
concluded a while ago, and wow, what an experience.
I was lucky enough to be on the organizing team,
and I am so proud right now to be able to say I am a ✈️✈️✈️ Galactic Trensdetter ✈️✈️✈️.
(If you don&amp;rsquo;t know what a puzzle hunt is,
&lt;a href="https://blog.vero.site/post/puzzlehunts"&gt;betaveros has a great introduction&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;I came in to the MIT Mystery Hunt with no writing experience at all,
and ended up being listed as the author of a few.
It was a trial by fire, to say the least.&lt;/p&gt;
&lt;p&gt;In this post I want to say a bit about the parts
of the puzzle-writing process that surprised me the most,
in the hopes that maybe it would be helpful to future authors.
A nice introduction is given by e.g.
&lt;a href="http://www.mit.edu/~dwilson/puzzles/puzzlewriting.html"&gt;David Wilson&lt;/a&gt;,
which I read many times before I actually attempted to write my first puzzle.
Most of what&amp;rsquo;s said here repeats or builds off of what is already there.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Spoiler warning&lt;/em&gt;: this post contains
minor spoilers for some of my (Evan&amp;rsquo;s) puzzles,
but nothing that would completely ruin the puzzle.
The eight puzzles I made major contributions for the 2021 hunt are
&lt;a href="https://perpendicular.institute/puzzle/a-bit-of-light/"&gt;A Bit of Light&lt;/a&gt;,
&lt;a href="https://perpendicular.institute/puzzle/blind-calculation/"&gt;Blind Calculation&lt;/a&gt;,
&lt;a href="https://perpendicular.institute/puzzle/clueless/"&gt;Clueless&lt;/a&gt;,
&lt;a href="https://perpendicular.institute/puzzle/divided-is-us/"&gt;Divided Is Us&lt;/a&gt;,
&lt;a href="https://perpendicular.institute/puzzle/escape-from-life/"&gt;Escape From Life&lt;/a&gt;,
&lt;a href="https://perpendicular.institute/puzzle/le-chiffre-indéchiffrable/"&gt;Le chiffre indéchiffrable&lt;/a&gt;,
&lt;a href="https://perpendicular.institute/puzzle/nutrition-facts/"&gt;Nutrition Facts&lt;/a&gt;,
&lt;a href="https://perpendicular.institute/puzzle/the-imo-shortlist/"&gt;The IMO Shortlist&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;0. Overview&lt;/h2&gt;
&lt;p&gt;When I first went in to puzzle writing,
I had the idea that a puzzle was a series of steps
that the solver takes to go from the initial data to an answer.
The puzzle-designer&amp;rsquo;s job was to make figuring out the steps challenging but rewarding
(rather than trivial or frustrating).
This point of view is really focused on the &lt;em&gt;mechanical&lt;/em&gt; part of the puzzle.&lt;/p&gt;
&lt;p&gt;After my hunt experiences, I found myself internally guided
by splitting puzzle-writing goals into two &lt;em&gt;orthogonal&lt;/em&gt; parts:
the &lt;em&gt;mechanical&lt;/em&gt; half and the &lt;em&gt;aesthetic&lt;/em&gt; half.
(Or if you are feeling zen, &amp;ldquo;science&amp;rdquo; and &amp;ldquo;art&amp;rdquo;.)
The mechanical part refers to the details of how the solver
works through the puzzle, but the aesthetic part refers to
things like the theming of the puzzle or so on.
I&amp;rsquo;ll talk a bit more about these below.&lt;/p&gt;
&lt;h2&gt;1. Finding a core mechanism&lt;/h2&gt;
&lt;p&gt;I think the thing that was most helpful for me in starting
was to &lt;strong&gt;be on the lookout for things that &amp;ldquo;feel puzzly&amp;rdquo;&lt;/strong&gt;.
I&amp;rsquo;m still not sure exactly what I mean when I say that,
but I think I vaguely mean things satisfying one or more of the following criteria:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Thing is very &amp;ldquo;well-defined&amp;rdquo;; for example,
  it has a canonical reference you can find on the Internet.&lt;/li&gt;
&lt;li&gt;Thing has a grid.&lt;/li&gt;
&lt;li&gt;Thing lends itself to puns or wordplay.&lt;/li&gt;
&lt;li&gt;Thing has a natural mapping,
  e.g. a way to turn a number into a word (say, episode numbers of a show).&lt;/li&gt;
&lt;li&gt;Thing has numbers that work well with A=1, B=2, … Z=26.&lt;/li&gt;
&lt;li&gt;Thing has a concept of compass directions for
  &lt;a href="https://en.wikipedia.org/wiki/Flag_semaphore"&gt;flag semaphore&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://devjoe.appspot.com/huntindex/index/keywords.html"&gt;devjoe&amp;rsquo;s index&lt;/a&gt;
is useful both for getting ideas,
and also to make a routine search of whether an idea you have is already used.
For example, when writing the &lt;a href="https://perpendicular.institute/puzzle/the-imo-shortlist/"&gt;IMO Shortlist&lt;/a&gt;,
the first thing I did was look through to see if math contests
more generally had been done in any Mystery Hunt (answer: no).&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m already starting to mention encodings,
so I&amp;rsquo;ll do that now for those of you that have never seen them.
Basically, there is a list of puzzle encodings that all
experienced solvers are expected to be able to notice in Mystery Hunt.
This has the upshot that they can be used freely in puzzles!
Examples are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anything with numbers could be A=1, B=2, … Z=26.&lt;/li&gt;
&lt;li&gt;Anything with a grid could be &lt;a href="https://en.wikipedia.org/wiki/Braille"&gt;Braille&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Anything with directions at all could be &lt;a href="https://en.wikipedia.org/wiki/Flag_semaphore"&gt;semaphore&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Any time you have a bunch of strings, the first letters might spell a message.&lt;/li&gt;
&lt;li&gt;Any time you have a sequence with exactly two kinds of objects
  (ones or zeros, on or off, true or false, red or blue, dot or dash)
  consider binary (which could then become letters by A1Z26)
  or occasionally Morse code.&lt;/li&gt;
&lt;li&gt;Any time you have words of the same length, see if their letters overlap.&lt;/li&gt;
&lt;li&gt;Any time you have a bijection f from a set to itself,
  you should see if that function forms a cycle.
  If so, take that as an ordering.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The &lt;a href="https://blog.vero.site/post/puzzlehunts#how-to-extract-the-answer"&gt;extraction part of Brian Chen&amp;rsquo;s introduction to puzzle
hunts&lt;/a&gt;
goes over all of these in more detail.&lt;/p&gt;
&lt;p&gt;!&lt;a href="https://toa.evanchen.cc/puzzle-writing/images/puzzled-pint-sheet.webp"&gt;Table of common encodings from
  &lt;a href="http://puzzledpint.com/files/2415/7835/9513/CodeSheet-201912.pdf"&gt;puzzledpint.com&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Examples of moments in my life when I saw something and said
&amp;ldquo;this would be good puzzle material&amp;rdquo;, and flew with it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://perpendicular.institute/puzzle/blind-calculation/"&gt;Blind Calculation&lt;/a&gt; came about
  because I was staring at an abacus on my table and saw a grid.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://perpendicular.institute/puzzle/escape-from-life/"&gt;Escape From Life&lt;/a&gt; came about
  because I thought that &lt;a href="https://conwaylife.com/wiki/Main_Page"&gt;this website (spoiler)&lt;/a&gt;
  was a puzzle gold-mine.
  (I had a lot of fun drawing a SHIPTIE as a ship with a tie.)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://perpendicular.institute/puzzle/nutrition-facts/"&gt;Nutrition Facts&lt;/a&gt; came about
  because I was staring at a nutrition facts label
  and noticed how there were a lot of numbers with relations between them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One thing I occasionally found helpful was to &lt;strong&gt;start with the answer to the puzzle first&lt;/strong&gt;
to help narrow down the focus a bit.
For the 2021 MIT Mystery Hunt, there was a big pool of several hundred answers,
about 50 of which were for the Students round
(shorter easy puzzles, like the fish puzzles from 2015).
The Students answers were put in a big pool,
and you could request one of them to start and then write a puzzle with it.
&lt;a href="https://perpendicular.institute/puzzle/blind-calculation/"&gt;Blind Calculation&lt;/a&gt; and &lt;a href="https://perpendicular.institute/puzzle/nutrition-facts/"&gt;Nutrition Facts&lt;/a&gt; were both started this way,
where I was first given the answer to the puzzle,
and then I started looking for objects that both felt puzzly and fit thematically.
But it&amp;rsquo;s not necessary; the other six puzzles I wrote were because
I had an idea in an area I knew well, came up with a mechanism,
and got an answer assigned once I had a plan written out.&lt;/p&gt;
&lt;h2&gt;2. Aesthetic&lt;/h2&gt;
&lt;p&gt;I think the thing that surprised me most is that you can have a really
successful puzzle which is almost trivial mechanically
(in the sense the solver has pretty clear instructions
on what to do the entire way through).
For example, this year&amp;rsquo;s hunt featured a puzzle called &lt;em&gt;Boggle Battle&lt;/em&gt;
where most of the work to be done was playing cooperative
&lt;a href="https://perpendicular.institute/puzzle/boggle-battle/"&gt;Boggle&lt;/a&gt;
with friends, and the only &amp;ldquo;puzzly&amp;rdquo; part was the extraction.
Similarly, &lt;a href="https://perpendicular.institute/puzzle/so-you-think-you-can-count/"&gt;So You Think You Can Count&lt;/a&gt;
has minimal puzzle elements, and doesn&amp;rsquo;t have an extraction at all
(upon reaching 100, the solvers are simply given the answer).
They both got high ratings during testsolving
because the solvers had fun anyways.&lt;/p&gt;
&lt;figure&gt;&lt;a href="https://toa.evanchen.cc/puzzle-writing/images/mh2021-firefly.png" rel="noopener" target="_blank"&gt;&lt;img alt="Helpful Firefly, an iconic character from
  So You Think You Can Count?" src="https://toa.evanchen.cc/puzzle-writing/images/mh2021-firefly.png"&gt;&lt;/a&gt;&lt;figcaption&gt;Helpful Firefly, an iconic character from
  So You Think You Can Count?&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;I think the conclusion I drew from this was that while mechanics are important
(e.g. things like checksumming, eliminating false trails, no extra information, etc.)
caring about the aesthetics of the puzzle is more important.
(Of course, like many things in life, they are not completely orthogonal:
thematic coherence is one of the best confirmations a puzzle-solver can have
when they have a guess at the next step.)&lt;/p&gt;
&lt;p&gt;In particular, one useful guideline is to &lt;strong&gt;consider cutting any steps
that don&amp;rsquo;t feel thematically coherent&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;But this was not always a prohibition!
For example, despite the advice that it&amp;rsquo;s better to have only one a-ha per puzzle,
I found out that I could generally get away with having multiple a-ha&amp;rsquo;s
for a puzzle as long as all of them felt &lt;em&gt;thematically coherent&lt;/em&gt; with each other.
&lt;a href="https://perpendicular.institute/puzzle/le-chiffre-indéchiffrable/"&gt;Le chiffre indéchiffrable&lt;/a&gt; is a decent example of this in my opinion,
where despite multiple steps and moving parts,
the steps all seem to resonate with each other.&lt;/p&gt;
&lt;p&gt;An anti-example of this might be the extraction step of &lt;a href="https://perpendicular.institute/puzzle/the-imo-shortlist/"&gt;IMO Shortlist&lt;/a&gt;,
which arguably felt a little out of place, although I ended up keeping it anyways
for lack of a better alternative.&lt;/p&gt;
&lt;h2&gt;3. Writing&lt;/h2&gt;
&lt;p&gt;Once I had the general mechanism for the problem down,
there were often still a lot of smaller local decisions to make
as I composed the puzzle.
Editors were helpful at this step to provide feedback;
but there are some guidelines that I would constantly check against
during the writing process (preemptively addressing concerns).&lt;/p&gt;
&lt;p&gt;Some examples (by no means the only ones):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Do whatever you can to confirm correct paths, e.g. make it so that
  if a solver tries the right thing, they immediately get a confirmation of some sort.&lt;/li&gt;
&lt;li&gt;Try to make sure all the information is used, and minimize arbitrary choices.
  For example, alphabetize things when the given order doesn&amp;rsquo;t matter.
  (There are some exceptions to this, e.g. one common puzzle mechanic
  is that you have a sea of letters and draw some lines, and look
  at the intersected letters.
  &lt;a href="https://puzzlepotluck.com/3/19"&gt;Thor&lt;/a&gt; from puzzle potluck 3 is an example.
  Necessarily, some of the &amp;ldquo;distracting&amp;rdquo; letters are never used.)&lt;/li&gt;
&lt;li&gt;Provide enough redundancy or checkpoints so that a team
  can still solve the puzzle even with a few errors.
  For example, you might try to set things up so that one error
  leads to just a single garbled letter in a phrase which can be noticed
  and fixed; or, if you have a list of objects to identify,
  having them in alphabetical order will also help fix mistakes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Basically, I would constantly put myself into the shoes of the solver.
At each milestone in the puzzle,
I would imagine what they were looking at, and how they might react it.
I often paid special attention to thinking about
what feedback they would get if they did the correct thing,
and what feedback they would get if they made a mistake
(e.g. &amp;ldquo;if they make a small error here, the number they get probably
won&amp;rsquo;t be an integer, so they&amp;rsquo;ll know right away they made a mistake&amp;rdquo;),
and what possible wrong paths the solver could take.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s also worth paying a bit of attention to &lt;strong&gt;accessibility&lt;/strong&gt; of the puzzle.
For my puzzles, this mostly consisted of:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adding alt-texts to images (especially any text in the image).&lt;/li&gt;
&lt;li&gt;Including enlarged versions of any image I used
  (typically, if you click an image, it opens the full-resolution image).&lt;/li&gt;
&lt;li&gt;Keeping colorblind or black/white printing in mind when choosing colors
  (or choosing not to use colors).
  Though I had to violate this blatantly for &lt;a href="https://perpendicular.institute/puzzle/clueless/"&gt;Clueless&lt;/a&gt;,
  where the exact choice of colors was important to the puzzle.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;4. Testsolving&lt;/h2&gt;
&lt;p&gt;If you are a software programmer, then debugging is part of your life.
No matter how experienced you are,
you are going to have some bugs in your code.
The compiler will catch some of them; testing will catch others.
You might have fewer bugs over time as you get more experienced,
but they will never go away completely.&lt;/p&gt;
&lt;p&gt;I think the same is largely true for puzzle-writing.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t mean this in the sense that the puzzle will literally have an outright error or typo
every so often (though if we&amp;rsquo;re being honest here, all my first drafts sure did).
What I really mean is that,
the first version of the puzzle will have unexpected issues,
and often the only reasonable way to find them out is through test-solving.
I had the common experience of watching my puzzle completely fall apart
because the solvers were doing something totally different from what I wanted.&lt;/p&gt;
&lt;p&gt;For example, in &lt;a href="https://perpendicular.institute/puzzle/clueless/"&gt;Clueless&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &amp;ldquo;(starts)&amp;rdquo; text wasn&amp;rsquo;t there originally.
  I thought it was clear that 1 should start.
  The test-solvers didn&amp;rsquo;t, and tried to get scenarios to work
  by having 2, 3, or 4 start instead.&lt;/li&gt;
&lt;li&gt;The texts like &amp;ldquo;FIVES WIN THIS&amp;rdquo; used to be at the top in bold,
  and test-solvers tried to use this information too early
  in ways that to me made no sense.
  I tried to move it the bottom to make it less prominent.&lt;/li&gt;
&lt;li&gt;There used to only be four scenarios, but the solvers got stuck quickly.
  It was necessary to add one easy scenario to help as a foothold
  to clarify what rules were allowed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the programming analogy, the editors are the compilers:
they try to point out preliminary issues.
The test-solvers are the unit tests.
Since test-solver time is a valuable resource,
it&amp;rsquo;s important to have a version that is ready to testsolve for them,
but at the same time, I wish I hadn&amp;rsquo;t agonized so hard sometimes
on minor decisions before testsolving,
because the feedback from testsolving often led to huge revisions anyways.&lt;/p&gt;
&lt;p&gt;So, even though I mostly worked without coauthors,
the editors and test-solvers were the primary source of feedback
for revising the puzzle.&lt;/p&gt;
&lt;h2&gt;5. Closing thoughts&lt;/h2&gt;
&lt;p&gt;This is all for now.
I&amp;rsquo;m hoping to make a later post with more details
about the creation process of each of the eight individual puzzles mentioned above.&lt;/p&gt;
&lt;p&gt;In the meantime, I&amp;rsquo;d like to give one last shout-out to everyone on Galactic
who helped me so much in getting onboarded into the puzzle-writing process.
Thanks y&amp;rsquo;all!&lt;/p&gt;</content><category term="Puzzles"/><category term="mystery hunt"/><category term="puzzle hunt"/></entry></feed>