Congratulations to the 147 teams to save Matt & Emma’s Deep-space Disaster!
Additionally, congrats to the
See more stats here!
We are thrilled you could join us on this adventure. The rest of this wrap-up will contain heavy spoilers for the hunt. You have been warned.
Our primary design goal for this hunt was:
The puzzles and structure are the medium for story/theme. People should experience whatever theme or plot we design through simply solving the hunt normally.
We had 6 themes in our voting phase, with the branching structure proposal (under the working title of Starship Saga) taking first place. We liked that it allowed us to create a cohesive experience and to innovate on the structure beyond what has been done with the time travel trope (GPH 22, PHCMU Fall 2018). The original proposal included a general structure graph featuring 3 main endings, a vent-like bypass, and an early detour to fix something critical for reaching a good ending (what became the reactor).
We split into groups for designing individual rounds (and usually, but not always, writing the capstone). These rounds were placed in the branching graph as their ideas were fleshed out. The story was filled in over time as the individual rounds were placed. A few examples:
Here is the original diagram from the proposal alongside the final structure.
We discussed several problems that hunts often have with story integration. The biggest problem was that engaging with the story is often separate from puzzle-solving, so solvers must choose between experiencing the story or continuing to solve the hunt. To accomplish our primary objective of providing a “puzzle experience” we made the following decisions:
Some of these decisions were contentious, such as the choice to omit an “All Puzzles” page, a puzzlehunt standard. We tried to mitigate this with other design decisions to smooth out the experience, including a dropdown to access past timelines and the ability to view and check answers to puzzles regardless of timeline.
We think that we were broadly successful at all these goals! While it was a lot more design, writing, and structure work to get everything to fit together, we think that our close story integration resulted in a hunt that felt like more than the sum of its individual parts.
The comic style as the hunt presentation medium was not part of the original proposal, but was suggested soon after the theme was chosen. Art is one of our team’s strengths. The art team was excited to draw a comic, and we felt like an interactive choose-your-own-adventure puzzle-embedded comic would be a great way to accomplish our story goals. Puzzlehunt round art often resembles a static scene or a map, with puzzles placed in particular locations. The comic presentation let us attach puzzles to points in time instead, which is more analogous to how they fit into the hunt’s story.
We spent significant time deciding how to mesh puzzle solving with story progress. In a typical puzzlehunt, entering a correct answer into the answer checker immediately unlocks new puzzles and maybe some story progress. However, since solvers in this hunt would be navigating through the same part of the comic repeatedly, we realized we needed to provide a more convenient alternative to submitting answers on puzzle pages. Eventually, we decided that finding the answer to a puzzle and progressing in the story using that answer should be separate actions.
This presentation medium also solved the problem of multi-answer puzzles and how to handle multiple timelines:
Of course, breaking puzzlehunt tradition led to its own UX challenges. To address this, we needed to teach solvers how to submit “actions” on the comic, and added a tutorial branching point (Where to Next?) to teach solvers that decisions matter.
Common story feedback we’ve heard from our last two hunts is that solvers enjoy our story beats and atmosphere, as well as character design.
Here’s an informal guide we used to copyedit our comic and characters:
We had several notions of how puzzles/story could influence each other in a branching structure:
Here are the sets of panels that teams would see depending on which good ending they chose in their final run!
Captain's office (alien communication) good ending, storyboarded by Ariel, drawn and colored by Tracey
Greenhouse (fixing life support) good ending, storyboarded by Jacqui, drawn by Olga, and colored by Tracey
Navigation (plot a course to a safe planet) good ending, storyboarded by Cat, drawn and colored by Olga
As many of you have wondered, it is in fact possible to die for real on the last run if a team makes a mistake after yeeting away the timeium watches. However, there is no achievement for this, as we didn't want to encourage it.
HQ planned for this situation, and we manually restored runs to allow teams to finish for real, if they wanted.
Team reactions to this were anywhere between apologetic at the incident:
To somewhat confused:
To angry:
To blatantly shameless:
Our reply in each case:
Well, [TEAMNAME], you went and did it. You just had to mess around with things after you got rid of the time-travel watches. Now Matt and Emma are going to be floating in the void of space, forever. What did you think was going to happen?
Well, nothing you can do now but think about your actions.
Unless somehow the team running the hunt could magically undo your terrible mistake…
All right, fine, your final run is going to become a little bit less final as we scramble to fix the timeline you destroyed. Please don't do it again.
-teammate
Each of 9 teams that we reset went back to complete the hunt successfully and see a good ending - but we shame them here for killing Matt and Emma after all the twins have been through this hunt.
teammate has historically been interested in breaking out of the “Each puzzle has one answer which is an alphabetical string with no whitespace” mold.
Answerless Puzzles: As a solver, a common experience is solving a great puzzle and being stuck on (an often unrelated) extraction for hours. As a puzzle writer, a common experience is struggling to make your great idea extract to some random answer. These were the main motivations for including so many answerless puzzles. Sometimes, the extraction isn’t fun and is just an add-on to a puzzle to get it to work with a meta.
Multi-Answer Puzzles: The main motivation here was to provide a mechanic for “choosing your own adventure” via puzzles. It was a fun challenge for authors to figure out how to write puzzles with obvious multiple answers (e.g. feeder puzzles in Tool Bench), or to write puzzles with hidden extra answers (e.g. Hull Breach), or to write interactive puzzles with both (e.g Where to/2 Next).
We wanted to leave freedom in this hunt for authors to write both traditional puzzles (extract to a single answer) and nontraditional puzzles (interactive, answerless, multi-answer, etc).
We had a bit of trouble wording our About page to make sure that we didn’t make any claims that each puzzle has exactly 1 answer, or even that puzzles have an answer at all. 😛
Capstone Puzzles, Innovative Rounds and Sequences
We were very interested in breaking away from traditional metapuzzles and traditional round structures. We define a “capstone” puzzle as a puzzle that culminates a round, but does not necessarily use feeder answers as input. We wanted capstone puzzles to always be relevant to the plot both in theming and mechanic. We had various types of capstones:
We also wanted to explore the concept of “sequences” - multiple puzzles that are related, and build up additional complexity/difficulty as you progress in the sequence. We thought GPH 2024 and Jack Lance’s P.I. Hunt 8 did an excellent job with this idea. We had the idea to include sequences before doing GPH, but were inspired to pursue it further due to GPH’s success with it. We had 2 fully sequenced rounds:
We also had 2 rounds which we tried to build with similar concepts:
Here are some notes on constructing our multi-answer metas:
Lastly, Where to Next and Where 2 Next: Electric Boogaloo were designed as direct sequel puzzles. We had many more ideas for other mechanics that had to be cut to reduce scope.
We had two main goals:
Here’s how we aimed to accomplish this:
Did we accomplish these goals? We think so! Here are stats comparing this hunt with previous teammate hunts:
This Hunt (2025) | 2021 | 2020 | |
---|---|---|---|
Teams registered | 763 | 493 | 536 |
Teams who solved >=1 puzzle | 603 | 384 | 416 |
Teams who solved >= 10 puzzles | 455 / 603 (75%) | 261 / 384 (68%) | 235 / 416 (56%) |
Teams who finished | 147 / 603 (24%) | 67 / 384 (17%) | 61 / 416 (15%) |
Teams who finished on the first weekend | 24 | 10 | 7 |
Hints answered | 10773 | 3556 | 2601 |
Notably, a higher percentage of teams were able to progress past the intro rounds, and a higher percentage were also able to finish the hunt.
We did still want to include some harder puzzles and make sure that experienced teams have a great time, too. After the Tool Bench round, the puzzle difficulty increases substantially.
We believe our puzzle/story co-design and focus on solver experience led to an extremely cool hunt! However, it is one reason that our hunt writing process lasted over a year (far longer than was originally planned).
The time travel and cross-timeline interactions were big contributors to the complexity. The branching structure in its constantly developing, unpolished form was hard for both authors and editors to keep track of when deciding how to focus writing efforts. This led to increased amounts of back-and-forth required to create a tight integration. Often, making decisions on one part of the hunt was blocked on progress in other parts of the hunt.
Another downside of our design approach was that associating puzzle solves with story progress meant that we had to create more bottleneck puzzles than is typical for a hunt. At these points, teams might have only one unsolved puzzle gating their progress, usually a capstone. This meant there was a lot of editorial pressure to smooth out structural pinch points. Common concerns that came up in discussion were that our puzzle radius is too low and teams could get stuck easily.
Our actions to improve solver experience were largely successful, as we show by our engagement stats above! But this came at the expense of our workload both before and during the hunt. During the hunt we answered about 200% more hint requests compared to during Teammate Hunt 2021, leading to longer wait times for responses, especially during US nighttime hours. We also had a large overhead load to resolve submissions for Make Your Own Metapuzzle and The Transmission. Although our tech setup streamlined the internal grading process, the volume of submissions was significant.
We began work on the hunt in mid-February of 2024, with the intention to release during fall of 2024. The hunt was ultimately run in late March 2025. (Alas, our internal codebase still refers to the hunt as “tph-2024”.)
Our real timeline:
When the comic idea was floated, we knew it was the right presentation medium for the hunt. Despite it being a large task, the art team was quite excited by the prospect of a fully visual integration of puzzles and story. Most of the artists on the team have worked together during Mystery Hunt 2023 or Teammate Hunt 2021, so we were confident that we could split the work up and still achieve a consistent design.
Unfortunately, none of us knew the first thing about drawing a comic. The requirement to embed puzzle content further complicated the process, compared to a workflow for drawing a comic with a linear story.
Each section of the comic was done in several steps, often by different people:
Iterations at every step were done in order 1) to smooth out branching points where solvers' decisions affect the story, 2) to avoid red herrings in the art while making it clear when puzzle content is embedded, and 3) to make the art consistent with the ship layout.
We started with some moodboarding last summer. For the setting and characters, we decided to go with a rustic, analogue aesthetic, with the ship feeling piecemeal and the characters dressed in baggy work clothes. This was inspired by media like Outer Wilds and Firefly, as well as a desire from our art team to avoid repeating the Puzzle Factory’s look from MH 2023.
For art style, we settled on a retro comic/cartoon style, modeled partly on Roy Lichtenstein line art and Ben Day dots. Our logo was designed with this in mind in preparation for releasing the splash site.
First moodboarding from June 2024
However, as preliminary line art and coloring tests were run and the comic cover put together in mid-February, it became clear that we were leaning away from strictly following this style. Not only was it mechanically challenging to standardize Ben Day dots, halftone filters, block shading, and hatched shading consistently for all artists, these elements together looked too haphazard to extend to the rest of the comic. Likewise, we wanted to use a larger color palette rather than what the Lichtenstein style assumed.
We revisited moodboarding after doing a deep dive into old school comic book coloring.
Second moodboarding from early February 2025
For simplicity and to decrease iteration time, we decided to avoid halftone textures or dot shading that we had in the comic cover. Halftone filters often introduce Moiré patterns which can be jarring when viewed digitally, so we decided it wasn’t worth the effort to figure out how to prevent those consistently. We opted for a more cartoon-ish style than traditional comic books, with simple block and hatched shading similar to Carnival Conundrum icon art. This turned out to be the right call, since our team was more comfortable producing this style en masse, especially as we got closer to hunt week.
We think we still ended up with a solid nod to the retro comic style, while adapting it to Matt and Emma’s latest adventure and creating a unique atmosphere for this hunt!
In concert with the story and puzzle editing teams, we created a functional prototype in Figma to test the experience of navigating the hunt structure around May of last year. We drew a lot of low effort dummy panels with stick figures for this prototype, and used buttons in the comic as a proxy for puzzle solves (which was adapted into our final UI). Only once we were certain that the comic could support our central hunt mechanic did we begin real storyboarding.
In order to maintain some level of continuity throughout the comic, we wanted to determine a consistent floor plan for the Arkose. Its layout was mostly motivated by the hunt’s structure, which determined the connectivity of different spaces. Starting with this connectivity graph, we held a collaborative mapping meeting in early July where we drew out a rough map of the ship’s two floors. Then, with some idea of where the ship’s key features would be (like the door, the cockpit, and the greenhouse dome), Cat made some sketches of the Arkose exterior and Jacqui polished the maps with that shape in mind.
In past teammate hunts, we’ve purposefully avoided introducing distinct character designs for Matt and Emma, beyond broad strokes like assigning each twin a color and making Emma have a ponytail. This was done 1) to save work effort, 2) because our artists generally don’t like doing human character art, and 3) to leave ourselves flexibility in the future for when it might matter more (and hope we gain more art capabilities by that point).
When the comic plan was chosen, the future suddenly became now, though our desire to do character art stayed about the same. Thankfully, some newer teammates are more versed in character art and were able to provide concept art from minimal descriptions.
Emma and Matt, by Xiaolu
Lucy, Captain Houston, and Sky, by Audrey
However, drawing human proportions was still hard for the rest of us. We initially planned for character artists to add in the characters after each line art panel was done. Yet as the storyboards developed, it was clear this workload would be infeasible for the character artists, and we need to minimize the number of handoffs between steps.
So after the final character designs were shared in late January, Olga took a few days to study cartoon body proportions, coming back with an expanded pose sheet that line artists adapted to the rest of the comic.
Expanded reference sheet for Matt and Emma poses, by Olga
At this step we tried to plan our panel arrangements to capture all the story beats, leave room for future embedded puzzle content, and assess the length of the comic. We wanted to avoid forcing solvers to scroll through excessive vertical lengths of exposition. Each panel should be important in some way, whether it contains puzzle icons, story beats, info in dialogue, or action.
We had four artists drawing storyboards using a variety of paper and digital media.
An example series of panels from the Prologue storyboard, by Jacqui
An example series of panels from the Captain’s Office storyboard, by Ariel
An example panel showing Matt and Emma finding the answer to Botany, by Olga
We did tests of line art and coloring using wide-angle environment panels such as the greenhouse and the captain's office, where characters are not the main focus. Line artists used these first panels to define standards like line thickness, panel dimensions, and general level of background detail.
We initially intended to split the work for line art evenly across four artists. As availabilities changed due to hunt or personal needs, we were running behind on getting all the line art done by our fullhunt testsolve. As a result, one artist (then conveniently unemployed) took over the rest of the incomplete sections. By the testsolve weekend in early March nearly all line art was done, some rounds were starting to gain color, and most of the final dialogue was updated during the testsolve itself. The rest of the coloring was done by five artists in the three weeks before the hunt, with the final panel (for a good ending) being submitted five hours after the hunt started.
Matt and Emma find the answer to Botany. From left to right, top to bottom: storyboarding again (this was a panel that needed multiple iterations), line art, coloring, lettering
Early on, we asked tech to bring back support for teams to upload profile pictures, despite profile pictures not being used in a puzzle this year. Solving a puzzlehunt can be an insulated experience, and we like giving a chance for team personalities to shine through to the rest of the community :)
Then, in early March a teammate posted this in our channel:
(… they truly do)
For victory photos, we opted for a simple image modification pipeline limited to applying a halftone filter and adding an action line layer on top that we pre-prepared. This way we could edit each profile image within a few minutes. We expected more finishing teams than in past years and were very concerned about workload but still wanted to run victory photos, so this method proved a good idea.
On a sidenote, the lack of a leaderboard and a linear hunt progression meant that even we were confused about which teams would finish next. We tried to pre-upload all potential finishers’ pictures but sometimes missed the cue.
Our “art stack” included whatever tools each artist was comfortable with. For example: Olga (Wacom Intuos + Clip Studio Paint Pro), Tracey (Photopea), Jasmine (Procreate), Jacqui (PowerPoint + Photoshop). This made sharing raw file formats with layer properties impossible, but usually just sharing PNGs for assets that spanned rounds was enough for us.
Art assets were synced from a shared Google Drive folder for ease of use without interacting with git, and this function was useable without help from the tech team. It was even used after the hunt had started to update last minute assets!
Our tech stack (tph-site, a fork of gph-site) was largely architecturally unchanged from running Mystery Hunt in 2023 - though we upgraded the versions of most components at the start, to benefit (and fixed a few lingering bugs).
The site runs as a set of 4 docker containers - a postgres database, pgbouncer for db connection management, a Redis instance for websockets and fast state caching, and a hunt container that runs a Next.js frontend and Django backend using uvicorn. See documentation here for more details. At some point in the future we are likely to update the public version of the repo.
The site was hosted on Google Cloud Platform during the hunt - and a free tier of AWS's Cloudfront was used as a CDN. Google Analytics is used on the site - here is a snapshot from 3/31 for fun.
Prior to launching the site, we load-tested our domain with a simulated 500 users across 10 teams loading the comic and spamming Where to Next with websocket requests, using k6 and a modified version of a script Alex Irpan wrote for Mystery Hunt 2023 (writeup). This helped us decide very conservatively to run the hunt on a 32 core (including hyperthreads) 48 GB memory machine at first, which was wholly overkill and scaled down shortly after the hunt started.
Aside: somewhat hilariously, we learned that 500 monkeys typing on a keyboard (i.e. randomly choosing rotations once per user per second) can randomly solve "Where to Next?" - 8 test teams were able to submit "Go to Elevator" within a few minutes of the load test.
One of the more involved technical changes for this hunt was the separation of submitting a puzzle's answer(s) and the effects of that answer on story progression and possible further puzzle unlocks. Besides logic changes to APIs on the backend Django server, we created a host of new models for the comic and story flow. Below is an entity-relationship diagram generated for most of the models used in the hunt. New and notable for this hunt were Run, StoryAction{Access,Activation}, Panel, ComicAccess, and Achievement[Unlock].
Our unlock system is an extension of the "deep" system described in Alex Irpan's blog post about MH 2023, which was enhanced to support unlocking everything from puzzles to comic panels, story actions, modals, and notifications. We considered more bespoke unlock systems resembling a graph, but in the end agreed we'd be fine with the flexibility of "deep" to minimize overhead tech costs.
Here is a sample from our massive "deep" tracking spreadsheet (a table of 260 rows x 24 columns) which controlled the unlocking of puzzles, comic panels, and achievements. Scripts were used to apply the data in this table to database fixtures, which were the source of truth for some models.
It's quite difficult to test a website that is used intensely for one week, and at most barely before that. Overall, we had 3 major bugs.
For most of the development of the hunt site (up until maybe 2 weeks before the hunt started), we were computing puzzle and comic unlocks on every GET of the comic page. This was great while developing the comic page, but the intention was to remove it eventually in order to avoid the unnecessary computation on every page load.
Sometime after registration had been open (but still a few weeks before the hunt start date), we did remove this hook and added a different hook to team creation to unlock the first panels. At the same time a script had been written to add the unlocks to the existing teams. However, the hook wasn’t deployed until roughly 1 hour before the hunt started, and the script had been forgotten about. We panicked for a few minutes once it was clear teams were not seeing anything. After rapid debugging, we remembered the existence of the preexisting script to check the unlocks for teams. The script was executed 8 minutes after the hunt had started. We watched the unlocks roll in and breathed a sigh of relief. Only about 50 teams had access for the first 8 minutes - and only 20 or so had used it.
To the uninitiated, we expect that most solvers attributed the downtime to standard infra scaling issues. The irony is that our site was perfectly scaled to handle the load at the beginning of hunt, and then some.
At 10:48pm PDT on Saturday March 29th, one day after the hunt started, Alex was awoken by a call reporting that the hunt site was hard down.
Alex could not ssh into the production instance and went to check on the VM in GCP.
For some reason, the server had rapidly started consuming memory. With no time to debug or even ability to access the production VM, the VM was power cycled. The site was back and debugging was deferred in the name of sleep. Alex was woken up 2-3 more times that night anyway - sometimes with reports of “websocket issues” - and the VM was sometimes restarted before the site went down. A small number of observations were performed: namely one or two uvicorn workers would have some combination of high CPU or memory usage, but it was late and preventing the site from going down was the priority.
In the morning - logs and stats were examined. At least partially because of the tropish nature of websockets issues in online puzzlehunts, when the reported symptom was “websockets are slow / broken”, and the “quick fix” of restarting the server worked, we started looking into websockets.
We noticed that each time the server was restarted overnight, the number of connections per second experienced a sharp step increase. Inspired by this observation, we found that our client websocket code, upon loss of connection, would retry every 1 second indefinitely. The theory was that the many tabs open in the many browsers were all attempting to make websocket connections. We implemented exponential backoff and a max retry limit on the client — though users would need to refresh to get the updates. We hoped this would mark the end of these infra issues, though in the back of our mind we knew that these connection rates should not be high enough to cause any real issues.
Sadly the hope the infra issues would be resolved was a false hope. The runaway memory issue occurred around 15 more times over the next 5 days. We considered several times how the only possible hypothesis we could come up with is that of an infinite loop with a growing data structure or other memory leak. Multiple people read over the relatively small number of while loops in the codebase and nothing stuck out.
Probably a little bit later than we should have we decided to roll up our sleeves and be ready to determine what code was running at the next recurrence. We prepared a script to sample the python stack trace of the running uvicorn processes that were serving our backend requests using PyStack. Lo and behold, the next time the issue recurred we discovered that we were infinite looping in a file called “triangley_stuff.py” - used for checking paths in Where to Next? and Where 2 Next: Electric Boogaloo. We had a good laugh/cry and quickly implemented a limit to the number of iterations the loop could run.
A bit later, it was determined there was a single character transcription error that effectively created a one way edge in our graph! This was the fix:
Second hilarious aside: if we had chosen the more complex Where 2 Next: Electric Boogaloo instead of Where to Next to run the load test on we would have triggered the issue in testing.
Where To Next? (Note that in the sequel puzzle, Where 2 Next, everyone has to go to the Greenhouse first since they do not have the ID card to enter the Cockpit yet.)
Out of the 402 teams to fully solve Hull Breach:
Out of the 290 teams to fully solve Built to Spec:
Out of the 603 teams who solved at least one puzzle…
Rank | Team | Level 1 | Team | Level 2 | Team | Level 3 |
---|---|---|---|---|---|---|
1 | ProgChamps | 17.38 sec | Deepspace Delving Disasters | 32.37 sec | Vulpecula | 4.06 sec |
2 | Where No Llama Has Gone Before | 33.67 sec | myrrhy synth trysts | 57.03 sec | 1cool3me | 14.61 sec |
3 | Ejected Conspirators of /r/PictureGame | 56.09 sec | Cosmos Byss Contingent | 1 min, 1.78 sec | Les Gaulois | 50.86 sec |
4 | weeklies.enigmatics.org | 56.50 sec | The Providence Chromatic Aberrations | 1 min, 11.57 sec | Astronomical Mathemagicians Observe Grave Uncertainties in Space | 59.29 sec |
5 | stɹeɪjə maɪt | 58.06 sec | Ejected Conspirators of /r/PictureGame | 1 min, 25.48 sec | Deepspace Delving Disasters | 1 min, 10.17 sec |
Besides the publicly visible achievements on the Crews page, here are the rest of the achievements!
Story-related achievements: (any team finishing the hunt will gain these)
Icon | Name | Description |
❓ | Choose Your Own Adventure | Make a decision |
🔄 | Whoops | Use the watch for the first time |
🩹 | Day 1 Patch | Fix the Hull Breach |
☄️ | Cryptic Cryptid | Finish the Spacewalk |
🛠️ | Duct Tape and a Prayer | Build something at the Tool Bench |
🔋 | does anyone have a charger | Restore the ship's power |
🖥️ | hunter2 | Login to the captain's comms device |
![]() | I Saw Red Vent | Take the secret passage to the Control Panel |
🔒 | Safecracker | Unlock the safe |
💥 | BOOM | Experience a fiery death |
👽 | Xenolinguist | Complete the Alien Ending |
📍 | Ludicrous Speed | Complete the Cockpit Ending |
🪴 | Fan of Breathing | Complete the Greenhouse Ending |
⌚ | Out of Time | Destroy the watch to fix the reactor |
Bonus/fun achievements: We also had some achievements which were not found through the hunt progression itself.
* denotes achievements that were "secret," so teams could not see that these existed until earning them.
Icon | Name | # of Teams | Description |
🌌 | Connect the Dots | 204 | Solve the hidden bonus puzzle |
🐈⬛ | Meow | 211 | Pet the cat |
👏 | High Effort | 112 | Send us a submission we really like (We granted this for both Make Your Own Metapuzzle and The Transmission submissions) |
🧑🚀 | Extra-Vehicular Extra-Credit | 82 | Solve all cryptics in the Spacewalk Round |
💤 | Snooze Button | 98 | Reset a timeline with no puzzle answers submitted |
✅ | Precise | 523 | Solve 3 puzzles on the first try (no wrong answers) |
🧉 | Spirit of Teammate* | 96 | Solve a puzzle after 15 or more incorrect guesses |
◀️ | Backsolver* | 393 | Backsolve a puzzle |
⏱️ | Determined* | 436 | Solve a puzzle more than 48 hours after first unlocking it |
👍 | okay* | 19 | Ask HQ for an achievement |
🧠 | Foresight* | 12 | Notice something a little earlier than expected(We granted this for teams that submitted Turn Around before getting to a bad ending, as well as a few other special cases) |
❌ | Deep-space Bounty Hunter* | 9 | Find and report an erratum |
✈️ | Wrong Puzzlehunt* | 18 | Submit FAIRPLAY as an answer to any puzzle |
Our general design principle was to mark "secret" achievements as hidden if:
In this puzzle, teams are presented with a chat interface to talk with 10 (fictional) puzzle authors who give constraints for their puzzle answers after you help them out with some scavenger hunt tasks which are all submissions. Humans would look at these submissions. Here are some of our favorites.
AmaranthAmberjack 2: "i need a recording of a portion of a list song, but with the items in the list changed. no more than 30 seconds."
AmaranthAmberjack 4: "ok so we need a 30 second recording of a weird al style parody of a song."
BurgundyBarracuda 2: "We need the word "SPACE" written in an unusual set of twenty-six things."
BurgundyBarracuda 4: "We need a spaghetti'd 4-answer metapuzzle including the answer "DOCTOR". Don't worry too much about quality."
CrimsonCarp 2: "Can you show me how to center a div?"
Certainly, CrimsonCarp. Here are several ways to centering a div.
[processing...]
1. If you're using Python, you can center a string using the `.center()` method. Try this:
>>> "a div".center(15)
' a div '
2. If you're using Microsoft Word, select your text and hit Ctrl-E.
3. In Google Slides, select your object or group and right click on it.
>>> no I mean in CSS
[processing...]
Ah, I understand -- you are a puzzler. "Center a div in CSS" can be a cryptic wordplay meaning to take the central letter of "A DIV IN CSS". Your answer is "I"!
>>> no, I mean, I have a React component that returns a div that has to be centered on the page
[processing...]
You can center an element horizontally using the <center> tag.
>>> I JUST WANT TO CENTER MY DIV BOTH VERTICALLY AND HORIZONTALLY
[processing...]
I'm sorry, you have run out of SmallLlamaPT credits for the month. To upgrade to the Pro plan for only $200 and ten free hints per month, click here.
Thanks for chatting!
CrimsonCarp 4: "Can you show me what a <marquee> looks like?"
EchinaceaEel 2: "can you send me a custom MTG card of a character who has appeared in a puzzle hunt?"
EchinaceaEel 4: "Uh, turns out we needed a custom card of a character who has appeared in a puzzle hunt for literally any card game but magic."
FuchsiaFlounder 2: "Request: A mascot for [TEAMNAME] here."
FuchsiaFlounder 4: "Further Request: A t-shirt design for a puzzle hunt referencing a puzzle appearing in that hunt."
ImperialIde 4: "A cipher variant logic puzzle is needed."
In this puzzle, we asked teams to send the Podomorphs a distress signal using the language they've been learning throughout the round. The submission needs to be in the form of a video, but teams can exercise creativity on exactly what medium that is. We thoroughly enjoyed the variety that we received:
See the full gallery of select submissions!
We particularly enjoyed these teams' creative profile pictures (that were not generated by AI):
These teams must have used the watches in real life to make team names that were strangely prescient:
During the hunt you could update the names of your timeline runs. Here's a selection of ones we found amusing. Multiple names from the same team are delimited with /.
Emergency Council of r/PictureGame
Starship SarMeg
Vehemence
Quasar Detectors
Fan art from Team Peggle!!! <3 <3 <3
It is laughably difficult to answer this question. It depends on how you answer:
The total count ended up as 51. But if you answer differently, it could be anywhere between 40 and 79.
To be honest, not much structure got cut! We ended up being quite close to the original proposed structure.
She likes money. You know how much a timeium reactor core sells for on the black market?
There was! We took a lot of inspiration from how Outer Wilds gates progression via information, as well as some of the spacey vibes. Other video gamey inspirations include Among Us (ship aesthetic, vents as a secret passage) and Zero Escape (branching-narrative adventure game with time-loopy elements and puzzle sequences).
When we finally get to Roomba’s Reign, we’ll give Matt and Emma a nice, safe hunt where nothing goes wrong - assuming, of course, they haven’t racked up more bad luck in the time since.
There were not many specific inspirations, but there were broadly two design principles. The first was to use the biology of the aliens as a starting point. The second was to break from human language patterns where possible, just to keep things interesting >:).
We had the idea of vaguely molluscoid (in my mind, I think of the central "circle" as being like a shell), rotationally symmetric, electrokinetic aliens living in a low-gravity fluid-filled environment pretty early on. Once we'd established that the podomorph's primary sense was electroreception, having the language be a sign language made a lot of sense.
The place value part of the numeral system was vaguely inspired by Incan khipu. The representation of each digit was sort of motivated by Roman numerals. We wanted two humans to together be to communicate in Blobbish, which meant we could have at most six limbs active at any given time. This led us to give the podomorphs six limbs, and make the numeral system base 6.
Hopefully this gives some insight into what we were thinking about as we designed the language! You can read more about the design and lore here.
We are not art professionals ;) We are just puzzle enthusiasts working in tech. We also like cats. This hunt is a purely volunteer effort on all fronts.
We designed puzzles foremost around the story and structure, so the ratio was determined ad hoc per needs of the round. In some areas like Where to/2 Next we knew we needed quick interactive puzzles, some like the Comms Device were made interactive due to story flavor.
A was already taken by Matt and Emma’s Amnesiac Adventure (or Alphabetical Academy).
In all seriousness, Birthday Bash was chosen as a title without thinking about the titles of future teammate hunts. Carnival Conundrum was intentionally alliterative but just coincidentally in alphabetical order. This year, we didn’t constrain ourselves to only writing a D-D hunt, but it so happened that we found a name that worked to continue the pattern. Then the decision to continue the alphabetical pattern was the result of a close internal vote.
We think there is plenty left to explore in the puzzlehunt space (without needing to become increasingly complex)! “Time travel” and “choose your own adventure” are ideas that have been used in recent hunts (see our theme decision section for more details). However, we wanted to explore these tropes in our own way.
Our team was particularly interested in trying to “innovate” and expand the definition of what a puzzlehunt can look like. But that doesn’t mean all puzzlehunts need to do this!
While there is a small audience that enjoys and truly appreciates the artistry behind increasingly complex and difficult puzzles, there is perhaps an even bigger audience that will appreciate an easier puzzle with a novel twist.
It depends what time of day you submitted - early on in the hunt and when we had the staff, we tried to have a person look at every single submission. During US nighttime hours when we couldn’t keep up with demand, we did switch submissions to an auto-accept mode. 664 Make Your Own Metapuzzle submissions were auto accepted. However, all Transmission submissions were always graded manually even if that delayed the response time.
This decision to have achievements over a traditional leaderboard was driven by a few reasons. Due to the branching structure, there would be no “fair” way to have a time-based leaderboard. If a team makes certain arbitrary decisions first (e.g. going to Cargo Shelves or Elevator first, going to Captain’s Office or Control Panel first, etc.), they could have vastly different experiences.
We also didn’t want to have a leaderboard in order to encourage more engagement with the story. We wanted people to solve synchronously with their teams (particularly for important sections like the beginning of the hunt, the first reset, and The Reactor) and didn’t want them to feel pressured to speed ahead.
Once someone suggested adding achievements instead, everyone was immediately on-board – the structure of the hunt takes inspiration from video games, and achievements felt like a very natural addition. We generally tried to make the achievements be associated with taking certain actions in the story, rather than just for solving particular puzzles.
The site will be fully functional until the site is made static. This is not likely to happen before the end of May.
See our totally optional tip jar, used for server and other incidental costs!