Two hundred puzzles, fifty weeks later by CJ Q. '23
a post of galactic proportions
This post contains spoilers for the theme and structure of MIT Mystery Hunt 2021, which are unmarked. This post will contain spoilers for some puzzles, which will be marked.
Organizing this post was a pain, because the experience of writing a hunt involves so many different things that I’d imagine different people are interested in. In the end, I decided that I’m just going to write about everything I’m interested in. Which is everything, including all the dry details that’ll be boring to anyone but me. I’m granting you the permission to skip every section that looks like it won’t be interesting.
Most of what I’ll be writing about is what others contributed to the Hunt, and I will strive to assign credit where it’s due. But I’ll probably neglect several things and overemphasize others, especially parts that I contributed to more.
Thanks to ✈✈✈ Galactic Trendsetters ✈✈✈ for reading and giving comments on drafts of this incredibly long post, and Alan for editing.
- So your team won the Mystery Hunt
- How to write a puzzlehunt
- From the new world
- Why is everyone on a video call?
- Becoming stronger
- Mystery Hunt, Mystery Hunt!
- Heart and soul
So your team won the Mystery Hunt
What is a puzzlehunt?
First off. I made a post about last year’s Hunt, which also has an explanation of what a puzzlehunt is, so you can look at that. But the tl;dr is that a puzzlehunt is an event where teams compete to solve a series of puzzles. Each puzzle solves to an answer, which is typically some English word or phrase. Here are some puzzles from this year’s hunt that I think are good introductions:
- Don’t Let Me Down, the puzzle in this year’s hunt that got the most solves.
- At A Loss For Words, a cute minimalist puzzle.
- Relitasti, a charmingly illustrated puzzle about pasta.
- Lime Sand Season, one of the puzzles written last-minute but still ended up being very well-loved.
- ✏️✉️➡️3️⃣5️⃣1️⃣➖6️⃣6️⃣6️⃣➖6️⃣6️⃣5️⃣5️⃣, a puzzle where you had to send text messages to the phone number in the title, a good example of “literally anything could be a puzzle”.
There’s also the excellent DP Puzzlehunt, a puzzlehunt aimed at beginners that introduces a lot of puzzlehunt tropes. Puzzlehunts have become more and more accessible since the last post I wrote, so it’s a great time to start puzzling!
Of course, puzzlehunts aren’t just about the puzzles. In my previous post I strived to present puzzlehunts as a very human phenomenon, emphasizing not just the puzzles, but the story and art and production value, the relationships between the people in a team, and the relationships between teams. And after spending a year writing for the hunt, I think it’s all the more true that puzzlehunts aren’t just about puzzles, and I hope this post will outline the reasons why.
Finally, this is probably the best time to talk about all my favorite puzzles before your attention span disappears, so I’ll just list them here, in the order they appear in the All Puzzles page: ✏️✉️➡️3️⃣5️⃣1️⃣➖6️⃣6️⃣6️⃣➖6️⃣6️⃣5️⃣5️⃣, Enter the Perpendicular Universe, Exactly, Over 9,000: an Abbreviated Yet Awesome Tour Of Your First Equally Excellent Puzzle Mechanic, Simmons Hall, MacGregor House, Student Center, Love at 150 km/h, Successively More Abundant in Verbiage, So You Think You Can Count?, Squee Squee, Baseball, 100…00116, Circular Reasoning, PClueRS, Nutraumatic, Enclosures, Bingo.
Top-level organization
Last year, I hunted with ✈✈✈ Galactic Trendsetters ✈✈✈. We solved a bunch of puzzles. We found the coin, and won the Mystery Hunt. Then what?
Immediately after the wrap-up, people started a Discord server for people who would help write the 2021 hunt. We used Discord for organizing our work for the 2020 hunt, and supposedly Galactic has been using Discord for the past four years or something, so it was the obvious choice. Discord is also excellent for having great search features and having an archive of all the messages, which was an incredibly useful reference for writing this post.
Not everyone in the winning team ends up writing with them, so the team often splinters into a separate group for a year before merging again the next year. So I was quickly faced with the decision of whether or not I wanted to write for the next hunt. I realized that I probably wouldn’t get another chance like this for the rest of my undergrad, so I jumped on it.
Then there were the meetings. Galactic writes a yearly puzzlehunt called, aptly, the Galactic Puzzle Hunt, and the GPH team needed to decide what was going to happen with that. They decided not to run GPH 2020. Some of the members of Galactic had a meeting with some of the members of Left Out to talk about transitional things: sharing documents, survey results, talking about the timeline, logistics, stuff like that. There was also a meeting with the MIT Puzzle Club, the student organization in charge of liaising between the writing team and MIT.
The first team-wide meeting was two Mondays after the hunt ended, so the last Monday of January. In the kickoff meeting we began elections for the Benevolent Dictator, discussed some of the proposed hunt design goals, talked about the theme proposal process, and sketched out the creation schedule. The purpose of the BD is to direct the flow of hunt design, and have the final say in the decision process, hence the “dictator” part. But the BD is also benevolent, which is why the BD would lead the team through voting and committee forming and other such decisions. Plus, BD is a cooler name than president.
We elected Jakob and Josh01 Breaking admissions blog convention here; many of the people I mention are MIT alumni but several aren't, and I also don't know everyone's years off the top of my head, so I just won't write years. as our BDs, and then the theme proposal committee was formed through some process I don’t quite remember. It might just have been “whoever volunteered”.
Below the BDs are the exec team. There’s the editors-in-chief, who are in charge of leading puzzle writing and editing. There’s a director, in charge of things like the story, interactions, and keeping the pulse on hunt experience. Then there’s a archivist, treasurer, and ombudsperson, which sound exactly like they sound like. After we decided the theme, we elected the exec team. This happened on the last week of February; you can view the elected exec on the hunt credits page.
And then there are the various subdirectors, which were appointed, not elected. We had directors for art, story, and events, which are what they sound like, all kinda under the director. We had our website tech lead, who was, yes, in charge of the website. And because the theme we selected involved programming an entire MMO, we also had a game server lead. Again, these are all in the hunt credits page.
The overall structure is thus kinda sorta shallow? A lot of power is vested in individual groups and people to make decisions, with democratic votes only being done in things like electing the exec positions, theme selection, and some major logistical decisions that were made later. Again, the whole group contributes to decision-making, but the final say rests with relatively fewer people.
I guess the only real thing I can compare this to is ESP, and in that sense it’s actually pretty similar. ESP has its exec roles, and then it has the program directors, and then there are the subdirectors, and subdirectors are given the freedom to make their part of the program their own. I’m not sure how other organizations feel like.
One last thing that I wanted to mention is that we had exec meetings on Monday nights, beginning in late March. At first they was every two weeks, and by December they was every week. The exec meetings were a chance for all of the subgroups to give their own reports about their progress, so it was a nice way to hear about how all the different parts of the hunt were going. In that sense they were kinda like ESP meetings.
Design goals
One of the first things discussed was the hunt’s overall design goals. It might seem that there’s not much point to this, which was what I thought at first: doesn’t everyone agree what a good hunt looks like? Well, even good hunts vary in several parameters: some are aimed at smaller or larger teams, some are a few hours long while others last weeks. Even within the bounds of an MIT Mystery Hunt, which has a pretty set format of “weekend-long, two hundred or so puzzles, has scavenger hunt and events and interaction and story”, there’s still lots of room for variation. And even then, there’s also the question of which goals are more important than others.
A survey was sent out before our first meeting soliciting what people wanted the goals for the hunt to be. The two biggest responses were to give a satisfying experience for all teams, not just top ones, and to innovate02 Original phrasing being TRENDSET the Mystery Hunt. within the bounds of the hunt. The second goal here is actually kinda notable; taking a risk writing our first Mystery Hunt wasn’t a straightforward decision. It was something people wanted nonetheless.
After the meeting, a goals committee was formed to write a design goals document outlining our “mission statement”, in a sense. If memory serves, this was formed once again from “whoever volunteered”. They had a meeting and wrote up an excellent document listing some philosophical goals and target metrics.
“Fun for all teams” ended up being the first listed goal, and I think for good reason. Catering to teams of all sizes and skill levels sounds like something that should be obvious, but being intentional about it helped a lot in theme proposal and initial decisions. Many of the proposals had a demarcated intro round or mid-hunt runaround, meant to be satisfying milestones for teams of different sizes. Another subgoal that emerged from this goal was to “have a good hint system”.
I think we had some ambitious metrics for this one. For example, we wanted 10 teams to finish the hunt this year, which to me felt like a big number, since last year it felt like only two or three teams finished it. We also wanted 20 teams to reach the hunt midpoint, and 50 teams to have some sort of interaction. To help achieve this goal, we aimed for the coin to be found on Sunday morning, but to keep hints and interactions going until Monday morning, if possible.
The other big philosophical goal was balancing innovation, quality, and workload. GPH is known for being innovative in the sense of having ambitious themes, interesting structures, and non-traditional, interactive puzzles. We wanted to bring some of that to the Mystery Hunt, and have it throughout all the parts of the hunt, so that it’d be seen by teams of all sizes. But we didn’t want to compromise on the quality, and we also wanted to keep the hunt writing experience fun for us.
Some other design goals that don’t fit within these two big ones. We wanted to leave the hunt finances and puzzlewriting tools in a better place than where they started. We wanted to be willing to delay unlocking metas. We didn’t want final puzzles to be difficult or aha-based. We also wanted to support remote teams where possible, which, given what happened this year, was one of the goals we definitely achieved…
Creation schedule
One of the things we touched on in the kickoff meeting was the overarching timeline to get the hunt written. We selected by the end of February, exec and subdirectors were picked by March, most metas were written by mid-May, three “Big Test Solves” happened in August, October, and December, and all puzzles were testsolved by the beginning of December.
The theme we selected involved creating an entire virtual world of MIT’s campus, where the rounds would be buildings. Selecting the theme brought its own set of deadlines to the table. I’ll touch more on the timeline of this virtual world, the MMO, later. Roughly, it was released for testing in May, and we also used the MMO during each of the Big Test Solves to find puzzles.
Of course, COVID happened. We had been thinking about it since March, and a COVID committee was formed in July to make decisions about what was going to happen to the hunt. The final decision was made in August, after plenty of surveys and discussions about the choices.
There were a handful of times we fell behind schedule, but it turned out fine in the end, since the schedule was designed to accommodate some slack anyway. This is another thing I learned from ESP: always include some amount of slack in the timeline, even if you think you won’t need it. It’s a rare occurrence when a program we run doesn’t have to adjust one deadline or another.
Theme proposal and selection
We talked a little about the theme proposal process in the kickoff meeting, and it took us most of February to choose a final theme. We had dozens of theme ideas in the days after hunt ended, and to help narrow them down, we required proposals to have a proposal document. This document consisted of the theme’s title, a short pitch for the theme, a description of its plot and rounds, reasons to pick that theme over other themes, and some risk analysis.
Each proposal had a small set of authors. Although anyone could contribute to a proposal, each person could only be the author of at most one proposal. People who weren’t proposal authors could be part of the theme proposal committee, which helped authors make revisions in their proposal. Then the proposals would be cut to a shortlist of at most five proposals by approval vote, these proposals would be developed even more, and then there’d be a final vote for the theme.
The proposals that weren’t selected have to remain secret, but I can give numbers. We had nine proposals by early February, which were cut to three by February 12. After another week to develop the three proposals, we had a meeting on February 24 where the authors presented their themes and anyone could ask questions about them. The final theme was selected on February 26 through STAR voting.
So yes, we knew very early on that the hunt would have a virtual MIT—in fact, the original proposal called for it, describing it as a “persistent, multiplayer online server”. The theme became known as the MMO theme, and we’d refer to it internally as “the MMO” for pretty much the rest of the year.
People got passionate about the theme proposal process. I’ve seen thousands of words, concept art, demos, even metas, all written for themes that ultimately did not make the cut. The contributors for each proposal became an informal subgroup, holding meetings to workshop and refine ideas. I myself became pretty passionate about a theme that didn’t make it past the approval voting phase, so I could definitely understand that feeling.
There was a lot of discussion about the pros and cons of selecting each theme, which at times felt pretty intense. Consider the MMO theme, for example. The work involved in making the MMO and the risk of technical issues was a topic people argued about many times. Lots and lots of pages were written about the MMO during the theme selection process.
I was afraid that the theme selection process alone would cause hurt feelings within Galactic. But in the end, people argued hard, the MMO theme was selected, and then we all came together and wrote a Mystery Hunt. Which was kinda nice, I guess. Strong opinions, weakly held.
The original theme proposal
The MMO proposal was titled “From the New World”. One of the core authors on the theme, Nathan, wrote a post about Hunt, including a lot of thoughts about the theme, and it’s really good and you should read it. But here are some of my thoughts about it:
- A lot of the story is pretty much unchanged from the original proposal. For example, consider names. The name Barbara S. Yew was in the original proposal. Robin was originally Dr. Robin Octree rather than Robin Vogel. J Linden was called True J,03 True J lives on as the name of one of our Discord bots. One of True J's responsibilities, for example, is rebuilding the MMO. and Professor Hemlock was known as Professor Fusion. Originally, Professor Fusion was an impostor Yew rather than a separate person.
- The broad strokes of the story were also the same: Professor Yew gets stuck in the other universe. Teams fix a device in the intro round to access the MMO. Power is restored to the portal to bring Professor Yew back, except Professor Fusion comes back instead. Both professors are returned to their original universes and there’s a final search to find the coin. Things would be transferred between universes using a portal. Here’s some early concept art from Lillian.
- Probably the biggest difference from the original proposal was cutting runarounds. There was supposed to be an intro runaround to assemble the “dimensional device”, then a mid-hunt runaround to power the portal that sends Professor Fusion through. Both were cut. The original proposal also called for the hunt midpoint to happen after fixing certain rounds, but this was eventually changed to just be a timed event.
- The final runaround of the original proposal was also pretty much kept, although it did go through several revisions before ending up there, which I’ll talk about later. But the original version goes like this. Professor Yew used a coin in the alternate universe in a vending machine to get a cup of coffee. After recovering the coin, it warps and enlarges. Professor Yew then attempts to use it in a vending machine, fails, and then gives it to the team as a memento. As our actors didn’t have access to campus, that last part had to be cut, but the plan always was for the coin to be a mundane, normal coin.
- The details of the MMO and how it interacted with puzzles were all in the proposal, and were all mostly unchanged. Several of the rounds were also in the original proposal. I won’t go into this too much, but I think this shows how thoroughly the proposers thought about the MMO when they proposed it.
How to write a puzzlehunt
Life cycle of a Mystery Hunt
After the theme was decided, the metas could be written. A metapuzzle is something like the capstone puzzle of a round; it uses all the puzzles in the round as “feeder” answers, and these answers are used as inputs to the metapuzzle to produce another answer. Typically a Mystery Hunt is structured such that once you finish the meta for a given round, then your team is done for the round, and once your team solves all the metas you initiate the endgame. Their importance means that metas tend to be constrained by the theme, and they need to be anchored to the plot as a whole.
A puzzlehunt’s structure, then, means that it needs to be written backwards. The metas get written, and these give the answers for the puzzles. Then the puzzles are written to solve to the given answers.
Our meta writing process consisted of a bunch of brainstorming sessions to get an overall sense of what the hunt would look like. All of the metas had Jon and Rahul, our two editors-in-chief, assigned as editors. The EiCs were the ones in charge of helping develop the ideas and getting the metas testsolved. They also had the more global role of keeping the total number of rounds and puzzles reasonable.
Metas tend to be blockers to a team’s progress, so they needed thorough testsolving to make sure they had the right difficulty. The rule of thumb is that a metapuzzle should be solvable with around three-fourths of a round’s answers, and not solvable with much less than that. To simulate how solving metas would work in the hunt, testers were given some number of answers, and they could ask for more answers every once in a while.
All of our metas got three to four successful testsolves, and to my knowledge all of them were revised several times in the process. Once the EiCs were satisfied with the meta, its answers were then released, so puzzles could now be written for these answers.
The meta writing process began in March, after the MMO theme was selected. The initial goal was to get all answers released by mid-May. This didn’t quite happen, as it turns out. Most of the answers were released by then, but the Tunnels answers were released in June, and the Athletics answers were released in September.04 Apparently they could've been released earlier, but the delay was for deciding whether or not to include the round in the first place, since there were concerns about hunt being too long.
Puzzles got written throughout the whole year, with the important deadline being that all puzzles were finalized by the beginning of December. This didn’t quite happen, although almost all of our puzzles were testsolved by then.
Some puzzle-related decisions
Beginning with August through December, other puzzle-related things needed decisions: how answers would be called in, the hint system, and the rate at which puzzles are unlocked.
For Mystery Hunt, the fact that they’re called answer call-ins tells about their history. It used to be the case that a team would call HQ, state their team name, the puzzle, and the answer, and then HQ would confirm whether or not their answer was right. By 2010, possibly earlier, it changed to a queuing system. Teams would use the website to put their phone number in the queue, and then HQ would call them and ask them to spell the answer, letter by letter.
Even later, answer call-ins became answer callbacks. The team would submit the answer on the website, and then a few minutes later someone in HQ would call them and confirm whether or not their answer was right. Last year, the Left Out decided to switch to automated answer checking, in which teams simply typed in the answer on the website and got instant confirmation of whether they were right or wrong. People had mixed reactions about this; see this blog post and its comments for some discussion.
Galactic had its own discussion about whether or not to keep answer checking, and we made the decision to keep it. We then needed to make the decision about lockout. After all, we didn’t want teams to guess every word in the dictionary. Left Out had their own lockout algorithm. Our policy ended up being more forgiving than theirs:05 I'm informed that this was intended to be stricter, but I don't think this is true. three incorrect guesses in a round locks out submissions for five minutes, but each puzzle has two free guesses that don’t count towards that limit.
Then we needed to decide what the hint system would be. For the hint system itself, we decided to copy Left Out’s system. Teams could have one hint request open at a time, but could otherwise request freeform hints for any puzzle they’d unlocked hints for. Hints were unlocked for a puzzle once thirty teams had solved it and after some amount of time had passed since the team unlocked the puzzle. Freeform hints are the best for getting teams unstuck, but it also meant answering hints took some effort on our part. GPH has found that having canned hints, or pre-written hints that hint-givers could edit, helped save time answering hints.
And then there was figuring out the rate of puzzle unlocks. This mostly involved modeling how teams would solve puzzles, which is inherently difficult to predict. Our editors, mostly Jon, Rob, and Yannick, had several spreadsheets, a Python simulation, and even a machine learning model, to get the numbers right. The final details06 Boring numbers incoming. ended up being something that, in my opinion, was pretty elegant.
The intro round, Yew Labs, had its own unlocking schedule: four puzzles unlocked initially, then solving a puzzle unlocked approximately one more. For all other rounds, there’s a number called JUICE, which teams accumulated by solving puzzles, and more puzzles were unlocked once enough JUICE was collected. Each puzzle contributed 100 JUICE to its own round, and 10 JUICE to all other rounds, with some exceptions. Metas contributed no JUICE, except for Twins and Level One, which were normal puzzles. Athletics puzzles contributed 10 JUICE to all other rounds, and Student puzzles contributed 5 JUICE everywhere.
The numbers that had to be controlled, then, were the puzzles unlocked at certain amounts of JUICE. Setting JUICE thresholds involved making sure that puzzles unlocked at a steady pace, so that big teams had enough puzzles unlocked at any given moment. This number is known as the width or diameter07 Dan Katz notes in a comment to his blog post that Setec <a href="https://puzzlvaria.wordpress.com/2021/01/20/2021-mit-mystery-hunt-part-1-whoosh-big-picture-pros-and-cons-nyeeeow/comment-page-1/#comment-4758">calls this <em>girth</em></a>. Interesting. the number of unsolved puzzles a team was actively working on. I believe we aimed to have a width of a dozen puzzles at the largest.
Students were unlocked at a rate of one student per 15 JUICE. For most rounds, a new batch of puzzles was unlocked every 100 to 200 JUICE or so, and metas were unlocked towards the end of the round, rather than the beginning.08 For some reason, we internally called this <em>the Jon strategy</em>. We all tend to like the Jon strategy, although supposedly it's controversial? I wouldn't know. The first puzzles of each round were unlocked with enough JUICE: ⊥IW.giga unlocked with 100 JUICE, Stata unlocked with 300 JUICE, Clusters unlocked with 600 JUICE, and Tunnels unlocked with 800 JUICE. This meant that solving 10 puzzles in other rounds unlocked ⊥IW.giga, 30 puzzles in other rounds unlocked Stata, and so on. The exceptions were the Athletics round, where puzzles were unlocked at certain times, and the Charles River, where all the puzzles were events.
We had several simulations to predict when each round would get unlocked and solved by certain teams. For example, over a hundred simulations, the median simulated solve time09 I have no idea what the median is being taken over, actually. Or which teams were being modeled by the simulation. Ask the editors, not me? for the intro round was Friday 4 PM, and conservative estimates for the first solve time was Friday 2:30 PM. These simulations were used to adjust thresholds until we predicted the coin would be found on Sunday morning. These were also used to set “JUICE infusions”, which eventually unlocked all puzzles for all teams. JUICE could also be used to accelerate the hunt if the BDs and EiCs deemed it necessary, which fulfilled our goal of “have knobs and dials to control the rate of the hunt”. Although I don’t have all the data in front of me right now, it’s my understanding that our predictions held up pretty well.
Write, testsolve, revise!
The process that puzzles get written involves several steps, organized through this helpful app called Puzzlord.10 This is a pun on the Pokémon <a href="https://bulbapedia.bulbagarden.net/wiki/Guzzlord_(Pok%C3%A9mon)">Guzzlord</a>, which says a lot about our sensibilities. Puzzlord is Galactic’s version of Puzzletron, a piece of software passed down from generations of past writing teams.
One important concept in puzzle writing is that every puzzle gets assigned two editors, who are in charge of guiding its development. Editors are volunteers who’ve either edited previously for GPH or have written a puzzle before. The editors all had a weekly meeting where they talked about the state of the hunt’s puzzles. The one biggest factor in making my puzzles better was the work my editors brought to the table, which speaks a lot to their patience in working with me, a puzzle novice.
The process a puzzle gets written goes like this. First the author adds an entry to Puzzlord, which begins at the status “Initial Idea”. Once it’s ready enough, the author changes the status to “Awaiting Editor”. Puzzlord shows these puzzles to the EiCs, who are technically spoiled on every puzzle. The EiCs assign two editors and change the status to “Awaiting Review”. The editors then review the puzzle, and then send it to either “Idea in Development”, to mark it for further development before getting giving the go signal to write the puzzle, or they grab an available answer11 If you were wondering why so many puzzles seem to be oddly tailored to their answers, this is the reason why: often the answers are matched to the puzzle, or the puzzle written to have a certain answer. and send it to “Writing (Answer Assigned)”.
Once the puzzle has an answer assigned, the authors then write the puzzle to solve to the answer. This is the stage in which the editors then repeatedly poke the authors to get their puzzle written. Once ready, authors can send it to “Awaiting Approval for Testsolving”, and when the editors approve so, the puzzle gets send to “Testsolving”.
Our testsolve coordinator, Rob, then assembles a group to testsolve the puzzle. Anyone on the team can also independently form a group to testsolve any puzzle in testsolving. The group makes a testsolve session on Puzzlord, and once they solve (or fail to solve) the puzzle, they can leave feedback and rate the puzzle’s difficulty and fun. Testsolving is different from regular puzzlehunt solving in that the groups are relatively fixed, and the time limits are more relaxed, with some testsolves staying open for several days. After a testsolve, the authors and the editors decide whether the puzzle goes to “Revising”, where it gets revised before being sent to testsolving again, or to “Needs Solution”. We aimed for each puzzle to get two clean testsolves before proceeding.
Once a puzzle is past testsolving, it then goes through the production pipeline. Authors write the solution and then send it to “Needs Postprod”. Postprod here stands for post-production, which is the process of converting the puzzle and its solution from, typically a Google Doc, to a webpage that gets served on the hunt website. Sometimes this is as simple as converting it into HTML, sometimes it involves some fancier formatting, and sometimes it involves making interactivity work.
Once the authors or postprodders are finished, they move the puzzle to “Needs Factcheck”. Factchecking is the process of making sure a puzzle works correctly, has no ambiguities, and is accessible. One way to think about it is that factcheckers try to minimize the number of errata sent during the hunt, although that’s only one of their responsibilities. Factcheckers make sure that images, logic puzzles, and crossword clues meet certain standards.
Factcheckers can send the puzzle back to “Revising” if it needs big revisions, or “Needs Minor Revisions” to request some small revisions. From “Needs Minor Revisions” authors can then send it to “Needs Copy Edits”. Factcheckers can also send it to “Needs Copy Edits” directly. Then the copy-editors, well, copy-edit the puzzle, and request whatever changes needed.
Then the copy-editors send it to “Needs Hints”. The authors then add some pre-written hints that hint-givers can edit to give teams during the hunt. When they’re done, they request approval from their editors, who can then (finally!) send the puzzle to “Done”.
Writing puzzles is hard
Spoilers for the puzzles Everybody Dance Now and Charisma.
There are two puzzles in the hunt that I could truly claim a decent amount of author credit for: Everybody Dance Now and Charisma. These puzzles do have their own authors’ notes, which you can read if you want more information, but I suppose I’ll talk a bit more about things that didn’t quite make the authors’ notes.
Everybody Dance Now is the first puzzle I wrote for this hunt, which means that it’s the first puzzle I wrote, ever. Its production was stalled for quite some time. It was in Puzzlord since January, only started development during April, and only got ready for testsolving in June. A lot of the stalling was because the idea for the puzzle evolved several times, from using bigons to homophones to logic puzzles to other things. The final puzzle didn’t end up being very puzzly nor very novel, but I’m very proud of it nonetheless.
Charisma is a wonderful example of how helpful feedback was for making my puzzle. My two editors, Rob and Chris, as well as Jakob, who testsolved an earlier revision, really deserve the credit for coming up with many of the ideas. It was Rob who had the idea of using music videos, Chris who had the idea of making a word search, Jakob who convinced us it was feasible, and all three of them helped with constructing the grid for the puzzle. This is definitely a puzzle I couldn’t have written alone, and finishing this puzzle definitely made me feel more confident in my abilities.
I think the thing about puzzle ideas is that they aren’t cheap. That is to say, it’s easy to come up with the theme of a puzzle, but coming up with the actual mechanism is much harder. As a novice author, my first instinct was “I want to write a puzzle about X”, as David Wilson so clearly states in his puzzlewriting guide. And all of the puzzle ideas I placed on Puzzlord were “I want to write a puzzle about X”. There’s a theme, which is one part of the puzzle, but the mechanism just wasn’t there.
And the mechanism is the hard part, and the part I struggled a lot in coming up with. The first drafts for Charisma, for example, were all basically ISIS puzzles.12 Short for Identity, Sort, Index, Solve, a type of puzzle whose steps are identify, sort, index, solve. Not particularly original by any stretch. To be fair, these were the things I came up with four months after my first big puzzlehunt. Now, I’ve solved thrice as many puzzles as I have since when I first had these ideas, and my puzzle ideas now are… still pretty bad. Eh. They’ll get better with more time, I suppose.
Some comments on rounds
Spoilers for the metas for Yew Labs, Green Building, Rule of Three, Twins, and MacGregor House.
My general feeling is that the 2020 Mystery Hunt had a theme that was relatively unconstrained meta-wise. The hunt was about a theme park, and many things could be the theme for a theme park; there was a Grand Castle and YesterdayLand and Spaceopolis. That freedom allowed Left Out to write brilliant rounds like Safari Adventure or Creative Picture Studios. On the other hand, our theme was slightly more constrained: the metas had to be themed around MIT buildings and locations. I think this worked out to be to our advantage in the end, in the way that restrictions breed creativity.
The wrap-up talks about some of the metas and some info behind the scenes, and many of the metas have authors’ notes in the solution page. But here are some things that didn’t quite make it to the authors’ notes:
- We had a lot of different ideas for the name of MIT in the alternate universe. Before then, we mostly called it “altMIT”. The two main options seemed to be either having the acronym TIM, as in the Technical Institute of Mysteries, or ⊥IW, as in the puzzles.mit.edu/2021 of the World.13 One proposal for the W was <em>wechnology</em>, which I thought was brilliant. Of course, I was a proponent for <a href="https://www.youtube.com/watch?v=_lMu8V5Xa90"><em>wumbology</em></a> myself. I think WIT was also on the table or something like that. The final decision was influenced by the Yew Labs meta, Enter the Perpendicular Universe.
- The Green Building meta was the first one to be written for the hunt, written even before the theme was selected. The original proposal, in fact, required 22 feeder puzzles, rather than the 13 there are now.
- The Stata Center meta is hands down the puzzle in our hunt that was most heavily testsolved. This was because it was revised multiple times, and due to the size of the puzzle it needed around five to seven people per testsolve. It was testsolved to the point that during one of our Big Test Solves, we had a hard time finding people who weren’t spoiled on the puzzle to work on it.
- Rule of Three, the metapuzzle for ⊥IW.giga, was nerfed during the hunt after the BDs and EiCs deemed it necessary. The original puzzle didn’t have the image of the three circles in the bottom. I wasn’t there for it, but I imagine it was a pretty tense decision after seeing the lack of progress in that round. I always felt that Rule of Three was one of the most challenging metas in our hunt, and it took us several hours in our testsolve to realize it was about syzygies. Ah well.
- Another fact about the ⊥IW.nano metas that wasn’t mentioned in the wrap-up: they had a three-two-one motif! Rule of Three, then Twins, then Level One.
- The MacGregor House meta is truly brilliant. A truly masterful piece of work. Our hunt will be remembered for many things, but the sublime genius of this elegant metapuzzle will be talked about in hushed whispers of awe hundreds of years from now. I tell you now: there will never, ever be a Mystery Hunt with a meta involving two feeders, ever again.
- It was mentioned in the wrap-up that the Athletics round was the last round to be added to the hunt, but it wasn’t mentioned that we added it in September, three months after we’d finalized every other meta! Each of the three Athletics subrounds were themed around a different kind of puzzle, and the Basketball puzzles were all puzzles that needed teamwork. The Basketball puzzles were some of the last puzzles to be written for the hunt: the answers for You Will Explode If You Stop Talking and Divided Is Us were assigned in December, and Boggle Battle was first implemented in early January. By then, the answers were unclaimed for so long that most of the testsolvers knew what the final answer was.
Non-author’s notes
Spoilers for the puzzles Unmasked, ★, An American in Paris, Dolphin, Squee Squee, Questionable Answers, and the Clusters meta.
I’ve enjoyed getting to know all of the puzzles in the hunt. It feels so, so satisfying to know how every puzzle in this hunt works. Throughout the year, I’ve gotten to see these puzzles develop, and so I have some notes about them. These didn’t make it into their authors’ notes, because they’re from me, and I am not an author for these puzzles. I really don’t want to steal the authors’ thunder, so please do look at the original puzzles and their solutions, and take my comments with several grains of salt.
These puzzles are in order of how they’re listed in the list of puzzles page. There’s more comments about puzzles I testsolved specifically, but that’s in a later section.
- Common Knowledge, Circles and Simplicity. All of these are minimalist puzzles by Lewis. All of these are ones I kind of struggled with in testsolving. All of these are puzzles I deeply admire for being so simple, and I one day wish to write puzzles as elegant as these.
- Unmasked. The only reason I have coauthor credit here is because Mark saw EIDOLON, wanted to write a Worm puzzle, and grabbed me. And then Mark did all of the work; I only helped with writing a handful of crossword clues. I’m particularly proud of “A terrible wingman, if they disliked time?”
- ★. Fun fact: none of the testsolves actually solved the Miracle Sudoku. Also, the only reason this puzzle got written is because Mitchell Lee, the author behind the famed Miracle Sudoku, is part of the writing team. He aptly co-authored Fun With Sudoku and The Greatest Jigsaw, which was originally a Samurai Sudoku.
- Fun fact 2: One day, we were talking about Sudokus with few given digits. The next day, Mitchell sent a message saying he would never make a Sudoku just to have very few given digits. Immediately after, he posted what would become the Miracle Sudoku. It only took a couple of days for Cracking the Cryptic to make a video about it, which became their second most viewed video of all time.
- Over 9,000: an Abbreviated Yet Awesome Tour Of Your First Equally Excellent Puzzle Mechanic. This didn’t end up being in the authors’ notes, but you should read this excellent Reddit comment about its construction.
- An American in Paris. I helped provide the Tagalog clue, and my friend, Pleng, provided the Thai. Feedback from after the hunt indicated that the Thai was one of the harder clues to piece together for this puzzle, with even native speakers having a challenging time figuring it out. Oops, I guess?
- Complexity Evaluation. In case you missed it, the author is Josh Alman, who was one of the co-authors of this seminal paper on matrix multiplication. That paper is the subject of this SMBC comic. If being in an SMBC comic isn’t fulfilling a life goal, I don’t know what is. Also, this puzzle spawned this excellent tweet.
- Dolphin. I was the factchecker for this puzzle, which meant I had to watch fifteen GameCube commercials over and over to verify that the quotes were only said once, and that they unambiguously solved to the given answer. It was at that moment I understood how difficult and important a job factchecking was. I ended up factchecking no other puzzles.
- Love at 150 km/h. I love luge. And I love this puzzle. Please look at this puzzle. Please enjoy all the beautiful art and music for this puzzle. It is brilliant. A true work of art.
- Powerful Point. The author’s notes for this puzzle is one of the best in the entire hunt, in my opinion.
- Athletics navigation puzzle. For this navigation puzzle, Josh, Yannick, and I went around campus and took pictures one December morning. As suggested by the following picture, I do not know how footballs work. Did you know that Josh bought these balls in a Black Friday sale?
- Squee Squee!. The (intended) final step for this physical puzzle is smashing the pig to extract a sheet of paper to get the answer. We got a lot of hint requests and emails about this. Quote one email: “You ask if we have it in us to do unspeakable things to our pig, seconds after telling us we’ve done a great job raising and caring for her?!”
- Treasure Maps. Mark jokes in the author’s notes that this is meant as a response to “all the music ID puzzles that I find impossible to solve.” It turns out that the kinds of puzzles I like writing tend to be the polar opposites of what Mark appreciates, like Everybody Dance Now. (He did tell me he likes Charisma, so that’s something.)
- Doing Some Gardening. For the longest time the title of this puzzle was “A Garden”. It made it all the way to the “Done” status on Puzzlord before we realized that the Clusters meta required its title to start with D, not A. Oops.
- Clusters meta. This was one of the metas that had to be revised after we made the decision to go remote. Previously, the separation between Greek and Latin words was even clearer, because the puzzles with Greek answers you’d have to find in MIT, and the puzzles with Latin answers you’d have to find in ⊥IW. The meta ended up being workable without that, though.
- It’s Tricky. I swore to myself that I would never make a TikTok account, but unfortunately, I have succumbed as a victim of this puzzle and have appeared in a TikTok. I have helpfully linked the TikTok video here, but I am only doing this so that people don’t talk about it too much in the comments. Dear readers, have pity on me and my dance skills.
From the new world
The play within a play
The wrap-up presentation has a lot of discussion about prototypes and concept art, and I want to go into a little more detail in this section.
The earliest prototypes for the MMO were the 2D Pokémon-style ones shown in the slides, which already existed in February. The prototype was made in HaxeFlixel, the same game library used to make Love at 150 km/h. It’s fitting since Nathan was one of the people who worked heavily on both.
Some of the earliest things implemented in the prototype were the Infinite Corridor being actually infinite, and an ice puzzle originally intended for a frozen Zesiger Center. It was also initially planned that maps would be designed in the Tiled map editor.
The 3D picture of the Green Building in the slide comes from a style demo that Lennart made when trying to figure out what the MMO would look like. This one was a WebGL project made in Unity.
Once the theme was finalized, the decision to write the client in Unity happened in mid-March, along with some other important art decisions. Part of the rationale is that Unity had more built-in components than HaxeFlixel did, and also Unity natively supports isometric grids.
As to the art choices. 2D or 3D was a pretty big decision; I remember there was an entire meeting about it and two pages worth of pros and cons. One primary reason why it was 2D rather than 3D was because the art leads felt like it’d lead to a higher level of polish, and personally, I think that turned out to be a great decision. Another decision was that the grid is isometric rather than 3/4, which means that it’s oriented kinda diagonally.
The rationale is that an isometric perspective would better portray the scale of tall buildings despite being in 2D. There was some concern about the keyboard controls being weird in an isometric grid, since the arrow key directions didn’t align with it. This meant that either the up key moved northwest or northeast, or that you had to hold two keys to move along the grid. The game client developers decided to go with the latter after some playtesting feedback.
I’m less aware of the decisions that led to the development of the MMO server. The things I know about it are that it’s written in Go, and that it’s called Tempest, which is an awesome name. I kinda wish that the MMO client also had a cool name, because “MMO client” isn’t as snappy, but eh. There’s a FAQ in the Tempest README that explains why the name was chosen:
The wrap-up already has some cool concept art, most of which was collected and drawn in March while the style was being decided. Here are some closeups of the concept art from the slides.
Here’s an early map of the MMO’s scenes, made some time in May, when the name ⊥IW wasn’t finalized yet. Lots of changes have been made since then.
Here are some notes from early drafts of the MMO’s style guide. Initially, ⊥IW was supposed to be more gloomy, and I’m glad it went in a different direction.
altMIT
Mostly vegetative decay, but some (nano, Broad) are envisioning changes to the shape of the building
Maybe play with weird lighting, grays; think about leaning towards cooler, ashy lighting/feel (very depressing overcast midwinter feel), possibly some smog, Londony, dismal
…
“Like the way MIT does when you’re there in the middle of winter break and everyone is gone”, levels of isolation and solitude, things kinda anxious
Each of the areas in the MMO had a certain navigational puzzle, which you needed to figure out in order to find puzzles in a certain round. As mentioned earlier, the Z Center, for example, was supposed to have a sliding ice puzzle. Also, we had these things called post-meta interactions, where after your team solves a meta we would schedule an interaction where you can put that answer into action. The original plan, in fact, called for these to be more tightly linked together!
Back in March, when we still thought the hunt would be on-campus, the post-meta interactions would be physical interactions that ended with sending some object to ⊥IW via a portal. These objects would make some new area in the MMO available. Applying the navigational puzzle concept to the new area would lead to some sort of code that encodes some sort of key. Teams would then go to a room and open a physical lockbox with this key, to get one component of the “final object” they need to finish the hunt.
An example would make this clearer. Recall the plan for the Z Center to have some sort of sliding ice puzzle. The interaction would’ve ended with Yew Labs sending an ice cube to ⊥IW. This would then allow a new area to be accessed. And then the path that this would draw out could correspond to a phone-style unlock pattern.
Or in the Infinite Corridor, the interaction would’ve ended with sending a pie, which opened a new circular corridor. The rooms along the corridor still have portals, but this time, they encode the combination to a combination lock.
These ideas were cut when it was decided that lockboxes didn’t really make sense in-universe. Then there was the concept of having a portal where teams would retrieve objects, which was cut for other reasons, like concerns about length and practicality with being remote. The core idea remained: we wanted to have some sort of interaction with teams after each meta. This later became the post-meta interactions that I’ll talk more about later.
Drawing a virtual world
Spoilers for all navigational puzzles and all football puzzles.
The MMO and art subgroups had their own weekly meetings, beginning some time in March. Art meetings happened on Monday nights, and MMO meetings happened on Tuesday nights, before they switched to Monday nights. So if you’re keeping track, that’s four regular meetings: exec meetings, art meetings, MMO meetings, and editor meetings.
Let me sketch a rough timeline of when things happened. The basic structure of the MMO, including the player code and client-server communication and some of the decisions that led to that, were set in place by mid-April. A demo of the Green Building, the first area built in the MMO, was up by the end of April. The “demo” here was just a skeleton—the walkable areas and the walls were set, but nothing else.
The MMO and art teams really did a lot to make contributing as accessible as possible to everyone who wanted to help, and they wrote up a lot of internal documentation about how to do things. I remember a tile style guide that specified the scale: “1 unit in the MMO is 1 meter IRL… most doorways will be 2 units wide, wide hallways will be 3 units, narrow passages will be 1 unit”. Once during April there was even a Green Building build session, where Lennart and some other people streamed themselves working on the MMO.
But even during May, there were still several things being worked out. A lot of work was still being done in test rooms, and the player sprite was still… a chicken? The proportions for what people sprites would look like weren’t even decided yet.
Here’s some sketches of what the Green Building navigation was originally intended to look like. Originally, the elevator room didn’t have real buttons, and you needed to walk on the floor to activate them. I’m glad that this eventually changed to the better UI of an actual grid of buttons.
Also, here’s an early sketch of what eventually became the Floor 3 nav puzzle.
Incidentally, an entire virtual MIT was already made. During May, the MIT Minecraft server got publicized for CP*.
Here’s some early art for the Green Building lobby in June.
The Stata navigation puzzles began to be implemented in June as well. The final mechanics remained relatively unchanged, intended to evoke the “strange geometry” of the real-world Stata. Here’s an early sketch when the name JUICE wasn’t chosen yet, and we called it buzz, in a nod to the 2020 hunt:
The planning for what ⊥IW.nano14 Fun fact. It was called MIT.nano in the Projection Device and all the dialogue up until December or January. began in May, and implementation began in June. It was partly inspired by Little Big Square, a puzzle game made by Colin, Jon, and Anderson, people in Galactic who made the game during their undergrad. Here are some early sketches:
In July, there was some more world building stuff. Here’s a classroom in Building 1, back when the main group buildings didn’t have doors to classrooms. The room doesn’t exist any more, although its assets were reused elsewhere.
The Infinite Corridor began to be implemented in July, and due to a quirk with floating point, rooms that were very far looked… weird. This was a bug that eventually became a feature, with the excuse that further classrooms were “more unstable”.
Character customization began being implemented in July, and the proposed system then was pretty close to the system now. The decision for all players to wear visors was a one-off decision based on the fact that the people in the original Galactic Trendsetters card were also wearing visors. I think the final solution ended up being some hybrid JavaScript / Silenda / Tempest / MMO client15 Silenda here is the hunt website server; I <a href="#the-copy-to-clipboard-button">talk about this more later</a>. Non-technical explanation: imagine fitting together Lego bricks with Mega Bloks with Ikea pieces, all using a screwdriver. I have no idea how it worked. solution, which is fascinating and I don’t fully understand it and I’m not sure I want to.
The Green Building was largely finalized in August. The Stata lobby was built in mid-August, and so was Lobby 7, as well as the Infinite classrooms. Building 6C, with Bars of Color, was also made, although it was eventually cut because some puzzle referred to some puzzle that referred to Bars of Color.
Here’s a short story. So you know how the Infinite Corridor has billboards? Originally these billboards were supposed to have this poster about hats. Hats were kind of a big thing art-wise, since so many members of the team pitched in and drew hats, even those who weren’t part of the core art team. Concern was raised about the poster being a red herring, so it was replaced with a different poster some time in January, but this was the poster that we saw in the Infinite for several months.
Anyway, August was the time we made the decision to run the hunt remotely. The art and MMO teams had a document outlining the amount of work they had to do left, as part of the decision, and they estimated that they could only get around 60% of the art and MMO goals by November16 Kat tells me that this estimate includes no work done on achievements, and no nav puzzle implementation for Tunnels. Wow. if they continued at the current rate of work.
As discussed earlier, September was when the Athletics round was decided to be included in the hunt. We made the decision for Football puzzles to be MMO “achievements”, which was the name we called them internally before later changing it to “field goals”.
Some achievements have answers that are well-suited to the achievement. HYPOCERCAL is the answer to a fishing minigame, and DATA BACKUP is the answer to the Resetti achievement. NINJA BOOTS was originally supposed to be about speedrunning talking to NPCs, but is now the answer to Violet Coins in Space. Some discarded ideas were VIVIPARITY involving getting half your team in one room in the Infinite and the other half in another room, and GRADE LEVEL involving a scale in ⊥IW.nano needing people of different sizes to balance it out.
The Clusters began to be implemented in September. The original plan for the navigational puzzles were that each Clusters door had several puzzles, rather than just the single keycode puzzle that ended up happening. Here’s a screenshot of what early Clusters computers looked like.
The server part of ⊥Iw.nano was implemented in September. Apparently syncing player sizes between clients was something that was particularly challenging, enough that it was still being fixed through December. Here’s some development screenshots of that area.
Some more art screenshots. September was when the walk animation was made, and DD joked that it could just be replaced with a gliding animation everywhere. There’s a picture of Dorm Row with blue blocks, already in its “facing the wrong way” position, because it looked more recognizable that way. There’s also a shot of when the Dot was made, and an earlier version of the Stata exterior.
In October there was a lot of bugfixing of stability issues and performance issues and websockets and server stuff that I don’t understand at all. A lot of these bugs were discovered during our second Big Test Solve, where we did an almost full runthrough of the MMO.
The Tunnels area was also implemented around this time. The navigation puzzle for the Tunnels was only brainstormed during October, in fact. One of the popular proposals was that you’d be on a rolling chair and you’d slide around the tunnels in a sliding ice puzzle, as a nod to the MIT tradition of chairing through the tunnels. I’m not sure how it changed to be the ghost puzzle it is now, but I think this happened in November.
In November was the first MMO race, which is discussed a bit here. We split up into two teams and used two test accounts to speedrun as fast as we could through the hunt. All the puzzles had the answer replaced with ANSWER, and the main point was to catch bugs and test puzzles. We filled two whole pages of documents with bugs. So many bugs.
Some other cool screenshots from November. There’s a beautiful rainbow Damien tornado that was unfortunately removed from the MMO, but its legacy lives on in the initial loading animation. There’s some early art for pre-fixed Stata and Random.
The first bit of load testing also happened in November; there’s some detail about it in this Reddit comment. At first there was trouble supporting even 200 players moving at once in the same room, because the number of movement messages apparently scaled quadratically with the number of players. The server people did some magic to make this better, somehow, and eventually we managed to have parades of robots marching through the MMO without significant issues.
Another short story. One of the games we played in the MMO was MMO Hide and Seek, which is pretty much what it sounds like, and it was a game that a lot of Galactic members liked. Trickier places like ⊥IW.nano or the Green Building were banned. But in the two big Hide and Seeks that happened, the winners were both hiding in tricky places that the players forgot to ban. The first time, in November, was in the Tunnels, back when it wasn’t even tiled yet. The second time, in December, was inside Kresge, back when the Archery event happened in Kresge17 It was eventually moved to 26-100, because we realized that not all teams would've unlocked Kresge by the time the event happened. rather than 26-100.
Here’s one thing that might be surprising. A constant problem with the MMO was z-level ordering, because of the isometric tiles we chose. Loosely, the z-level is a number that controls the order in which it’s drawn: smaller z-values are drawn behind larger z-values. This sounds like something relatively simple: isn’t it just the case that “higher” things get a larger z-value than “lower” things? Well, it’s one of the hardest challenges we faced, and it led to problems like these.
It was around this time, in December, that an entire Discord channel was made for z-ordering bugs, because there were just so many of them. It became such a meme that, in January, people joked that the term “z-ordering” was banned.
Another art thing that happened in December was drawing the buildings in West Campus. Here’s an early sketch of the Athletics area and the Student Center.
Alright, one last note. A fun fact is that 50% of the commits18 A <a href="https://en.wikipedia.org/wiki/Commit_(version_control" class="broken_link">commit</a> is kind of like an update made to the code. on the MMO happened in December and January, so there were a lot of things that happened in December. For example, the Tunnels entrance was moved from Killian Court to Building 13. The minimap and megamap were added in December. Building 26, and the entire interior of the Sailing Pavilion, were added in January. Reactions were very last minute. Almost all dialogue was written during that time.
It was during then that I also became involved with the MMO myself, as I’ll talk more about later. It was also then that I learned about the concept of freezing, which is a point in time after which development becomes more strict. Our original freezes were mid-December for a soft feature freeze, late December for a full feature freeze, and early January for an art freeze. I’m not sure if these quite happened, but things were definitely frozen the week leading up to hunt or so, where every single commit to the MMO was scrutinized.
So yeah. Earlier, I mentioned that the art and MMO teams estimated that 60% of the work would get done by November. I think this roughly turned out to be true, but this turned out to be not that bad because so much work happened in December. I knew crunch time was a thing, but wow that was a lot of work in a short time.
My main takeaway from all of this was pretty much the same as what Kat noted: the MMO was very much a team effort. I’ve seen this wonderful, huge project been built up from scratch and it was only possible because of the help of so many people. It’s amazing because huge programming projects like the MMO used to be completely opaque to me, and seeing this one built up from scratch was instructive and inspiring.
Developing the story
The hunt website has a recap of the entire story, and the wrap-up also has lots of interesting comments, so I won’t talk too much about the story here. I think the hunt website’s recap of the story is already pretty short, but if you want an even shorter version, it’s “Professor Yew gets trapped in the other universe, we try to rescue her only for Professor Hemlock to enter our universe instead, we swap the professors and retrieve the coin from a vending machine.”
It’s definitely the case that this story is rather different from the stories of previous Mystery Hunts. For example, this one isn’t anchored in an existing piece of media, unlike 2018’s Inside Out hunt or 2016’s Inception hunt.
Another example is that we didn’t have a “fake-out theme”. Typically kickoff skits would begin with something unrelated. For example, last year’s hunt had wedding invitations sent out during registration, and it was actually a hunt about a theme park. In 2014, the hunt was presented as a physics conference, when it was themed on Alice in Wonderland. But since the beginning of registration, we’ve always presented our hunt as a follow-up conference to 2014’s. And we played it straight: our story is very much a physics-y science fiction story.
Around May or so, there was this story roadmap spreadsheet showing the possible directions the story could go. The kickoff was decided on, but many major decisions were open: what would happen in the hunt midpoint? What would be the endgame? What’s the coin? These questions were pretty much open until September.
Lillian made this huge form to solicit everyone’s opinions about different parts of the story: Yew’s characterization, compelling in-story objectives, when the universes diverged, what should happen in the midgame and the endgame, how much emphasis should be put on the story, and of course, the name of altMIT. These were all finalized in late September. The rationale for the midpoint was so that we could have a character from ⊥IW who wasn’t an explicit antagonist, and the rationale for the endgame was to have a “fake-out endgame plot” of swapping the professors, when it’s actually looking for the coin. The scenes and various scripts began to be written soon after.
Galactic has a lot of people into theater, and it shows. Auditions for the roles were opened in November after some of the script had been written. They consisted of monologues; there was Professor Yew’s monologue, the post-meta interaction explanation for J and Robin, and additional monologues for other characters. Even then, the script was still very much in progress, to the point that Professor Hemlock’s name wasn’t even decided yet. Here are some role descriptions excerpted from the audition document:
Prof. Barbara Yew
She is the PI of Yew Lab. Confident and self-assured, sometimes to the point of recklessness. Mostly put-together and practical, but can be a little over the top. (Would describe herself as “no-nonsense” but no one else would.) Curious and intellectual. Science above all. This role is open to actors of any gender, but it is important that the role be portrayed as a strong female character.
J. Linden
J. is the research technician in the lab and programmed the projection device. Went to MIT for undergrad and M.Eng. Chill and cool, but strong values. Not happy about their part in almost destroying the universe. Gets to say “fuck” exactly once. Records the voiceover audio for the MMO tutorial. This role is open to actors of any gender, but the character will use they/them pronouns.
Cameron Palmer
Research associate and mechanical engineer. Has a habit of stating the obvious. Into sports, will probably get to be excited about the athletics round.
After auditions, there were callbacks, which are an invitation to do a second audition. I’m sure the theater people reading this are already shaking their heads in disapproval, but I did not know what a callback was before the auditions happened!
Final assignments for the cast were made a few days later. There was the main cast, and each of the main characters had their own understudies. They soon began their weekly rehearsals, which were quite traditionally theater-oriented. I wasn’t cast, nor was I present for pretty much any of the rehearsals, but my impression was that there was tablework,19 I'm sorry theater people, but I'm absolutely clueless as to what tablework is, even after looking it up. thinking about the character’s motivations, practicing gestures and facial reactions, that kind of stuff.
The cast developed their own set of memes through the rehearsals. For example, during the runaround, Professor Hemlock’s connection would be unstable because of the anomalies in the other universe. And during the time, Ian, who was acting as Hemlock, was having internet troubles of his own. That led to the beautiful comment from Cami that Ian’s internet was “method acting”.
Or one of Hemlock’s lines, which was supposed to be “physicists don’t typically gawk at posters, like tourists”, became “physicists don’t typically gawk at toasters, like tourists” during a rehearsal. And so toasters became a meme, enough that it got a mention in the runaround script.
The first time we all got to see the cast perform was in our third Big Test Solve in early December, where they did some scenes for us, and I was thoroughly impressed by the cast’s acting. I picked up details about the characters that I would only later learn was written in the role descriptions, like Yew’s over-the-top-ness or Skylar’s snarkiness. And to think that some of the cast didn’t even have acting experience before!
Through November more scripts were started. The kickoff and endgame had brainstorming sessions through December, and by then most of the script was finalized. Costumes and props began to be arranged after that.
A fun fact is that the cast is color coded for your convenience. Yew has white hair and a cream blazer, which is mostly because her character design is inspired by Baba from Baba Is You. Hemlock has a gray blazer, Robin wears a red sweater, J has purple hair and a purple button down, Cameron wears dark blue clothes, and Skylar wears a mustard collared shirt.
As for props: some cast members had green screens and lighting for pre-recorded scenes, the Yews had the golden record items like seedlings and CDs, and some post-meta interactions, which I’ll talk about later, also needed props. Jenna, our amazing treasurer, had a time coordinating orders for all of the clothes and props, and her dedication to that was astounding.
Dress and tech rehearsals happened the week before hunt. I participated in them because I was in charge of some of the tech for kickoff, being the member in the team with an MIT Zoom webinar license. Some of these last rehearsals were public, and it amazed me how the cast ran through the scenes in such a natural, off-book20 Off-book, meaning, without looking at the script. manner. I said earlier that I was amazed at the cast’s acting during the third Big Test Solve, and that amazement became even stronger during those final rehearsals. I have nothing but praise to the story team’s dedication to creating an immersive experience, and you should watch the recorded scenes on the hunt website to see how great it all was.
The beginning and the end
Spoilers for the final runaround.
Despite being the beginning and the end of the story, the kickoff and the runaround were some of the final things written story-wise. I was there for the brainstorming and writing for both, because I’m part of the kickoff tech and am involved in the runaround.
For the kickoff, we had our brainstorming session in mid-December, and we were playing with the idea of MYST 2021 being an online conference. It turns out that exactly one of the people who was there in the brainstorming session, Josh, had been to an online academic conference, and it was mostly a schedule of talks and sessions with Zoom links.
We tried thinking about ways to make it more social, because after all, kickoff and wrap-up are some of the few times in Mystery Hunt when hunters get to see their friends in other teams. We considered having teams give talks to make it feel more like a conference, or even having some sort of poster session. In the end, we discarded these and went with the “presenters giving a keynote” angle, since that was the way we presented it during registration: come to the keynote speech for MYST 2021!
We still managed to put in some sort of interactivity by inserting a Q&A in the middle where people could ask questions. To my knowledge, this is the first Mystery Hunt kickoff in a while that did have some sort of interactivity. We expected that the questions would be a mix between things about the story, coins and puzzles, past Mystery Hunts, and memes. So when we rehearsed the Q&A, we got a bunch of team members to submit random questions, to help prepare the cast improvise answers. We were happy when the audience ended up asking questions that we prepared for in advance, like the lab’s latest research, and “is red sus?” You can watch the Q&A part in this YouTube link.
One of the other decisions we made during kickoff was how much to talk about the Projection Device. It was a tradeoff between having teams completely surprised by the MMO, and having teams be excited about exploring an entire virtual world. In the end, we struck a balance between the two: the name “Projection Device” was dropped, although its function was only alluded to.
A few days after the kickoff brainstorm, we had the endgame brainstorm. The endgame had more details that needed to be nailed down compared to the kickoff: we needed to decide the capstone puzzles, the endgame runaround, how the story ends, and general things like how long it’d take, and how puzzly it’d be. The goals we all agreed on was that the whole endgame should be relatively short, and that it wouldn’t be aha-based; teams shouldn’t be stuck in a final puzzle like we were.
I recall that some of the proposals for the capstone puzzle involved connecting all the answers with each other using a map of the MMO, and another involved resolving the navigational puzzles in previous rounds to collect “shards” throughout ⊥IW. Doing both was even considered, in kind of a “combining Yew’s and Hemlock’s work” to lead up to the runaround. A few days later people decided that we were all too busy, so we just discarded the capstone puzzle entirely and just worked on making the runaround work.
The idea for the runaround came up after a few minutes of throwing around random ideas, on the night of Christmas, no less. It managed to fulfill our several goals for what the capstone should’ve been anyway: a puzzle that’s not too difficult, involves the MMO and the real world, and uses knowledge of previous rounds. As a bonus, it even managed to use all of the meta answers, which was something I personally love in capstone puzzles. The main idea was to take “measurements” in both the real world and the MMO to triangulate the location of the coin. Solvers would realize that the measurements are off, they’d index to find the word HYPOTENUSE, and then they’d realize they need to “combine” the measurements with the Pythagorean theorem21 <em>What if we use the fact that the universes are perpendicular?</em> Yep. The same play on the name of ⊥IW, being used yet again. to find the actual distances.
The idea of combining the two measurements with the Pythagorean theorem came first. We used all the rounds that existed in the MMO to make THIRD SIDE, and then realized we could add in Yew Labs to make the ten letters in HYPOTENUSE. The initial idea was to use only one side’s measurements to index into the answers to get the word, but we realized after testing that using the difference made more sense. Initially, the ordering was supposed to be just “whatever order we did the runaround in”, and we finagled with the ordering until we found a runaround path that made sense. But some testsolvers thought they needed to reorder the measurements somehow, so we added a reordering step involving the last digit. Personally, I think the final runaround puzzle ended up being a great end of the hunt, even if the final step of finding the coin was a bit anticlimactic.
Speaking of the coin, let’s talk about how it was designed. We began thinking about it in November. A bunch of people sketched out a bunch of designs, and we had a survey to decide what the final design would be. Unfortunately, my favorite option for the coin did not end up winning.
Here’s a sketch of the winning coin design, and a render that Lennart made that was eventually shown in the runarounds. We kinda hoped that we’d have a real coin to show by endgame, but production was stalled so we weren’t able to. Anyway, a fun fact is that the last picture here is entirely computer-rendered: the coin, the backplate, the microscope, and the background. Lennart is a true art master.
The coins were recently delivered, so here you can view DD’s coin design in all its beautiful glory. Note the small details like the Yew Labs logo being turned upside-down to make the Hemlock Research logo. Or even the buildings along the back of the coin, with an infinitely long Infinite Corridor, or a plant-ridden Green Building. It’s a fascinating, charming design, and I love how it plays with the MIT / ⊥IW thing.
Why is everyone on a video call?
Deciding to go remote
The possibility that our hunt would be affected by the whole COVID situation was something we began thinking about in March, around the time when MIT’s campus closed. We already had a document describing several contingencies we could take, with the two main options22 We also considered canceling the hunt and running the hunt as-is if it was possible, neither of which we were seriously considering. being to host the hunt online and to postpone the hunt, hopefully to run it in-person in 2022.
By June, the BDs appointed a committee to think about our “covidtingencies”, as we called it, again through the method of “whoever volunteered”. It was already becoming clear then that we couldn’t really host hunt in-person, on-campus, as we usually did. The COVID committee sent out a survey asking for everyone’s thoughts on what people valued about Mystery Hunt and initial thoughts on options, and in July there were a bunch of meetings centered on the two main options.
A meeting was held to compose a survey about the options, which was sent out to teams in mid-July. A brainstorming session about a remote hunt focused on making up for lost time within subgroups, reworking existing on-site plans, what to do with events and physical puzzles. A brainstorming session about a delayed hunt focused on modifying timelines to delay them, what would happen when interest on the writing team changed, possible interim events, and when the decision about the 2022 hunt would be made. The art, story, and MMO subgroups had meetings to talk about what would happen in both options.
Then there were lots and lots of documents written. There was a document about proposal, detailing its specifics and what would be adjusted. There was a document summarizing all the content from the survey. We also had another document summarizing pros and cons for the two proposals. And then there were opinion pieces from members of the team about both proposals. There was, needless to say, a lot of discussion, and all sorts of people on the team who supported the two proposals to different extents. I was on the fence myself, but leaning towards postponing the hunt.
The COVID committee, in early August, sent out these documents to the team and asked for comment. They also scheduled and led a team-wide discussion to talk about the proposals, and then sent out a vote (through STAR voting, yes). Then the voting closed, and the BDs announced the results: running hunt remotely won by a considerable margin, and that’s what we would do.
Two thoughts about the whole thing. First, I think the committee did a really good job. They set out a clear timeline and framework for making the decision, they collected feedback from all the relevant stakeholders, and their communication was clear and supportive: we’re a team, none of this was what we wanted, we’re here to have fun and be creative, it’s okay to take a break. And the “we’re a team” part is something I really, truly felt at that time, especially in the middle of such a tough decision.
Second, I think that this was, in retrospect, the correct decision. Our theme is particularly suited to the remote hunt, and yes, it’s oddly prescient that this was the theme we chose several months before we knew the hunt would be remote. It was amazing to see how our hunt made people feel, which really, is one of the things I value the most about our hunt; I’ll talk about this more later.
Using Zoom to our advantage
Spoilers for the answers for the metas ⊥IW.nano and Stata Center.
The story team did a great job adapting to the remote hunt, given the circumstances. As mentioned in the wrap-up, the story is meant to be diegetic, which is a cool word that I understand to mean “things are presented as part of the story”. Hence the pandemic is acknowledged in the story, and so is all the video conferencing.
The medium was even used in the story in several ways. Videos were presented over screenshare, at times as actual videos from a computer, and at other times as “live footage from the lab”. The professors used the broadcasting software OBS to overlay frames and distortion in their video feeds. Skylar uses the same Zoom call to schedule two “separate” meetings, each one unbeknownst to the other. The team even sends an email containing a Zoom link to one of the characters to advance the story, during the endgame!
One of the things that I’m glad we adapted to the remote hunt were all of the post-meta interactions. Even as early as May, we already had the idea of having short interactions after each meta solve, where the team would put into action the answer for their meta. We had ideas like something involving a pair of tweezers for ⊥IW.nano, or using garden shears in a fume hood for the Green Building. Needless to say, we had to cut these ideas.
Still, we wanted to have interactions with teams, which was even more important in a remote hunt, and having post-meta interactions was one way to do that. Lillian, our story director, started asking for volunteers to take point on the various interactions around September and October, and she generally was in charge of making sure they all got written.
Most of the PMIs were testsolved individually through November. Then there was a post-meta interaction marathon that happened in late December, when we just ran through all of the PMIs in a single afternoon. Even within the PMIs, I found it really cool how Zoom and stuff is used creatively:
- Maybe the clearest example is the ⊥IW.nano interaction, written by Cami and Jakob. The answer to the meta is THERE’S PLENTY OF ROOM AT THE BOTTOM, in response to the question of where to store all the grad students’ stuff. The interaction has three researchers: the first in ⊥IW.giga, who holds a box that contains the lab of the second one in ⊥IW.kilo, who holds a box that contains the lab of the last one in ⊥IW.milli. The gimmick is that the researchers can pass things into and out of their labs, by putting objects through the top or the bottom of their screens, and have it grow or shrink accordingly. A large rock from ⊥IW.milli becomes pebbles in ⊥IW.kilo, which becomes small iron fillings in ⊥IW.giga. Everyone also has virtual backgrounds, and the final steps involves the researcher in ⊥IW.milli sewing a hole closed in their virtual background.
- The Tunnels interaction, by Colin, and the Student Center interaction, by Lillian and Curtis, both use breakout rooms in a neat way. For Tunnels, the group is divided into two: one group is solving an underclued puzzle, and the other group is in charge of giving hints, although they can only transmit a limited number of characters every few minutes. For the Student Center, the group is divided into four, each group representing either Dorm Row, Simmons, Random, or East Campus, to transmit messages to one another and such.
- The Stata Center meta has the answer IRON OUT THE INKS, and in the interaction, written by Curtis, the facilitator starts with a virtual background with a bunch of paint blobs. The person running the interaction then asks for everyone to bring different kinds of irons, from clothing irons, soldering irons, iron supplements, and all kinds of creative “irons” to get rid of the paint blobs one-by-one. This interaction would be very different if people were on-campus, rather than in their homes.
I think the post-meta interactions are just one of the many examples of the hunt, despite being remote, still finding ways to be engaging and interactive. It certainly can’t replicate or replace the in-person experience, but it’s neat how we’ve used the constraints of the medium23 This is becoming a theme, isn't it? to our advantage.
BTS, and no, not the band
Spoilers for the puzzles Crossed Out and Film.
Several previous Mystery Hunt writing teams have had retreats of various sorts. They’re used to get a lot of puzzles written or testsolved, and are also a good way to socialize with other people in the team. Our original plan was to have a retreat in June, but of course, there was no way to do this safely and in-person.
Instead, Galactic had several virtual events throughout the year. We had several group puzzle-writing sessions, two writing retreats in early June and late July, an MMO retreat in late June, something called Fish Puzzle Friday, and three Big Test Solves, in late August, mid-October, and early December.
During group puzzle-writing sessions in May and June, we’d go into a voice call, split into groups, choose an unclaimed answer from the Students round, brainstorm and write a puzzle around that idea, and then get it testsolved. These sessions were presented as a way to learn writing puzzles from experience. Two of the puzzles I co-authored came from these sessions:
- Crossed Out. The answer for this one is THE XX, which is interesting because it has a lot of Xs. So naturally we turned to things that had a lot of Xs, and thought about things like Exxon, or the flag of Amsterdam, which has three Xs in a row. And then we thought about how to use these numbers to produce the answer, and well, Xs mean multiply, so the puzzle came from that. We chose the pictures and testsolved it the same night.
- Film. The answer for this one is HAM IT UP. We thought about different ways to interpret this phrase. We considered ham operators or ham radios and morse code, and radio plays and exaggerating things, the Bacon number, and also just the literal meaning of ham as a meat. I don’t remember how it happened, exactly, but someone said Jurassic Pork and the idea of the puzzle just came from there.
Three other puzzles that I believe came from these group writing sessions were Look at What We Drew, Exactly, and Thank You to Our Sponsors. I’m not sure how much about puzzle-writing I learned, exactly, but at the very least the sessions were effective in getting puzzles written.
The writing retreats each went from Friday to Sunday, and the lead organizers were Cami and Kat. We would all hang out in a voice channel and, well, write puzzles together. There were some useful talks given about puzzle writing, from general tips to extraction to advice about specific puzzles. Editors were available and puzzles were quickly edited, revised, and testsolved through the weekend. We also had team dinners where we just got on a video call or went to gather.town and ate dinner together. And at the end, people played board games and stuff.
Here are some of the puzzles that I know were the results of writing retreats. Doctor’s Orders was the result of a group puzzle-writing session. Fret Not!, well, you can read the authors’ notes. The initial idea for PClueRS was brought up during one of the retreat’s office hours.
Fish Puzzle Friday was another writing event I remember happening. The term “fish puzzle” here refers to the 2015 School of Fish round, a round of 56 puzzles, each meant to be about a third of the difficulty of other puzzles. Fish puzzles were what we called the puzzles from the Students round, because we thought that the Students round fulfilled a similar purpose: lots of easier puzzles, meant to be accessible to a wider range of teams. For FPF specifically, the designation referred to the Students round and the Yew Labs round, as these puzzles were also supposed to be relatively easier.
FPF began on Friday, July 17, and ended the morning of the next Friday, July 24. The EiCs released a list of the remaining answers in the Students round. Anyone who wrote a new fish puzzle ready for testsolving by the deadline received a prize. On the last day of FPF, which we called Small Fry Day, there was also a huge testsolving session where we testsolved all the FPF puzzles. Fourteen(!) of our puzzles were written during FPF, including the Yew Labs puzzle Unmasked, which I “co-authored”.
That leaves us with the three Big Test Solves, which we called BTSes. The fact that these shared their name with a certain Korean band did not go unnoticed.
Each of the BTSes lasted from Friday night to Sunday night, and each was basically a run of the hunt, including the MMO, the website, and of course, the puzzles. We set up the usual tools Galactic used to coordinate for hunt, and had scheduled events and story updates too. The BTSes were used to test things that couldn’t easily be tested with small groups or in isolation, like the pace of unlocking, how the MMO puzzles work in context, how the story would be received, or how the events worked.
We didn’t solve the whole hunt during each BTS. Instead, it was more like we did one-third of the hunt with each BTS, picking up from where we last left off. BTS1 had Yew Labs, Green Building, and Stata; then BTS2 had Clusters, Infinite, and most of the Students; then BTS3 had ⊥IW.nano, Athletics, and Tunnels. Of course, it wasn’t the case that all the puzzles for a round were ready by the time it was slated for BTS, so some were swapped with placeholder puzzles from other rounds. But in the end, I think almost all puzzles got solved during one of the BTSes, all the events were tested, and all the metas were tested too.
The birth of the smobster
One of the best things about Mystery Hunt this year was how this little snippy boi captured everyone’s heart:
This is a “smobster”, presumably coined from “smol lobster”. In-story, the Charles River is overtaken by these cute smobsters, and the goal of the Charles River round is to clear these lobsters out.
The idea of flooding the Charles with lobsters actually originated with DD’s idea24 Which, wasn't a serious idea, right? Right? to fill La Sala, a room in the Student Center, with clams, for an event. This was all the way back in January, before we’ve even started the theme proposal process!
During the first writing retreat in June, DD then proposed what would form the basis of the events round: each event would correspond to one of the four sports in the pirate certificate, and for some reason you’d need a pirate license to fix the Charles.
Justine, the event lead, loved the idea, because it is an excellent idea, and who wouldn’t love flooding the Charles with lobsters? The project became dubbed “Project Clams”, presumably because the original intention was to use clams, and soon enough a prototype was put in the MMO. With tomatoes!
The MMO part of the Charles River would continue to be called Project Clams, to the point that the MMO code even referred to the Charles with some clam-related name. Early versions of Project Clams had notable performance issues. DD and Kat kept working on it, and through their combined coding wizardry, by September, it was less painfully laggy. And the tomatoes were replaced with actual lobsters.
The famed smobster image was drawn by DD in October. It was Nathan and DD who had the idea to put the smobster image in the registration website, which also happened around that time. If you waited for 180 seconds in the registration website, you’d see the little snippy boi floating in space. The smobster was released to the world at large, and everyone in the entire galaxy instantly gained the desire to protect and care for the smobster.
The smobster’s fame spread, capturing the heart of every single member of the puzzle community. You know a character has succeeded when it’s popular enough to get fan art.
As for the events themselves, you can read about them in the Charles River page and hear the event leads talk about it in the wrap-up. The wrap-up discussion is actually most of what I’d like to say, so I’ll just sketch a few more details.
When the announcement that the hunt would be fully remote came in August, events needed to be rethought completely. Justine reached out to the team for remote event ideas, and some people volunteered to implement them. They were tested through the Big Test Solves; two of the five were finished by October, and the rest were done by December. There was an afternoon in early December where we had what Justine dubbed the Extravagant Events Exposition, where the event runners just ran every event for us in an afternoon.
The only event I’ve been to during a Mystery Hunt is the robot parade, so don’t take my comments too seriously. But I think the virtual events captured a lot of what made the robot parade exciting in the Mystery Hunt. They weren’t too heavily puzzly, you got to interact with a lot of other teams, they were about kinda silly things that people took lots of pictures of, and I remember having a lot of fun when I tested them.
Oh, also! Kat acquired a lobster costume25 Supposedly, Kat wanted potholders, and DD offered to send some. But then DD stealthily included a lobster costume with the shipment. for filming this excellent video. Spoilers for The Lobster Network and Attack of the Lobsters.
Squee squee!
Spoilers for the puzzle Squee Squee.
Joanna is the physical puzzles lead, and she talks a bit about them during the wrap-up. We ended up having four physical puzzles, and I’ll talk a little about the timeline for how these happened.
When we decided that the hunt would be going remote in August, there were a handful of physical puzzle ideas in Puzzlord, but nothing really developed, since the details of how that would work weren’t decided yet. Joanna led a meeting to figure out logistics in early September. The idea was for individuals in the team to assemble the puzzles and then ship to the fulfillment provider. The production timeline was also nailed down during the meeting.
In October there was another meeting to decide which physical puzzles we’d pursue. By then, Water Bottle and The Greatest Jigsaw had fleshed out ideas, Squee Squee had the main idea ready, and Green Tee was nowhere close to being written yet, although we knew we wanted a shirt puzzle.
Logistics meant that the puzzles needed to be produced and ready to box by December 10, so that was the original deadline. Although, of course, things never quite turn out as planned. The individual authors’ notes for each of the puzzles talk about the incredible undertaking it was to get them all produced, and you should read them! If you only read one, you should definitely read Squee Squee—I think it’s one of the best authors’ notes in the entire hunt.
I’ll end this with two stories of my own. The first one is about the shirt preview image that appeared in the website where physical puzzles were purchased.26 If you're reading this early enough, then the shirt should be available for order if you want it! A portion of the price goes to supporting the Mystery Hunt. We were trying to figure out a way to make a preview image without spoiling the puzzle. One of the proposed solutions was to deform it to an airplane shape, which it actually fit quite well. I’m not sure if DD, who designed the shirt, intended it, but it’s pretty neat.
In the end, the preview image was the phrase “this is not the design” written on a shirt of the same color. It was notable enough that people asked if they could order it.
The second story is about Squee Squee. There are three of us in Galactic who are currently living in Simmons, and we were one of the groups who got to testsolve Squee Squee. We named our pig “Yannick”, after Yannick, who was one of the people in the testsolving group. One of the steps in the puzzle asks us to “Take a picture of Yannick with another pig. The other pig should be three-dimensional, but it doesn’t have to be alive.” So, you know, Exact Words, and we tried to take a picture of Yannick with Yannick.
This picture wasn’t accepted, so instead I sneakily disguised Ice Bear as a pig, and we submitted this picture.
Rest assured that our pig, Yannick, is alive and well, with the sheet of paper extracted through delicate pig surgery rather than brute force.
Becoming stronger
I accidentally myself into an exec board
I don’t think I’ve talked about this on the blogs before, but a fun fact is that I am on the exec boards of four different student organizations.27 The one I don't mention here is the Filipino Students Association, which I'm the president of. Part of this is peculiar to this year, being remote and all—I was one of the few people who’d show up to an election meeting, there’d be a position with no one running, I’d figure it wouldn’t be too much work, and I’d run, pretty much uncontested. That’s how I ended up as the publicity coordinator for Tech Squares and the vice grandmaster of the Assassin’s Guild. These are both clubs that aren’t doing much given that we’re all off-campus, so it’s not actually too much work.
For the Puzzle Club, however, I was sucked into my officership. The Puzzle Club is the student group that works with the writing team to run the Mystery Hunt every year. What happened is that I started doing work with the Mystery Hunt website, became the de facto webmaster, and then the president, Julia, decided to make it official by creating a new exec position and getting me to run for it.
I learned quite a bit from being the webmaster for Puzzle Club. For example, one of the first things I did was put the website in a Github repo, which was a learning experience about Git remotes. I learned about a bunch of neat puzzlehunting tools when I worked on updating the puzzle tools page. And I had a time wrangling the amount of disk space that the Mystery Hunt archive took up in the Puzzle Club locker.28 An <a href="https://ist.mit.edu/lockers">Athena locker</a> is a folder in the Athena filesystem, which is where the Puzzle Club stores most of its data.
As one of the two Puzzle Club members who’s also on the writing team, I became a sort of liaison between the club and Galactic. The other one is Jenna, who was our treasurer and helped a lot with finances. Most of my work was on the registration side of things, which included putting the registration site up29 Note: putting the registration site up, distinct from actually making it or working on it. Which I did, but not as much as, say, Jakob, Charles, Brian, Alan or Nathan did. and making sure that all the teams were in compliance with all the forms.
Testsolving everything
Spoilers for the Infinite Corridor and ⊥IW.nano metas, and the puzzles Nutraumatic, For Your Eyes Only, Escape From Life, Befuddled, Filler Puzzle, Blind Calculation, Homemade Photography, How to Run a Puzzlehunt, Successively More Abundant in Verbiage, Enclosures, In C, Analog Circuitry, Bingo, At A Loss For Words, You Learn Something New Every Day, Catch and Release, and World Fisherman.
I mentioned in last year’s Mystery Hunt post that I felt like my contributions to solving individual puzzles felt small, and that it didn’t feel like I came up with any of the “ahas” myself. Don’t get me wrong—I had a great time in the Mystery Hunt last year! It’s just that part of me wished I was a little better at puzzles, so I could’ve felt like I was actually contributing.
Over the past year I joined seven puzzlehunts with Floor Pi, and testsolved around three-fourths of the puzzles that ended up being in the hunt. Needless to say, I’ve solved hundreds of puzzles in the past year, and I feel… stronger for it. Here’s a graph of (approximately) the number of puzzles I’ve solved over time, for the past year:
It wasn’t like getting better at, say, competition math, where it was always a competition. Sure, puzzlehunts have rankings, but there are rarely any stakes, and it didn’t feel bad to get 22nd place. And it wasn’t like getting better at tennis—though maybe that was because my parents forced me to play it, rather than me being actually interested in it.
No, this was a different feeling. I felt myself getting better at puzzles, not because I needed to, or because I was told to, or even because I actively wanted it. It just happened. And it felt good, getting better at a skill that would be completely useless to me for almost everything I will ever do in the future. Is this what it feels, when you become really good at painting or playing Tetris? I wouldn’t know.
Anyway, here are some comments and stories about puzzles I testsolved, in chronological order of when I tested them:
- Infinite Corridor Simulator. This was the third puzzle I tested for the hunt, back in March, when we were trying to nail down the metas. I tested an early version of the puzzle, back when it was only being considered for the meta. The final version ended up having different kinds of subpuzzles for each type; only Library of Images and Infinite Corridor Simulator had the same mechanic as some of the subpuzzles we tested.
- Rule of Three, Twins, Level One, ⊥IW.nano. I was part of a testsolving group for this meta back in May. The three ⊥IW.nano metas were testsolved as a group, so the testsolves ran long and had large groups of people. We spent a while trying to solve Rule of Three taking pretty much all of the answers. Then we managed to solve Twins with only two of the answers, and solved an early version of Level One that used One.MIT 2018 instead of One.MIT 2020. Of course, the way it turned out in the hunt was that the arguably most important feeder answer, FORD, went to the hardest puzzle in the round, which is probably why we had to nerf the meta in the actual hunt for teams to get it.
- I was very proud of myself for having the aha of using twin cities in Twins, which we got after only the first answer we looked at. It was the first puzzle aha that genuinely felt like my own, and it was for a meta no less! That was one of the things that helped boost my confidence as a solver.
- Kresge Auditorium. As talked about in one of the AMA comments, one of the round ideas we had was for Kresge Auditorium, which eventually got cut. Which was a shame, because the Kresge meta was the meta I had the highest fun rating for. Ah well.
- Cryptic Transmission, Circular Reasoning, When All Is Lost. All of these are cryptic30 See <a href="https://puzzling.stackexchange.com/questions/45984/cryptic-clue-guide">this post</a> for a good introduction to cryptic clues. puzzles that I solved in June. I think I managed to crack a few cryptics of my own in each puzzle, which felt pretty good, considering I was new to cryptics at the time. I’m not great at cryptic clues by any stretch, but I’m now less intimated by them than I once was.
- Nutraumatic. Wow, this puzzle. I love this puzzle! It was called IXBONDSXYELZTPVCXQI when we testsolved it back in June, which was the original non-example, and I think the name now is significantly better. There were a handful of letters that changed functions since our testsolve, as suggested by the fact that the query has changed, but it’s mostly the same. It was our testsolve group that fed in a huge Nutrimatic query to find the answer, as talked about in the solution, and wow it was a satisfying moment to use a huge Nutrimatic query to solve Nutraumatic.
- For Your Eyes Only. This was the first puzzle I testsolved alone, and hence, the first puzzle I ever solved alone. In the original version, which was supposed to be on-campus, we had a five-minute delay between viewing the presentation and writing anything on paper, making it even harder. But it was very fun to get my knowledge of Braille, Morse code, and semaphore vindicated. It took me two trips to solve the puzzle fully, which made me really proud of myself, although I’d later hear that some testsolvers got it in their first go.
- Escape From Life. Another puzzle I testsolved in June. We pretty quickly recognized it as a puzzle about Conway’s Game of Life, and managed to do all the four-glider syntheses. We were stuck on the semaphore part for a while, and were hinted strongly to look at it in the end. The puzzle got several revisions after our test, and I think the current version is a bit more motivated.
- Befuddled. Another puzzle I testsolved in June. The original puzzle didn’t have the word search component, so we had a challenging time identifying the programming languages. With that step made easier, I’d say this is one of the funner puzzles I’ve testsolved, and its construction is so awe-inspiring.
- Radical Rebuses. We testsolved what was pretty much a final version of the puzzle. And then our group got stuck on it for several weeks, which is something that can happen in testsolving that can’t happen in a real hunt. We eventually gave up. Oops.
- Filler Puzzle. This is a diagramless crossword, which means that you have to construct the crossword grid. This was kinda the first diagramless I did where the grid was really interestingly shaped, so I didn’t believe we were doing the right thing at first. It’s a great concept, and I loved this puzzle. I also recall doing a crossword a few months later that involved OREO O’S somehow, but I can’t find it now.
- Disorder. Oh goodness. The trigram puzzles. Our version of the puzzle, which we testsolved in August, was harder. It had no enumerations, and around a hundred more trigrams than the final version. Thank goodness the authors worked to make the trigram part easier.
- Blind Calculation. I was elated to have started a solo testsolve for this puzzle, back in August, and instantly recognized that the puzzle was about Japanese braille. I solved it in ten minutes, and it was incredibly satisfying. Something something same mental wavelength as the author or whatever.
- Homemade Photography. Ditto with the above: testsolved this one alone, quickly realized what it was about, and solved it in fifteen minutes. Such a satisfying feeling, especially considering that my knowledge of the Minor Arcana was simply because I was interested in it and read a bunch of Wikipedia pages one afternoon.
- How to Run a Puzzlehunt. I loved the concept of this puzzle, and I loved how it’s been set up months in advance. The author’s notes for this one are interesting and you should read it. Incredible.
- Exactly. I testsolved this puzzle during our first Big Test Solve in late August. Our group had a lot of fun solving this puzzle and identifying all of the clues, because it was just so fun!
- Simmons Hall. I also testsolved this during the first Big Test Solve. This is an incredible meta. It’s a brilliant, elegant, and thematic mechanic, and its construction is amazing.
- Successively More Abundant in Verbiage. I love memes. I’m not good at literature nor was I familiar with several of the books referred to in this puzzle, but I had a lot of fun with this one nonetheless. We need more puzzles about memes. We need an entire round, no, an entire hunt about memes.
- PClueRS. Quoting my own feedback: “Brilliant, truly brilliant, amazing, wonderful.” This is one of the most loved puzzles from the hunt, and for good reason. It’s amazing. It’s really, really, really good.
- Enclosures. I love this puzzle so much. When we testsolved the first version of the puzzle in November, the answer needed to be changed, so we suggested some other calendars that Jakob could use. The original version didn’t have the Bahá’í calendar or the Discordian calendar, and I’m delighted that they made it in the final puzzle.
- In C. In our version of the puzzle, comments were half as long and contained only spaces, and I think the final version is much more helpful in that respect. Funnily enough, the part I helped out with during the testsolve was the part that involved zero programming knowledge. I’m amazed by the construction of this puzzle, which feels really tight, but then again I’m no expert in C.
- Cacophony. A straightforward puzzle, but it’s funny, and my personal belief is that funny goes far in puzzle writing. It’s good.
- Analog Circuitry. Solved this during the third Big Test Solve in early December. We brute-forced all the green words before figuring out what any of the gates did. Neat puzzle.
- Bingo. I also testsolved this during the third Big Test Solve. I loved this puzzle so much, the main reason being that I got to use my knowledge of, at the time, over half the puzzles in the hunt. It’s a great feeling being able to look at a clue and go, ah yes, that’s so-and-so puzzle.
- At A Loss For Words. This is kind of false, because I never actually testsolved the puzzle. The story is that the answer to this puzzle, SOLE MEUNIERE, was one of the answers that remained unclaimed all the way until December. And for good reason—it’s one of the worst answers in the hunt, barely even an English phrase, and the editors couldn’t come up with a thematic puzzle even after several minutes of brainstorming. I ended up testsolving a puzzle written around this answer that ultimately got cut, and this puzzle was chosen instead.
- You Learn Something New Every Day. This is a straightforward puzzle, but it’s pretty fun. The final answer to this one is WRITE A ONE-DAY, and during our testsolve, we also had to write a one-day. Ours was a very meme-y one-day, with questions like “Where is the coin?”, “What day is it?”, and “Who will win the hunt?” Future testsolvers had better one-days, and we got some delightful submissions from teams during the hunt itself.
- Catch and Release, World Fisherman. I remember this testsolve, because when Yannick and I were working on it, we hopped on a voice channel where they were working on a different football puzzle, and we said, “hey, could like, five of you hop to the other voice channel real quick?”
- Divided Is Us. Believe it or not, this is the second-to-last puzzle31 The notes in the solution claims it is the last puzzle, but only because <a href="https://puzzles.mit.edu/2021/puzzle/better-bridges/">Better Bridges</a> was written <em>after</em> the solution was written. finalized for the hunt, which we testsolved back in December. It’s a clever puzzle, and the author’s notes are pretty good too.
The copy to clipboard button
And now we talk about the website. GPH has its own tech for running puzzlehunts, known as gph-site. Perhaps surprisingly, the website server for this year hunt wasn’t based on gph-site, but on something called spoilr. Steven, our web lead, basically wrote the entire webserver with spoilr as a base and called it Silenda,32 Steven says they chose the name because it is Latin for <em>that which is being kept silent</em>, following the name of spoilr. continuing in the tradition of our servers having cool names.
Like gph-site, Silenda is also a Django app, and the little I understand of Django I’ve learned from working on the ESP website. The only contribution I made to the website itself was adding the copy to clipboard button that you’ll see in the bottom-right of most puzzle pages.
This was an innovation that, I believe, was first done in Hackin’ the Beanstalk. The first hunt that had this widescale was teammate Hunt, and I based my implementation on the one they released.
As the teammate Hunt page points out, making such a feature is painful because of two main reasons. First, Chrome and Firefox copy elements differently. And second, Google Sheets doesn’t always respect copied formatting. Although teammate went with the solution of inlining all the styles and having reset elements, which was doable with their workflow, this was simply not an option when we had ten times the number of puzzles, all in raw HTML.
Hence I created a script that automatically added inline styles and reset elements when the clipboard button is activated, which I added to teammate’s implementation.33 Except I tore out the jQuery, because I am vehemently opposed to jQuery. Sorry, not sorry. Inspired by the cool names of Tempest and Silenda, I named it Copyjack, although maybe I should’ve chosen something in Latin.
Writing Copyjack was an interesting learning experience, because it was the first time I worked with a website thing that was inconsistent across browsers, and for the next few days I’d get reports about the clipboard being bad in some browser in some OS. This resulted in a lot of spaghetti code, and one day I hope to improve Copyjack to the point of being acceptable for release. But in the end, thanks to Copyjack, we were able to add copy-to-clipboard buttons to the puzzles that needed it, and we didn’t have to modify most of them.
I’ll end this section with some other web things I did for this year’s Mystery Hunt, which was mostly postprodding puzzles. As I talk about in an earlier section, post-production is the process of converting the puzzle and its solution from to a webpage that gets served on the hunt website. Anyway, here’s some notes from some puzzles I postprodded.
- Unmasked. This was the first puzzle I tested the copy to clipboard button on. It was mostly because before the clipboard button existed, there was a link to an Excel file containing the grid. This was simply unacceptable, which is one of the main motivations I had for making the clipboard button in the first place.
- Not Again!. The styles here for the blanks with the numbers underneath are directly stolen from what GPH did. I copied the blanks and numbers directly from a picture, hence the unfortunate erratum that had to be released an hour into the hunt. Oops. I’m still surprised that I only made one mistake in the transcription, though.
- Bad Air Day. Nothing particularly notable about postprodding this one, other than the fact that I spent some amount of effort making it look pretty, so please appreciate it and give me validation for my efforts. Note that the background is the authors’, and actually the layout is also the authors’, so really all I did was turn it to HTML.
- FedEx. My part of the postprod was obfuscating the JavaScript code in the source code. Unfortunately, I also edited this code, and failed to commit the edits I made. So the original, unobfuscated source code was lost, which meant that whenever we had to make a change, I had to figure out how the obfuscated code worked. Thankfully, we only needed to do this twice, and the changes were changing the number “3” to “4” and then “5”.
- Triangles. This was a puzzle that was a pain to make work with the copy-to-clipboard button. The fun fact I learned about this one is that Google Sheets will not copy the background of a table cell if it is both blank and merged with another cell. Truly awful. The workaround here was adding a zero-width space to the empty cells, which isn’t a clean solution at all, but whatever, it works.
- Bracketeering. Again, nothing too notable about the postprod other than the fact that I made it look pretty. Xander was the one who made the server-side thing work in the first place, which is laudable, but the original postprod had a huge horizontal-scrolling table. After some ✨magical✨ CSS and layout jiggling,34 The new layout meant that Andy had to change the beautiful Weak Nuclear Horse with Horse Field, though. I’m quite happy with the end result.
- Squee Squee. While Chris made most of the postprodding for this puzzle, I was the one who made the virtual pig.35 At the time of writing, you can view the virtual pig by looking at the solution. I also drew the graphics for the virtual pig, and I was trying to make it look like the actual pig. I hoped to capture the cuteness of the piggy bank, and I think I successfully managed that. Doesn’t it look so cute? Don’t you want to ensure that it stays healthy and out of physical danger?
- Foundation’s Collection. Like Not Again!, this was another case of “copying things by hand from the source and hoping I don’t make a transcription error”. In this case, it was from a Google Doc where certain blocks were manually colored red, except the original doc didn’t have spaces between the blocks, so making sure that I colored the right block red was arduous. Thankfully there were no errata reported for the puzzle.
I guess I’m a game developer now
Spoilers for You Will Explode If You Stop Talking and Boggle Battle.
At this point, I’ve mentioned all of the puzzles I’m a coauthor of, except for two: You Will Explode If You Stop Talking and Boggle Battle. Both of these are full-fledged games. YWEIYST in particular is still up, on an external website. Pro-tip: if you want to check out the game without getting three more people, you can open the website in separate tabs. Anyway, I’ll talk a little about how both were created, and the things I learned from working on them.
Both puzzles were written very late in the hunt creation timeline. It was mid-December and the only answers left unclaimed were the ones that became Lime Sand Season, Divided Is Us, and YWEIYST. The YWEIYST answer was PANASONIC Q, and I was itching to write a puzzle. So I talked with Mark and we submitted a proposal on Puzzlord for what became YWEIYST.
We spent an afternoon a few days later designing the specification. The only things that were part of the initial proposal is that it would be similar to KTANE, except the bomb would have six sides, one side of which is the manual, and rotating the bomb rotates it for everyone. We had a central question in designing YWEIYST. How do we encourage different people to cooperate with different roles? How do we prevent one person rotating everything to face them and doing everything themselves?
The original KTANE didn’t have this problem. It was expected for the expert to do all the manual lookups, and for the defuser to do all the defusing. Sometimes there could be several experts, but it was almost always the case that there was only one defuser. For YWEIYST, the expectation was that by having the manual on one side of the bomb, and requiring rotation to defuse certain modules, the role of the expert would shift from person to person.
One simple decision that ended up being pretty important was having two manuals, on opposite sides, with some controls controlling the opposite manual. We thought that five people defusing to a single expert would cause less cross-talk than four people defusing to two experts, and having more cross-talk was somewhat of a design goal.
There’s a bunch of other stuff I learned from implementing YWEIYST, in game design, implementation, and art, but I think I’ll talk about that some other time. Instead, I’ll end this part with some screenshots of what early YWEIYST looked like.
The most important thing I learned from doing YWEIYST was gaining this sort of confidence in myself. Yes, it’s a huge undertaking, but if I put my mind to it and work with people and take my time, it can happen. It’s a thrilling experience to see YWEIYST go from just cube rotations to being a fully fleshed-out game, one that I’m proud enough to show off.
Here’s the story for Boggle Battle. Mark and I volunteered to do the implementation, when on January 3 it was the only Basketball puzzle that hasn’t been implemented yet. We worked on it the whole day, and we got our first testsolve on January 4. It was vastly simpler than YWEIYST; Lewis already had the core logic, and Alan already had the spec, so it was a much faster process. Still, I’m surprised we managed to go from mostly nothing to a working prototype so quickly.
Implementing the click and drag logic was fun. It’s pretty satisfying to click and drag a long word out and see it flash green when it’s right.
A lot of the Boggle Battle code is dirty hacks. For example, did you know that I manually hardcoded the position of the circles based on which level it is? Or that, when I realized that some of the code was dealing with transposed coordinates, I just swapped the argument names?
By the way, if you think my front-end work looks good, I’m looking for an internship this summer…
Mystery Hunt, Mystery Hunt!
So much infrastructure
The days leading up to the hunt, we had several training sesisons to learn about all the weekend-of infrastructure we had. Silenda came with a dashboard page, presumably built upon spoilr’s, although I’ve never seen spoilr’s dashboard. There were these status pages where we could track the progress of individual teams and how many teams have solved a given puzzle.
Then there were the queues. There was a queue for unresolved emails and Contact HQ requests. There was a hint queue, where all the hint requests came, and an interaction queue for teams with pending “interactions”; I’ll talk about those more later. The way queues all worked is that someone looking at the queue could claim something, like, a hint request, and then respond to it.
On top of Silenda we also had several spreadsheets to organize other things. We had a big interaction coordination spreadsheet, where everyone helping out weekend-of listed the interactions they wanted to help out with. The same sheet also listed shifts for the various on-call roles we had during the hunt, like the Zoom Czar, the Email Manager, the Actor Wrangler, the Interaction Scheduling Manager, the Hint Monitor, the Email Monitor, and the Phone Czar. Andy talks about the less obvious roles in a Reddit comment.
There was another spreadsheet, the day-of main page, which had a bunch of links to a bunch of useful weekend-of documents. It linked to a FAQ, guidelines about hunt communication, a runbook for how to use all of the infrastructure, and some notes on the schedule.
For example, one of the things on that spreadsheet was coordinating when we’d get on the Projection Device. We had the very visible airplane emoji next to our display names and were clearly identifiable as the running team, so we didn’t go to a certain area on the Projection Device unless at least twenty teams had access to it. That’s just one example of the many things we coordinated over the weekend.
I’ll explain a little more about interactions now. A team due for an interaction showed up in the interaction queue. Someone then claimed and resolved the interaction, which differs depending on the interaction. We had four kinds of interactions:
- Puzzle interactions. Sometimes there are puzzles that solve to an instruction, like last year’s Cowboy Campfire, for example. There’s an entire category of these puzzles. The specific interaction depends on the puzzle; we had an entire document detailing the different kinds of puzzle interactions. For example, for Questionable Answers, it involved setting up a Zoom call where teams played a game of Jeopardy. For Game Ditty Quiz, we checked the team’s submission via email and then sent them the answer back.
- Post-meta interactions. I talk about this in an earlier section, but the gist is that after each meta solve, a team would be queued for a post-meta interaction. The Interaction Scheduling Manager finds people to run the PMI, puts it in the spreadsheet, the ISM sets up a meeting with the help of the Zoom Czar, and then sends the meeting to the team.
- Story interactions. In story interactions, the actors act out a story scene for a given team. When a team gets slated for a certain story interaction, the ISM chooses a timeslot for the interaction, the Actor Wrangler works to find the necessary actors for the scene, then puts it in the spreadsheet, the Zoom Czar sets up the meeting, and then the ISM sends it to the team. Story interactions are mostly triggered at certain times rather than being triggered by any particular event, as mentioned earlier.
- Check-ins. This is when a member of Galactic talks with a team and asks how they’re doing, and things that they could do to help. People could do check-ins when they generally felt like it, or the ISM could ask people to do check-ins. The person doing the check-in calls the team through their given phone number to ask if they want to schedule a check in. If so, they ask the team for their preferred method of checking in, which could be joining a Discord server or setting up a Zoom call. This is then put in the spreadsheet and the check-in happens.
Not really much to say here other than the fact that it was a lot of impressive spreadsheet juggling, but, well, it happened. All in all, the weekend went smoothly…
Load testing is also hard
…mostly smoothly, except for the fact that we had several unanticipated issues. Now, I’m not remotely knowledgeable on servers or systems, so everything I’ll report is based on my shoddy understanding of them.
For example, there were some issues with Cafe Five. So Cafe Five was this puzzle in the Infinite Corridor where you did a series of tasks, and after keeping it up for several minutes you get a token, and you can spend a token on a Cafe Five puzzle to get an answer. Due to a problem, however, it’s possible for the same token to be spent to get answers to two Cafe Five puzzles, if they use it at the same time.
We also had an issue with all of our Basketball puzzles, which were all built on the same framework. Sometimes inputs weren’t being registered, or connections were being dropped. There was even one case when a team won a game of You Will Explode If You Stop Talking, only to lose a few moments later due to a strike. This was also compounded by the fact that the Basketball puzzles were all time-released, which meant that pretty much all the teams were working on them at the same time. I’m not sure if that was the best idea, but, well, it happened, and it didn’t turn out too bad.
One of the issues was with scaling. Some feature of Google Cloud automatically scaled with the number of people connected. Whenever it scaled, however, it disconnected some of the existing connections. These were treated as requests taking too long, which would lead to even more auto-scaling. This was solved by turning off auto-scaling and just scaling to a large enough number in the beginning.
There was another issue related to atomicity. Or at least, we suspected that it’s related to atomicity, although this was never confirmed. The way the Basketball puzzles worked was that they stored all their information in a database. Problems happen when multiple servers try to read and write the same things at the same time. People who work with databases use things like “atomicity” to prevent these problems. But even if we were being atomic and everything, problems that looked like they could’ve been caused by atomicity still came up, and due to the nature of these problems, they’re difficult to reproduce.
I don’t know. I’m not even sure I want to know. The lesson is that servers are hard, distributed systems are hard, and I should take a class about them. I’m taking suggestions.
Interacting with teams
Most of the weekend was a blur, but I do remember a handful of interactions. In the end, I got to run every interaction I wanted to. Interacting with teams is really fun, and gave me a lot of joy during the hunt weekend.
My first interaction was Escape! Hayden Library, with the Lexingtons, at 6 PM on Friday; you can view the script in the author’s notes in the solution. Then I didn’t do any interactions until the Infinite Corridor post-meta interaction with Palindrome at like, 12:45 AM on Saturday. The Infinite Corridor PMI is very fun, because either I’m taking the role of a clueless Yew Labs member paging through a poorly sorted directory, or a contractor telling people to say the word whom’st’ve. In all, I ended up doing the Infinite PMI six(!) different times.
Other PMIs I ran were Green Building and Students Center, each which I ran twice, and Athletics and ⊥IW.nano, each which I ran once. For ⊥IW.nano, since I couldn’t get the virtual background to work right, I raised a notebook and said I was showing the team “a projection of my lab”. I got to do both a Green Building interaction and an Athletics interaction with We Can’t Hear You You’re On Mute,36 Alan, who edited this post, wanted an annotation here of him saying hi. and both times, I made it a point to enter the call on mute. It was very fun getting them to shout, “we can’t hear you, you’re on mute”. I will never get tired of that joke.
I did two more puzzle interactions after that, Bake Off and MIT/⊥IW Experimental Evidence. I ran four Bake-Off interactions, which consisted of showing teams cookies sampled from the Bake Off gallery and asking them to identify the emoji. Look at all these beautiful cookies teams baked!
Then I ran six Experimental Evidence interactions, which were a bit more involved. Experimental Evidence is the traditional scavenger hunt, as the puzzle page explains, which is an annual Mystery Hunt puzzle. For this scavenger hunt, teams were supposed to take pictures of things like Kresge Auditorium or the Great Dome. Except they could’t actually go on campus and take a picture of the actual Kresge or Great Dome, so they had to get ✨creative✨. As part of the interaction, I got to pretend to be a “committee chair”, and teams had to defend their “discoveries” to me. These were some of my favorite interactions:
- The first one I did was with ET Phone in Answer, which is the ET team. I knew a handful of people in the team, so I claimed the interaction and enjoyed getting to snark at my friends. They claimed the sun was a “functional fusion reactor”, which is technically true, but I decided to be mean and reject it. They also submitted the same picture for four of the items, and I asked them if they had “funding issues”.
- I got to do one with Left Out, and one of the members showed me the coin from the 2019 Mystery Hunt. Except it was more of a manhole. It was huge. The picture doesn’t do it justice.
- I did this for We Can’t Hear You You’re On Mute. This was the Tetaputz team, a big team having its roots in East Campus. I got to hear some cool lore, like how Bad Ideas Weekend originated. That was nice.
- I did the interaction for three more teams: Super Team Awesome, Singles Ready to Stay Inside, and I’m not a planet either. Unfortunately, by then, I was doing these interactions at an ungodly hour on Sunday morning and my brain was fried. So although I remember I had lots of fun bantering with teams, I don’t remember anything specific. Oops.
I also did a bunch of check-ins with teams, through Saturday afternoon and Sunday morning. During check-ins, I would ask the team how they’re doing, ask them if they’ve had any issues, and maybe give a hint or two.37 This is one of the reasons I'm happy to have seen so many of the hunt's puzzles. I was familiar enough with most of them to give hints without looking things up, which is a really satisfying feeling. I checked in with Spore Giant, a group of puzzlers from Singapore, and I bumped into a friend from the Philippines whom I hadn’t talked to in a while! In general, it was a neat feeling checking in with a team and getting to talk to someone I hadn’t talked to in a while.
It was also during check-ins that I got to see the many sorts of teams that joined Mystery Hunt. I got to meet teams with dozens of people and teams of five, from all sorts of places. Some were groups of close family friends, others formed from university affiliation, while others were just friends over the internet. I got to see Discords and Slacks and Zoom rooms, and, in one case, even gather.town. No matter the team, it was always fulfilling to hear them say that they were having fun. I ended up doing check-ins with twenty-one teams, and it was so fun that I wanted to do more.
Some stats commentary
One of our minor design goals was to have good stats at wrap-up. Well, yes, there were lots of good stats at wrap-up, and you should go watch it! Some commentary from me:
- The hunt turnout was huge. We had 283 teams solving at least one puzzle, which is more than double last year’s number of 129. We also had 112 teams solving at least one meta, 41 teams solving at least one main round, and hence getting a story interaction, and 12 teams finishing the hunt. Twelve, compared to last year’s five! It’s nice how closely this matches our initial goal of “50 teams having some sort of interaction, 20 teams through hunt midpoint, and 10 teams finishing the hunt”.
- Our internal tool for monitoring where people were in the Projection Device, Marauders, also has a time travel feature. So for example, this is what Monday 1:33 PM looked like. The reason there’s so many people was that, after the wrap-up, we all took a group picture on the Dot.
- Some funny wrong answers are talked about in this comment and this comment in the Reddit AMA. There’s the beautiful answer “OH NO I CANT BELIEVE YOUVE DONE THIS I THOUGHT I WAS DONE” for my puzzle Everybody Dance Now. I dug through the submissions and found these other funny answers:
- Halibut that Bass, for Ignorance: “WE REALLY HOPE THE SOLUTION WRITE UP ON THIS ONE IS DETAILED BECAUSE WE ARE POUNDING OUR HEADS AGAIN”.
- Test Solution Bees Ignore, for Oh, the Places You’ll Go: “HELP WE KEEP THINKING THIS IS THE ACTUAL TEXT ADVENTURE PROMPT”.
- The Puzzledome, for The Lexicographer Looks After His Own: “I DIDNT GET TO SUBMIT THIS DURING HEART OF THE CARDS SO HERE IT IS”, “POT OF GREED ALLOWS ME TO DRAW TWO MORE CARDS I WILL START MY TURN BY PLAYING POT OF GREED WHICH ALL”, “OWS ME TO DRAW TWO MORE CARDS I WILL PLAY THE MAGIC CARD POT OF GREED WHICH ALLOWS ME TO DRAW TWO NE”, “W CARDS”.
- Libra Complexity, for East Campus: “WOODEN CHAIR FROM THE DUMPSTER BEHIND THE CHEM DEPARTMENT”.
- NES, for Athletics: “THEYRE JUST ABSOLUTELY TERRIBLE AT SPORTS IN GENERAL”.
Heart and soul
Wholesome virtual moments
Even in the initial proposal, all the way back in March last year, the goal was for the MMO to be a “truly shared experience”. But we couldn’t have anticipated all the ways that people used the MMO to connect with each other:
- Emotes! They were an eleventh hour addition to the MMO, but I’m so glad they were added. Basically, you could press E to have this emote show up over your head. You could also talk to certain NPCs in the MMO to collect emotes. They weren’t part of any puzzles, they were just there for fun. I loved walking in the MMO and doing the 👋 emote, and then have people emote back!
- I heard a story from someone that went roughly like this. Person A saw person B use the 🏳️⚧️ emote, and then person A spun around in circles. So person B directs person A to the NPC who gave the 🏳️⚧️ emote. It was nice seeing people sharing where to find each emote, and see teams collaborate over something that isn’t a puzzle because it’s just fun. By the way, this is the dialogue of the NPC that gives the trans flag emote, that Nathan wrote:
- Seeing immense amounts of people, anywhere, just brought me joy. Like seeing a bunch of people outside 26-100, waiting for the Archery event to start, or seeing a bunch of people going around ⊥IW for the runaround. There’s even the final, huge group picture on the Dot we took after wrap-up.
- There were whiteboards around the MMO that people could write on. We were worried that people would use it to write crass things or spoilers, but in the end, we only had to issue a handful of warnings, and the issues were resolved in every case. Instead, people wrote really nice (and funny) things.
- Central Services solved Everybody Dance Now using the Projection Device! When I wrote the puzzle, I expected people to work it out on a spreadsheet, rather than actually do the square dance calls. But they did it in the Athletics area, and I passed by and waved at them and then they waved back and it made me so, so happy.
- It was great seeing people use names creatively. This is Test Solution Bees Ignore performing a rickroll, and then showing the first part of the Bee Movie script. Spore Giant used their names to promote pandemic safety. I also had a conversation with someone through name changes, and heard about other people who did that too. It was so nice.
- Lots and lots and lots of team pictures. Left Out, Non-Abelian Rage Theory, Palindrome, Cardinality, teammate, Up Late, On Search, Grand Unified Theory of Love, Setec Astronomy, CODEX-21 and definitely many more I haven’t seen.
- A fun team picture and emote story from Eddie and Cactuar Juice. Cactuar Juice was setting up their group photo in the projection device, they saw Eddie doing laps, and changed their names to cheer for them!
- Death and Mayhem, while waiting for their final runaround, collaborated with several other teams outside East Campus to form a heart. It started out being an outline, and eventually people filled it in.
- And of course, I saved the best story for last. There’s this member in the writing team named Yannick, and team Please Knock had a bunch of people who knew him. Some time very early on Sunday morning, a bunch of people on Galactic went to the Dot and ran around in circles, in memory of the Damien Tornado.
- Then a bunch of people from Please Knock changed their name to “FREE YANNICK”. They just ran around the MMO and collected people, all changing their names to “FREE YANNICK” or “UNSTICK THE YANNICK” or “WE STAN THE YAN” or some variation. Then, per Nathan: “Eventually Yannick logged on, and we all crowded around him and ushered him to the Stata steps to give a speech. Yannick’s speech was: ‘👋’.”
- Here’s are some screenshots relating to the Free Yannick movement. The first one references Exodia. Then there’s a screenshot of me interacting with a member of Please Knock asking for Yannick pics. Finally, there’s an excellent meme38 There are many subtle layers to this image. First, notice the <a href="https://puzzles.mit.edu/2021/static/puzzle_files/357c28004d3dec36/image32.png">perfectly poised Yannick picture</a> holding a basketball in Lobby 7. Second, a cube of paper with FREE YANNICK, referencing <a href="https://puzzles.mit.edu/2021/puzzle/powerful-point/">his puzzle</a>. Third, a graph in the background shows a bump roughly the time the Free Yannick movement occurred. Finally, a screenshot of me saying “no yannick pics”. from Please Knock themselves.
Galactic amounts of love
One of the coolest things about Mystery Hunt is how much of MIT history I’ve learned from it. ✈✈✈ Galactic Trendsetters ✈✈✈ is a team with a lot of Floor Pi alumni, and I’ve gotten to know a little bit about what the floor was like. My friends from Tetaputz say they’ve heard some cool stories about East Campus. I’m not on Super Team Awesome or Wafflehaüs or such, but I’m sure these teams are also passing down tidbits of culture from one group to another.
But more than history, I’ve gotten to know the people in Galactic. I’ve spent a lot of time these past few months isolating myself physically, and socializing with the people in Galactic has been a huge factor in getting me through the year. I loved it when people just streamed themselves playing video games or doing crosswords, or when people just joined a voice channel and quietly did work with each other. It gives me hope that even after I leave MIT, I’ll keep some of the friends I’ve made along the way.
I’ve come to see Galactic not just as a Floor Pi team, or an MIT team. It’s difficult to put into words what brings the team together, and certainly all these factors are a part. But it’s something larger than that. Maybe Amon said it best, when he said that “I wasn’t an MIT alum, but I was a ⊥IW alum.”
Now, I think I can say that my connection with Galactic isn’t just that I lived on Floor Pi and Galactic grew from Floor Pi, or even that I’ve hunted with them and written a hunt with them.
I have a lot of friends in Galactic, and I love them all so much.
The spirit of MIT
Here’s an excerpt from the excellent blog post why mit:
a lot of things happen at MIT. they happen because people make them happen. MIT tends to take away the belief that there are things you can’t do. people pick up new skills like pebbles off a beach. they can do that because MIT teaches you how to learn, and then puts you in a community of people who all know things that you don’t know.
Working with Galactic for the Mystery Hunt reminded me of this, very much so. During theme selection, I’ve had my doubts about the MMO, and even when it got selected my vision for what it’d be was something small and simple. It grew into something an order of magnitude more full, and polished, and complex, than I expected it to be.
We spent a year working on this project that was, by any scale, ambitious. We aimed for the stars, and we shot our shot, and not because we were expecting to get anything tangible in exchange. We spent months creating an entire virtual world and hundreds of puzzles, that would be enjoyed by only a handful of people39 After all, the number of people who'll ever see any given puzzle is probably less than the number of views the front page of MIT Admissions gets in a week. over the span of but a weekend. And we did this, we made all of this because… because what?
People in the team may have done it for different reasons, but I want to believe that many of us did it to give back to the puzzle community, to create something we’d be proud of, to make a piece of art that will be remembered and talked about in the years to come. And I think, I think, I think that we will be remembered, in the years to come.
And if everyone else forgets about the hunt, then I’ll remember it. Mystery Hunt 2021 is meaningful to me, for reminding me that yes, people try, and people take risks. And sure, maybe people fail eleven times out of twelve. We took no small risk, and we very much could have failed ourselves. But every once in a while people succeed and make something beautiful, and the risk would have been worth it.
What now?
The thing about big events like Mystery Hunt or Splash is that I crash after them. There’s this withdrawal, this coming down after the high of a weekend of constant interaction. It’s been two weeks since the hunt ended, at the time of writing, and I’ve done nothing but work on this post, having little energy for anything else.40 Even writing this post was a struggle. I mean, sure, I wrote words at a rate that could have finished a <a href="https://nanowrimo.org/">NaNoWriMo</a>, but by no means am I <i>that</i> proud of this blog post.
My psychiatrist said that if there was only a Mystery Hunt every month, then he wouldn’t have that much work to do with me. It’s a joke, of course, but the sentiment rang true. Although I definitely do not have the capability to work on Mystery Hunt that much, it’s definitely the case that the days leading up to Mystery Hunt were some of the happiest days I’ve had in a while.
I don’t think people in Galactic will be in the mood to win Mystery Hunt any time in the next few years, and I think that’ll be nice—I want to enjoy participating in Mystery Hunt as much as I can while I’m still in MIT. And of course, although writing the hunt was fulfilling, it was exhausting, and I imagine that several people in Galactic feel similarly.
After the hunt ended, we had a Reddit AMA where we answered a bunch of questions from people. We’ve had two meetings since the hunt ended: one meeting to talk about preserving parts of our hunt, and another meeting to serve as a retrospective on what happened. Puzzle Club also had a meeting with Palindrome to talk about some logistics, and already another cycle of the Mystery Hunt is beginning anew.
Some things I’m looking forward to. Future puzzlehunts, of course. Contributing to the next the Galactic Puzzle Hunt, whenever that’ll be. Working with Palindrome as the Puzzle Club to make Mystery Hunt 2022, and then participating in it. And, you know, finally getting some rest, now that this novella-length blog post is finished.
Oh, and one last thing…
One last thing
I’m happy with many of my contributions to this year’s Mystery Hunt. Writing Everybody Dance Now and Charisma, getting to testsolve so many puzzles, the copy-to-clipboard button, developing two games from mostly-scratch. And I’ll admit that I’m so, so happy to get all this praise from people I don’t know, even people I admire, for these things. But the thing I’m happiest with isn’t something big or noticeable or difficult or technically challenging or time-consuming. The things I’m happiest about are all the tiny contributions I made to the MMO.
If I were writing about the things I learned making this hunt, maybe I should talk about what I learned while contributing to the MMO. I learned some very small things about Unity and assets and tilemaps and stuff like that. I learned enough C# to hack together some small quality-of-life things, like the size messages in ⊥IW.nano. Nothing big, but it’s encouraging in the sense that I don’t have to know everything about something to contribute to it.
But that’s not the part I’m happiest with. No. The things that make me happy involved things where I didn’t learn anything, things that even felt like grunt work at times. Like putting little glowy circles under lamplights.
Or putting my self-insert NPC in front of Building 7.
Or making the NPCs in the Infinite Corridor say different things and wear different clothes from room to room, rather than all looking the same.
Or filling in the NPCs in Lobby 10, and making them advertise all of these made-up student organizations.
Or writing dialogue for the many, many NPCs who have problems. Many, many, many NPCs.
Or adding random NPCs that have no relevance to the hunt whatsoever—
—just referring to things that remind me of MIT.
It bugged me, so, so much, to walk in these digital hallways, filled with only empty walls, lots of doors, windows that don’t even show the outdoors. I found myself aching for bulletin boards and campus tours, and for people walking on these untiled floors.
It hurt me because it felt so real to walk through an empty MIT. It hurt me because the empty ⊥IW reminded me too much of what it’s like now. Because yes, yes, this is what it’s like now, now that MIT’s closed and a pandemic is raging and we’re doing everything remotely.
And that’s not what it’s supposed to be. That’s not what MIT is supposed to look like. It’s supposed to be filled with people, lots and lots and lots of people, all with their own problems,
and dreams,
and many, many things to say.
And yeah, sure. Maybe it sounds inauthentic or overdramatized. Maybe this isn’t what MIT is really like, not even when everyone’s on-campus, and I’m just playing it up.
But fuck it. MIT sure as hell feels like this, at least to me. No global catastrophe will take that away.
- Breaking admissions blog convention here; many of the people I mention are MIT alumni but several aren't, and I also don't know everyone's years off the top of my head, so I just won't write years. back to text ↑
- Original phrasing being TRENDSET the Mystery Hunt. back to text ↑
- True J lives on as the name of one of our Discord bots. One of True J's responsibilities, for example, is rebuilding the MMO. back to text ↑
- Apparently they could've been released earlier, but the delay was for deciding whether or not to include the round in the first place, since there were concerns about hunt being too long. back to text ↑
- I'm informed that this was intended to be stricter, but I don't think this is true. back to text ↑
- Boring numbers incoming. back to text ↑
- Dan Katz notes in a comment to his blog post that Setec calls this girth. Interesting. back to text ↑
- For some reason, we internally called this the Jon strategy. We all tend to like the Jon strategy, although supposedly it's controversial? I wouldn't know. back to text ↑
- I have no idea what the median is being taken over, actually. Or which teams were being modeled by the simulation. Ask the editors, not me? back to text ↑
- This is a pun on the Pokémon Guzzlord, which says a lot about our sensibilities. back to text ↑
- If you were wondering why so many puzzles seem to be oddly tailored to their answers, this is the reason why: often the answers are matched to the puzzle, or the puzzle written to have a certain answer. back to text ↑
- Short for Identity, Sort, Index, Solve, a type of puzzle whose steps are identify, sort, index, solve. Not particularly original by any stretch. back to text ↑
- One proposal for the W was wechnology, which I thought was brilliant. Of course, I was a proponent for wumbology myself. back to text ↑
- Fun fact. It was called MIT.nano in the Projection Device and all the dialogue up until December or January. back to text ↑
- Silenda here is the hunt website server; I talk about this more later. Non-technical explanation: imagine fitting together Lego bricks with Mega Bloks with Ikea pieces, all using a screwdriver. I have no idea how it worked. back to text ↑
- Kat tells me that this estimate includes no work done on achievements, and no nav puzzle implementation for Tunnels. Wow. back to text ↑
- It was eventually moved to 26-100, because we realized that not all teams would've unlocked Kresge by the time the event happened. back to text ↑
- A commit is kind of like an update made to the code. back to text ↑
- I'm sorry theater people, but I'm absolutely clueless as to what tablework is, even after looking it up. back to text ↑
- Off-book, meaning, without looking at the script. back to text ↑
- What if we use the fact that the universes are perpendicular? Yep. The same play on the name of ⊥IW, being used yet again. back to text ↑
- We also considered canceling the hunt and running the hunt as-is if it was possible, neither of which we were seriously considering. back to text ↑
- This is becoming a theme, isn't it? back to text ↑
- Which, wasn't a serious idea, right? Right? back to text ↑
- Supposedly, Kat wanted potholders, and DD offered to send some. But then DD stealthily included a lobster costume with the shipment. back to text ↑
- If you're reading this early enough, then the shirt should be available for order if you want it! A portion of the price goes to supporting the Mystery Hunt. back to text ↑
- The one I don't mention here is the Filipino Students Association, which I'm the president of. back to text ↑
- An Athena locker is a folder in the Athena filesystem, which is where the Puzzle Club stores most of its data. back to text ↑
- Note: putting the registration site up, distinct from actually making it or working on it. Which I did, but not as much as, say, Jakob, Charles, Brian, Alan or Nathan did. back to text ↑
- See this post for a good introduction to cryptic clues. back to text ↑
- The notes in the solution claims it is the last puzzle, but only because Better Bridges was written after the solution was written. back to text ↑
- Steven says they chose the name because it is Latin for that which is being kept silent, following the name of spoilr. back to text ↑
- Except I tore out the jQuery, because I am vehemently opposed to jQuery. Sorry, not sorry. back to text ↑
- The new layout meant that Andy had to change the beautiful Weak Nuclear Horse with Horse Field, though. back to text ↑
- At the time of writing, you can view the virtual pig by looking at the solution. back to text ↑
- Alan, who edited this post, wanted an annotation here of him saying hi. back to text ↑
- This is one of the reasons I'm happy to have seen so many of the hunt's puzzles. I was familiar enough with most of them to give hints without looking things up, which is a really satisfying feeling. back to text ↑
- There are many subtle layers to this image. First, notice the perfectly poised Yannick picture holding a basketball in Lobby 7. Second, a cube of paper with FREE YANNICK, referencing his puzzle. Third, a graph in the background shows a bump roughly the time the Free Yannick movement occurred. Finally, a screenshot of me saying “no yannick pics”. back to text ↑
- After all, the number of people who'll ever see any given puzzle is probably less than the number of views the front page of MIT Admissions gets in a week. back to text ↑
- Even writing this post was a struggle. I mean, sure, I wrote words at a rate that could have finished a NaNoWriMo, but by no means am I that proud of this blog post. back to text ↑