How to Run a Puzzlehunt

View Solution

Show canned hints
KeywordsContent

This is a git diff, a file representing a set of changes to apply to a git repository. You will need to locate a significant resource on another website to solve this puzzle. Try Googling any suspicious phrases in the puzzle content.

Ignoring the meta, each hint request consists of exactly three paragraphs. Each paragraph should actually be applied to a different non-meta puzzle. You will often need to try to follow the hint requests on the puzzles they were requested for to understand what the hint requestor was trying to do in each step.

The number and order of steps is always preserved, and all three steps originally applied to one puzzle are assigned to different puzzles: the first step a solver tried should be the first step on another puzzle, the second step should be the second step on a third puzzle, and the third step should be the third step on a fourth puzzle.

(The puzzle does not divide neatly into subpuzzles, so mix and match as needed.)

Use aspects of the puzzles mentioned in the hint request steps to assign them to puzzles on which they apply equally well or better. For example, the very first step in the puzzle, the one starting "I have solutions for most of the subpuzzles from a friend", must apply to a different puzzle that has subpuzzles with solutions.

Two of the 18 steps conspicuously mention a grid. Both should be assigned to the puzzle that most obviously features a grid.

There's a bit of a divide between puzzles that are very number-heavy and steps that operate heavily on numbers, and puzzles and steps that aren't. This should help you reassign some of the first steps to other puzzles.

The puzzle title that "clues" the famous video game technically clues its subtitle, but that's the name by which the video game is most uniquely known.

The first step in the Championship hint request sorts clues in reverse by length and should be assigned to Ambiguity.

The second step in Championship's hint request conspicuously references a "? in the middle" and should be assigned to a puzzle with such a question mark.

Only a few puzzles include clearly boxed content or discrete blanks on the bottom, which means there are few possibilities for the hint request steps that reference such aspects of puzzles.

When the assignment is complete, solvers should arrive at a plausible answer on every puzzle that matches the description of what the requestor wants at the end of their third paragraph, and that also works with the final meta. Follow the hint request on the meta to extract the answer.

diff --git a/README.md b/README.md
index 63aac5c..21fffa2 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ This is a Django app for running puzzlehunts, written by several members of ✈
 
   + The site is set up to use a `db.sqlite3` file in the root of this repository as its database. If this doesn't exist, Django will create a new empty database when you run `./manage.py migrate`. It's perfectly fine to start with this, but you won't have any puzzles populated and you almost certainly want to create a superuser.
 
-    If you just want to try out the website quickly with some sample data, you can run `./manage.py loaddata sample.yaml` (after `./manage.py migrate`) to load a sample hunt, an admin account (username and password `admin`), and a test account with a team (username and password `test`). You can view the templates used to render the puzzles in the [puzzles/templates/puzzle_bodies](puzzles/templates/puzzle_bodies) and [puzzles/templates/solution_bodies](puzzles/templates/solution_bodies) folders, which you can also base your puzzles/solutions off of.
+    If you just want to try out the website quickly with some sample data, you can run `./manage.py loaddata sample.yaml` (after `./manage.py migrate`) to load a sample hunt, an admin account (username and password `admin`), a test account with a team (username and password `test`), and some sample hint requests. You can view the templates used to render the puzzles in the [puzzles/templates/puzzle_bodies](puzzles/templates/puzzle_bodies) and [puzzles/templates/solution_bodies](puzzles/templates/solution_bodies) folders, which you can also base your puzzles/solutions off of.
 
 - ...be a superuser?
 
diff --git a/puzzles/fixtures/sample.yaml b/puzzles/fixtures/sample.yaml
index 556052e..b63ce79 100644
--- a/puzzles/fixtures/sample.yaml
+++ b/puzzles/fixtures/sample.yaml
@@ -79,3 +79,96 @@
     user: 2
     team_name: test
     creation_time: "9001-01-01T00:00:00+00:00"
+- model: puzzles.Hint
+  pk: 1
+  fields:
+    team: 2
+    puzzle: 1
+    submitted_datetime: "9001-01-01T00:00:00+00:00"
+    hint_question: >
+      I have solutions for most of the subpuzzles from a friend, except for the two longest clues, which they weren't able to solve. I'm hoping I can get by without them, because I don't know how they got their answers and they're busy right now, so I put in placeholders for the unsolved clues and hope they'll be resolved later.
+
+
+      I didn't trust the ordering I got up to this point, so I decided to sort the things I had extracted, first by length and then lexicographically to break any ties. And there were quite a few ties, which were between things of even length.
+
+
+      Finally, I guessed that the numbers in this puzzle might suggest that there were some kind of Caesar shifts involved. I don't know what the shift amount is, but I thought that might be okay because I could just try all of them. I'm super demotivated and want something soft to cuddle now...
+- model: puzzles.Hint
+  pk: 2
+  fields:
+    team: 2
+    puzzle: 2
+    submitted_datetime: "9001-01-01T00:00:00+00:00"
+    hint_question: >
+      I noticed that the last digit repeats a lot, so I tried concatenating the numbers into groups by that, and then of course discarding that last digit, since we used it. (So I got two groups of 17 and 8 digits respectively.)
+
+
+      Then, I noticed that we had a square grid (in this puzzle, just by putting the 25 digits in row-major order), and a square grid makes me want to play Boggle on it, so I tried tracing some paths in the grid. Some of the numbers I got by tracing: 14134, 14534, 26953, 31341, 31641, 43213, 43413, 72764, 87221. I was pretty sure that only one of the paths I found would be relevant (in this puzzle I thought 31641 was the most compelling), and that this wouldn't be the last step even if I got a word I might want.
+
+
+      Finally, I discovered that I can just randomly anagram what I got into 31416, but PI isn't the answer. I would really like some help, in any form!
+- model: puzzles.Hint
+  pk: 3
+  fields:
+    team: 2
+    puzzle: 3
+    submitted_datetime: "9001-01-01T00:00:00+00:00"
+    hint_question: >
+      So I think I figured out the first part, what the puzzle is cluing (STOP and TIME). That's cool because I can make a grid with the letters (it's just 2x4), but after I couldn't find anything in it I tried flipping the grid vertically, or equivalently, reversing the order of the rows.
+
+
+      After that, I realized I haven't used the blanks at the bottom, so I decided to just keep only the first few of the letters, as many as needed to fill the blanks, and delete all the rest.
+
+
+      Although I think the puzzle is definitely suggesting that I should submit the contents of the box as the answer, what I have there currently isn't a word. But I thought I could try guessing just the last ⅔ of the letters, since that's a plausible answer (kind of... sounds like something musical?), but it was incorrect. How could I have been prevented from solving this puzzle?
+- model: puzzles.Hint
+  pk: 4
+  fields:
+    team: 2
+    puzzle: 4
+    submitted_datetime: "9001-01-01T00:00:00+00:00"
+    hint_question: >
+      I looked at the clues and thought that the first step would probably be to reorder them, so I did that and got an ordering that ends STRO?UHR, INC?SOR, ECZ?MA. It's kinda cute that the last letter of the alphabet is in the last clue in this ordering as confirmation, although I think that's too obvious and just having a lot of very late letters in the last clue would be fine.
+
+
+      For each clue, I tried to solve it while ignoring the ? in the middle for now, which I thought might be used later. Then, I tried to find a word that fit in the bottom blanks that could be clued by "eczma" or any of the other words I got.
+
+
+      When that didn't work, I remembered that numbers and letters are interchangeable in puzzlehunts, like A=1, B=2, and so on, so I decided to sum the things I had. I would have really liked it if the numbers were small enough to convert back to letters (but they weren't: the first few numbers I got were 161 and 175, so I'm totally stuck). I think I need to find more structure in this puzzle to solve it.
+- model: puzzles.Hint
+  pk: 5
+  fields:
+    team: 2
+    puzzle: 5
+    submitted_datetime: "9001-01-01T00:00:00+00:00"
+    hint_question: >
+      I heard your hunt had a lot of puzzles about video games, so I tried to see if there were any famous video games, probably one of those considered best of all time or something, that might be clued by the puzzle title because they start with the same, say, three or four letters. But those letters shouldn't be pronounced the same way in the title and the puzzle, since that would be too obvious. (I found Diablo and Diablo II, but was hoping for something much more recent...)
+
+
+      That didn't get me anywhere, so I looked at the rest of the puzzle and noticed that there were a lot of numbers, so I guessed they might be indexes and extracted some letters that way (I got D, R, A, M, D, I...) For the numbers that were too big, of course I just wrapped around (so 2016 became index 3, or A), and so on. I thought it seemed promising that the second to fourth letters form a word.
+
+
+      When that didn't reveal anything, I looked at the puzzle again and realized I hadn't used the clues yet. I could use the numbers to index into those instead. But I tried that too, and didn't get anywhere. When will I be able to exclaim victory over this puzzle?
+- model: puzzles.Hint
+  pk: 6
+  fields:
+    team: 2
+    puzzle: 6
+    submitted_datetime: "9001-01-01T00:00:00+00:00"
+    hint_question: >
+      I looked at all these numbers and couldn't see anything meaningful in them, so I decided to transform them, digit by digit, into new numbers (so like the first line became (7,7)—(15,15) and the last line became (19,31)—(31,27)). You get the idea.
+
+
+      I didn't get anywhere after staring at these numbers some more, but I thought I could try a little harder, so I added 1 to all of them. I like the power of 2 I got at the start.
+
+
+      Alas, my data overall still looked like garbage, but I concatenated it all together and tried to find an answer anyway. Maybe there was an ancient non-English name of something that matched what I had?
+- model: puzzles.Hint
+  pk: 7
+  fields:
+    team: 2
+    puzzle: 7
+    submitted_datetime: "9001-01-01T00:00:00+00:00"
+    hint_question: I noticed what the answers have in common, but I can't figure out what order to put them in. I'll probably just keep them in the provided order right now, even though I know it's alphabetical by puzzle title, and hope that I can get an answer out of that. My teammates are also saying different things about what they think the answers should be. What's going on?
+    status: ANS
+    response: Based on all the hint requests you've made, we think the most helpful thing to try would be to have your teammates all try working on different puzzles than the one they're working on right now.