Press enter to skip to main content.

Wrap-Up

Overview

Thank you to everyone who has participated in our second hunt!

Congratulations to the 45 teams that managed to Escape the Castle with their new friends! Special congratulations to Go off king, but our girlboss is in another castle (Ohio). for being the first to do so, with a blazing-fast finish time of just 23 hours and 4 minutes. Following them were boat moAT MEme team, 凹 CJK UNIFIED IDEOGRAPH ELEVATED CRENELLATION, and the castle is now a spirit halloween.

Out of all teams registered:

  • 335 solved at least one puzzle.
  • 215 solved the first meta (The Dungeon).
  • 181 solved at least one ghost puzzle.
  • 10 solved all 45 puzzles.

The rest of the wrap-up contains spoilers for various puzzles.

Plot Summary

As you were wandering in the countryside, you spotted a castle in the woods and approached it. After entering through the main gate, you fell and became trapped in the castle’s dungeon, where you encountered Chanel, a ghost taking the form of a chandelier. She explained to you that she is part of a puzzlehunting team that got trapped in the castle, and that her teammates were also somewhere in the castle. Solving the Dungeon’s problem allowed you to access other parts of the castle, find more puzzles, and meet other ghosts.

Each of the ghosts struggled with a different puzzle that extracts to a nonsense string. Solving for each of these "answers" allowed the ghosts to leave their respective floors (though still in their cursed form). Eventually, you uncursed all your new-found friends by using what you learned about each part of the castle to find secret, non-nonsense answers to their puzzles. Back in their human form, the ghosts were finally ready to Escape the Castle after you solved the final metapuzzle, which caused the castle gate to open and let the group head out into the countryside.

Writing process

History and timeline

Following the success of Exploring the Countryside, we knew that we wanted to make another hunt.

Shortly after Mystery Hunt in 2023, the ECPH2 Discord was created (with a special placeholder image prior to theme selection - try and guess what it was). Soon after, we started working on theme proposals, of which we ended up having two. We held theme voting on February 16-17 and selected Enchanted Castle.


Proposed hunt structure, and top-down view of Dungeon and Tower prototypes


Sketches of the player character, a ghost and the castle

The theme involved each round having a navigation grid, with the meta using it in an interesting way. The floor metas were written quickly by four different authors, and within a month of the theme selection, all five floor metas received at least one testsolve. By the end of March 2023, all non-ghost feeder answers were released. The metas were initially tested with a given grid instead of inside the navigation tool, which was implemented much later. A couple of metas needed to be revised and re-tested later (the Library meta answer finalized, and the Armoury meta made interactive), but all answers were assignable.

The eventual concept for ghosts was finalized much later. The initial idea for them was very ambitious, and we found it impossible to implement (we'll keep it a secret in case we want to retry it in the future). The idea of using the meta answers to transform puzzles instead of answers was suggested in October 2023, and Escape the Castle was finally constructed shortly thereafter.

Writing transformable puzzles was challenging, but rewarding. The first ghost, Chanel, entered testsolving in November, but only passed muster in June 2024. Late 2023 to mid-2024 was a period of inactivity, with the number of feeders written during that period being countable on one hand. Most feeders had been written by late 2023, but the last few answer slots proved to be stubborn to fill. The navigation tool was also an ever-intimidating tech obstacle that we had yet to surmount.

In June 2024, we finally had our first fully functional navigation tool (the Dungeon), and the Armoury came into shape shortly after. Filled with hope, we were once again motivated to continue our work and finish the hunt. By August, all ghosts were done, and by September, the hunt was finally ready to be announced. We couldn’t hold back after announcing, and worked around the clock (literally - worldwide distribution means someone was busy at all times) to get everything ready by launch time, whether it was art, story, web design, navigation bugs, or getting the last few puzzles testsolved.

Goals, motivations and process

We wanted to continue the tradition of including /r/PictureGame-like puzzles, as well as other geography puzzles. Street View Hunt and Take Me Home, Country Roads were flagship PG puzzles in this hunt, and other geography-adjacent puzzles included Patchwork, On Site Only — Sorry, and The Great Hall meta. Beyond just wanting to produce more good puzzles, we wanted to have at least one interesting structural gimmick; that’s where the navigation puzzles and ghost transformations came into play.

This time around, we used Puzzlord to track puzzle progress. The five floor metas were written within the first month after we selected the Enchanted Castle theme, and answers were soon ready to distribute. New puzzle ideas were reviewed by an editor before being assigned an answer. Escape the Castle was written much later than the other metas, meaning that 4 out of 5 ghost puzzles had to be written for a fixed answer. Trelawney was an exception because the Library’s crossword fill was changeable.

Individual testsolves were created via Puzzlord and discussed in Discord threads, and were mostly solo or duo solves. Like last time, we tried to get at least two clean testsolves for each puzzle, but the small size of our team, as well as the difficulty of some puzzles, made this hard to achieve for every puzzle.

The full hunt testsolve ran September 14-20. We thank the testsolvers not only for testing the puzzles, but also for helping us find bugs in the navigation tool and suggesting helpful quality-of-life features.

Characters

The inspiration behind the ghosts varied. Once we decided that the five of them would be members of a team that does puzzlehunts, we drew from some typical "puzzlehunter" stereotypes: an all-rounder willing to tackle any puzzle (Chanel); a wordplay-specialist who eats Listeners for breakfast (Trelawney); The Guy You Dump All The Logic Puzzles On (Quentin), and the programmer/hacker extraordinaire who does all the mathy, computer-science stuff no one wants to touch (☄︎).

An important part of the characters that we really wanted to hammer home was the concept of their “found family”. We didn't want them to just be random, unrelated characters you talk to as you traverse the castle; we really wanted to stress that they are, above all else, a team. Each one of them plays to their strengths and helps with each other's weaknesses. They all care about each other deeply in the way that a loving family would. Within the story, the core incentive behind uncursing the ghosts was not just to free them from the castle, but to allow them to meet one another once again. This drove a lot of dialogue and characterization decisions, one notable example being the optional dialogue that unlocks when you "meet" a new ghost. There were 20 dialogue options written solely for this purpose (which we encourage you to read if you haven't already!) as we thought it would only be natural for such a tightly-knit group of friends to have a lot to say about one another.

Player Character



The player character is an intrepid figure that arrives at the castle on the twelfth of October to solve puzzles. We were initially going to give this character a minimal role, but eventually developed the character to have more personality. She is very quick to befriend the ghosts and empathize with them, trying to speak to them in a pleasant manner. After escaping the castle, they effectively accept her as a 6th team member. This character does not have an official name; you can imagine her as a projection of whatever team you’re solving as.

Chanel



Since Chanel is the first ghost you meet, she provides the initial exposition. Chanel is the captain of her puzzlehunt team - she loves all her friends to bits and would never give any of them up. She is a very powerful solver, as well as a generalist, being happy to solve nearly any puzzle. Her name is contained in “chandelier”, the object she inhabits in her cursed form. Her design takes inspiration from the world of Pokémon, specifically Chandelure in her cursed form and Nessa in her uncursed form.

Trelawney



We feel we have to set the record straight: his name is not a Harry Potter reference. Trelawney is a very common Cornish name, as well as the name of a Cornish national hero, and all similarities to the Harry Potter series (authored by Hatsune Miku) are not intended. His specialty is word puzzles, and especially cryptic crosswords. One internal piece of lore that we considered adding that didn’t make the final cut is his record solve time of a Listener cryptic in 17 minutes. His warm grandfatherly demeanor and jolly laughing pose take inspiration from Iroh from The Last Airbender.

Quentin



Quentin, to put it simply, had the worst time of his life. He became trapped in a room that has the thing he dislikes most - messes. Not only that, but he is the only ghost who is totally immobile in his cursed form (the others can either float or walk). Quentin likes to keep his sheets tidy and make the landing pages elegant. His specialty is logic puzzles, which he solves on paper. He’s a proper gentleman who is into 19th-century fashion and enjoys listening to classical music. His love of tidy sheets is inspired by some of our team members’ knack for beautifying our actual puzzlehunt spreadsheets’ main pages.

THE BEAST / Bea



The name of THE BEAST is entirely motivated from the process of writing her puzzle. As you may expect from a puzzle with as many moving parts as THE BEAST, it was a remarkably difficult construction that tortured the author for a long, arduous time, so much so that it was called the "Beast" in internal puzzle-writing channels. Eventually the name just stuck.

After uncursing, she is revealed to be Chanel’s younger sister, Bea. While the other ghosts had their established puzzlehunter stereotypes, this applies far less for Bea. This never appears in the dialogue, but we imagine her role is that of "fresh eyes" - the solver who may not be as strong as the rest, but sees a lot of simple stuff that the more experienced people may often overlook. By complete coincidence, the cursed version of THE BEAST extracts uppercase ASCII letters, while the uncursed version extracts lowercase ASCII. The same applies to THE BEAST, who only speaks in uppercase letters, and Bea, who only speaks in lowercase letters.

☄︎



Since ☄︎’s puzzle is mainly in emoji, the ghost was made to speak entirely in emoji too. Even the ghost’s name is a non-letter symbol as a result. The comet symbol was at first chosen just because it looks cool, but coincidentally, it also happens to be a lesser-used symbol for non-binary identity. ☄︎ is the hacker of the group, being able to solve technical puzzles with clever application of code. ☄︎ thought their cursed form was cool and chose to partially keep it after being uncursed. While the other ghosts haunted mundane objects, ☄︎ took on a more abstract form consisting of floating shapes.

Art and design

The art style was something we felt was really central to Exploring the Countryside, so we wanted to continue to make this a strong component of our hunt's identity. We would like to give massive props to chuttiekang for still carrying this entire department on her overburdened shoulders. Thank you, chuttie!

(Our art lead, chuttiekang, speaks more on the process here:)

From the start, we wanted the castle to be a little spooky, but ultimately more mysterious and inviting. The design borrows elements from Neuschwanstein Castle, and the sunny to dark homepage transition was largely inspired by the hotel from Luigi's Mansion 3. We originally wanted clouds rolling in to obscure the castle until the hunt began.


Sketches for the "sunny" and "cloudy" versions of the castle

Later, rubyleehs not-completely-seriously proposed a slow zoom in from the ECPH1 logo, and the idea stuck.


Those mountains look familiar...

We agreed early on that the castle should also work for a clickable map, similar to the seasons banner from ECPH1. Each floor has its own segment; during the hunt, locked rounds were shaded, and solving a meta turned its respective lights on.

We also wanted each floor of the navigation tool to feel distinct. For this (and for simplicity), I made different five-color palettes and stuck to them for the ground and wall textures. These show up again on individual puzzle pages; a puzzle's accent color and tiling background match its round. Another big difference between rounds is the puzzle icons. Like the navigation puzzles themselves, they start simple and get more interesting as we climb. I am particularly pleased with the Tower icons - here they are for those who did not get to see them during the hunt.


Take Me Home, Country Roads / The Escape Artist / WTF / Piece by Piece / Mind-Boggling

I wanted each ghost's design to show their unique personality, and to include parallels between their cursed and uncursed forms. For example, Chanel's kindness is expressed through hearts (one for each of her teammates!), and her chandelier arms become flowing dreads. The correlation between THE BEAST and Bea is probably the most subtle; besides the helmet horns becoming onesie ears, I hope some of you noticed the suit may be a little too big for its inhabitant...

A shoutout goes to the ECs who made ghost sketches, and who kindly let me share them here. It was quite the motivator.


Chanel sketch by quatrevingtneuf


Trelawney sketch by phenomist


☄︎ sketch by chimpaznee

Additional art assets were made by chimpaznee (lanterns), phenomist (hint and solve icons) and quatrevingtneuf (Tower shapes).

Navigation tool

This was tricky, but it was so rewarding when we pulled it off. The motivation behind every navigation puzzle was to explore different square grids. Meta authors were encouraged to take this into consideration when writing so that the metas and navigation would feel tightly linked. Some themes that were considered but ultimately not used include New York City, the surface of a 3D shape, and other board games with square grids.

The initial demo for the navigation tool was a pair of buggy python scripts that showed the overall plan for the Dungeon and the Tower. There were essentially no graphics - just some ASCII art to depict squares and text to explain what you found in each cell. At the time, we didn't necessarily dream of having features too far beyond that.

Our web team (in fact, our team overall) is small, and the lack of progress on navigation tool implementation during 2023 was the main reason this hunt took us two years to produce. We made the whole thing from scratch. We began with the implementation of the Dungeon navigation. After months of inactivity, the navigation tool finally became fully functional for the first time in June 2024. Once the Dungeon implementation was completed, the Armoury, the Great Hall and the Library followed in a matter of days (in that order). The Tower navigation was the hardest to implement, and was finished last.

(The writer of the foundation of the navigation tool, rubyleehs, explains below in more detail:)

Originally, the navigation tool was significantly simpler and was only represented in 2D. Not using an external library at this stage would probably have been more reasonable than otherwise. However, as I slowly added more and more features, and with each feature introduced getting praise from other ECs, it eventually led to scope creep. When the navigation tool was nearing completion, I was pulled away by real-life obligations.

Unfortunately, by this point the complexity of the navigation tool was daunting. To fully complete it in its current state would require intricate understanding of web-browser rendering matters. This daunting task soon became the main reason this hunt took us two years to make, with many months of inactivity. In hindsight, it could maybe even have been easier to restart from scratch but with a proper animation and rendering library (sorry other ECs!).

I am extremely appreciative of the rest of the web team for all their help and hard work. The final state of the navigation tool is very cool. I believe it gives a sense of mystery and intrigue unmatched by other possible representations of the maps, truly giving off an “Enchanted Castle” vibe.

As for the specific implementation, here is a link to our internal implementation document. I strongly do not recommend anyone to do this with pure JS/CSS/HTML. The documentation from various sources may not necessarily work as written with the introduction of 3D, animations, and masking. The combination of these factors resulted in many edge cases after considering browser support (some of which we still have not been able to find). This necessitated a lot of trial and error to get the navigational tool to work/look as we wanted.

The Tower

This was by far the hardest navigation to implement. Astute observers during the hunt may have noticed that the URLs generated while navigating The Tower looked very different to the other rounds. Finding a tidy way to work with the hyperbolic geometry was definitely an interesting exercise. We consulted a few different sources on how best to plot out the order-5 square tiling (including this MSE post that some of you may have come across). A few days before the full hunt testsolve, we found that certain series of moves did not bring you to the intended cells, so we had to rewrite the whole coordinate system.

In the end, we opted to use a modified binary tree (which also happened to be the same system used in the original theme proposal demo). This scheme split the plane into four identical quadrants. Forward moves were represented by 0, moves to the right were represented by 1, and additional logic was written to handle cases where branch boundaries were crossed. A convenient consequence of this scheme is that each cell can be assigned a unique number, but in the end, the binary strings were kept to avoid issues with large numbers as you moved to distant points in the map.

One interesting consequence of the design of The Tower is that rotation doesn’t work the same way as it does in other rounds (which you may have clued into from the omission of the compass in this round). To preserve the appearance of a normal square tiling, we had to fudge the rotation for certain types of moves. This introduced a bug that we were unable to reliably reproduce or fully resolve, internally referred to as “spinglitch”. To mitigate the visual effect, the tower floor tile was redesigned to have fourfold rotational symmetry.

Web

We hosted the website on Heroku using a postgres database, also hosted on Heroku. We anticipated costs to be higher than they eventually ended up being (see the Load Testing section) so we’re happy with the results. These are the services we used:

  • A varying amount of standard dynos ($25/month each): We started with 20 for the first hour to avoid any 500 errors due to overload and progressively went down. For most of the hunt, we kept it at 2 dynos given that the number of requests per minute fell under 1000 and we saw it could sustain the load easily.
  • A Standard 0 Heroku Postgres database ($50/month): We might have overshot it on this one, but we wanted to be on the safe side since upgrading the database mid-hunt would require a few minutes of downtime. After the hunt was over, we went back to the Essential 1 tier ($9/month).
  • Amazon SES for SMTP email sending (under $2): In ECPH1 we used Mailgun to handle emails, but it became a paid-only service, and we found that Amazon SES would be one of the cheaper and reliable alternatives. The emails were sent using a custom script that would send several emails at once to send about a thousand in a couple minutes. To receive emails on Discord, we used a custom Google Apps Script code, though we ran into issues with it like missing some emails or having them sent twice.
All in all, the total cost was under $100. We spent $36 in September due to heavy load testing, and around $50 in October. It probably could have been pared down a lot, but we figured it’s better to be safe than sorry to guarantee a good hunt experience.

In 2022 we hosted it on PythonAnywhere, but we switched to Heroku, even though it was more expensive, to make sure it could scale up better and avoid the typical 500 errors. The navigation tool introduced many more calls than usual so we had to be ready for any possibility. Switching to asynchronous handling of API calls allowed for much better scaling than the default gph-site template seemed to have. Using a Postgres database instead of SQLite helped as well, because it allows for multiple concurrent connections.

And finally, it seems like we were fated to use Heroku all along:

Load testing and cache

A month or two before the hunt started, we decided to focus on load testing to ensure the site would not run into any major issues during the hunt. With the way the navigation tool was set up, every single move by the player would result in one request to the backend - we estimated that if one player moved around once a second at the very beginning of hunt, with around 300 or 400 teams with at least one person (maybe two or more) using the navigation tool per team, we would have to be able to support 30,000 requests per minute (at least at the very beginning of the hunt).

We didn't realize it at the time, but this was a ridiculous overestimate that put a lot of stress on the web team for practically no reason. The real number ended up being around 1,000 requests per minute, a level of load that is completely manageable for Heroku's default settings. Regardless, a lot of effort was exerted making sure we could manage the figure we calculated.

For load testing, we used k6, and our end goal was for the site to be able to support 500 virtual users, each sending an input to the navigation tool once per second. We aimed for response times to be around 1 second, with an error rate of below 1%. We eventually hit this benchmark, but not without major reworking of the navigation tool and introducing new features.

The new features we introduced were to cache the expected results of the navigation tool given a known state and input, and to change parts of the Django backend to handle asynchronous API requests. These features were the result of a lot of headache and stress for our web team, as trying to work these into an already-existing framework and navigation tool broke a lot of things we didn't even expect could break. We powered on anyway because we believed it was wholly necessary (no navigation tool means no hunt, after all) and we ended up whipping the site into shape, being able to reach our benchmark of handling 500 of k6's virtual users.

(Below is a personal note from cane:)

While working on the load testing was a very stressful ordeal that honestly ended up being not very necessary (and occasionally even harmful at times, when the cache broke for some solvers during production), I'd never worked on something of this sheer magnitude before. The silver lining through all of this is how much I learned about website hosting and infrastructure - I'm the youngest person on the web team, and have never worked on something like this outside of school projects. It was, despite all the headaches and stress, rewarding!

Hint operations

We answered a total of 3525 hint requests over the course of the hunt, much higher than last hunt’s 2215. We knew the hunt would be difficult, so we planned to give people more hint tokens (which we called “scrolls”), starting as early as 12 hours into the hunt. In addition to the answerable puzzles, we also implemented hints for navigation puzzles. These proved to be a useful addition, as a total of 167 hint requests were for navigation - about 4.7% of all hints.

Our team’s globe-spanning distribution meant that once again we were able to answer hints 24 hours a day. Perhaps surprisingly, the time period that was hardest for us to cover happened to roughly coincide with when Eastern US solvers would be getting home from work. The high frequency of hint requests was challenging for our small team, but no scroll was left unanswered: Our median response time was 2m 50s, beating ECPH1’s median by a second. Moreover, 90% of hints were answered under 5m 15s and 97.74% of hints were answered under 10 minutes, which are also improvements from ECPH1. However, there were some longer-lasting outliers. The longest time it took us to answer a hint request is 1h 47m 1s.

We continued our policy of generously allowing many follow-ups, which is why there are still very few 2+ hint solves. However, toward the later stages of the hunt, this policy proved to be unsustainable, as unlimited follow-ups meant that some teams ended up asking to be walked through puzzles step-by-step. We eventually did ask teams to use new scrolls if they followed up too many times, but making the determination of what exactly warranted a new hint request was often difficult. Going forward, we are likely to make some changes to our hint system to streamline this process.

Hunt statistics

For more statistics, see the Stats, Bigboard, Biggraph and Finishers pages.

Team shoutouts

First blood: There is a castle in the woods, I like to go but I can't sleep, When stuck on puzzles I just weep, No time for castle in the woods. There is a masyu black and white, Tell me which thing to index by? S, who got the first solve of the hunt by solving Nature 3m 25s after the start.

Last solve: SimpleHunters, who solved Dungeon Crawler 2 minutes before the hunt ended.

Guess accuracy: Apical Alpaca Palace, who finished with the lowest number of incorrect guesses, 10.

Guess happiness: boat moAT MEme team, who submitted the most incorrect guesses, 267.

Low%: PonX, who finished with the fewest puzzles solved, at 36. (The theoretical minimum is 33, which no team achieved)

Fastest 100%: the castle is now a spirit halloween, who solved all 45 puzzles in 57h 03m.

Hints

As mentioned before, we had to give 3525 hints, significantly more than last time. The puzzle with the most hint requests was Dichotomous Key with 188 hints total, while the least requested puzzle was Music of the Spheres, with not a single scroll spent on it!


We would like to congratulate the following teams for finishing the hunt without using any of their scrolls:

  • Go off king, but our girlboss is in another castle (Ohio). (also the only team to 100% the hunt without hints!)
  • Apical Alpaca Palace
  • Wayward Scallywags of the Narragansett Bay
  • [URGENT] ECPH 02 LOGO LOST IN THE LEADERBOARD: 틈들

Additionally we would like to shout out ONE MORE for using all 22 scrolls given to them.

Hint requests were answered by 15 different people (including some of our testsolvers - thanks so much for giving us a hand!). Congratulations to chimpaznee for topping the chart by answering a respectable 830 hints!

Hint giver Hints answered
chimpaznee 830
eanacra 666
quatrevingtneuf 666
cane 464
Jonah Ostroff 333
mayple⍼treeway 246
ev 151
phenomist 79
chuttiekang 72
cpc2 50
mizu 50
msl001 25
Zoë 20
punchingcatto 15
rubyleehs 6

Comparison with other hunts

Below is a chart comparing the difficulty of some puzzle hunts.

*Note that Brown Puzzle Hunt 2024 ran for 31 hours.
**The puzzle count of GPH 2024 does not include the custom puzzles.

Reflections

Puzzles

Like before, we tried incorporating a variety of puzzle types. We made a special effort to include some puzzle types that were absent in ECPH1, like logic puzzles and interactive puzzles. In a twist of fate, we had a relative shortage of word puzzles. There were more “technical” puzzles than usual (including A Very Long Integer, Ziggurats, Automata and perhaps Character Classes and WTF), as well as a lot of puzzles about games.

We made sure to be more explicit about what puzzles have intermediate confirmation, so we added notices to Object Impermanence, WTF and Escape the Castle. Despite this change, we still had a lot of intermediate clue submissions, like NOTTHIS, REDOUSINGCLASS, LOWERTRIANGLE or FOESSWAPBOARDS.

Difficulty

Our hunt was harder than ECPH1, but we weren't surprised by this, expecting full well that the hunt would compare to some older Galactic Puzzle Hunts. We were happy to fill this niche, which was vacated this year. Our goal was to make the difficulty gradually ramp up. We think we mostly succeeded for the first two rounds, but the individual puzzle difficulty plateaued when solvers reached the Great Hall.

Unlocks and pacing

Our unlock system was based on finding the puzzles in the navigation tool, with certain solves giving tools that allow more puzzles to be encountered. This unfortunately meant that the unlock order was constrained for some rounds. The Great Hall was the worst offender, with its opening set of three puzzles giving teams a lot of trouble.

We originally envisioned a more linear structure, where solving one floor meta unlocked the next floor. We quickly abandoned this plan to limit the number of single-puzzle bottlenecks. In the end, it was made so only the Dungeon meta is required to advance to the next floor, while the Great Hall, Armoury and Tower rounds are gated behind a certain number of feeder solves in each preceding round. It's good that we made this change, because some teams solved the Library as their last meta.

We are generally averse to time-based unlocks, to the point that every single person on our team voted against them. We believe that unlocking puzzles over time detracts from the intended experience of solving puzzles to make more puzzles findable in the navigation tool. It's still a possible consideration for a future hunt, but it didn't make sense for this one.

The future

Will there be an ECPH3? We don’t know yet, but we’re happy to see many of you expressing interest in taking part in another ECPH. We certainly need a break after working on this hunt for such a long time, but we’re very much discussing running another one.

Meanwhile, check the Puzzle Hunt Calendar for upcoming hunts, including:

Credits

Puzzle authors: cane, chimpaznee, chuttiekang, eanacra, phenomist, quatrevingtneuf, rubyleehs, SeptaCube, Zoë

Web team: cane, cpc2, eanacra, phenomist, rubyleehs

Testsolvers: 81, cpc2, ev, Jonah Ostroff, Jonathan Zhu, mayple ⍼ treeway, mizu, msl001, punchingcatto, Sam, Simran, and all puzzle authors

Art: chuttiekang

Story/dialogue: cane, chimpaznee, quatrevingtneuf, Zoë

Fun stuff

Taskmaster

Thanks for everyone that attempted the tasks! Here’s a collection of some of our favourite submissions. (If you want to have anything removed from here, please email us)

Congrats to the following teams for achieving the highest Taskmaster scores:

  • Mathemagicians Athemagicians Themagicians Hemagicians (58 points)
  • Euglossa Cyanura (To Synthesize Both Initialisms) (32 points)
  • Meowzle (30 points)
  • 🍓➡️🐢 (29 points)
  • Literally Entire Civilization of Parkour Hackers (29 points)
  • Blue Dragon (27 points)
  • Naughty Cat Nursery Centre (27 points)

Well done to the teams who found the following bonus phrases:

  • BONUS PT: 31
  • THREE EXTRA POINTS: 25
  • LIVE TASK: 8
  • CAN WE GET AN EXTRA POINT: 3
  • GIVE ME FIVE: 1

Notable guesses

Here are incorrect guesses on various puzzles that we have found funny or otherwise interesting:

Nature
TUVALU - 10 teams

Artifacts
BOOMER - 3 teams
ZOOMER - 6 teams

Follow the Leader
POOPDECK - RatoLibre 🐘🐘🐘

The Dungeon
NOTTHIS - 79 teams
THAT - 29 teams
SOCIETYWHENYOUSUBMITTOTHEWRONGPUZZLESOBBINGCRYING - Ten* Weirdos Operating Words

Oil and Water
OILANDWATERIHARDLYKNOWHER - she enchant on my castle till i phhh

🚩
HOTSEX - Left Turns Only
MYMSUBSFFMMMHAVEUNIONIZED - she enchant on my castle till i phhh
NTAYOURPUZZLEHUNTYOURRULES - the castle is actually an abandoned chuck e cheese

A Very Long Integer
QUBATYTOWER - RatoLibre 🐘🐘🐘
IWONDERHOWLONGMYANSWERCANBE - she enchant on my castle til i phhh, followed by:

Sauce Code
TAXFRAUD - 2 teams

The Library
HUEYDEWEYANDLOUIEDECIMALSYSTEM - Spin My Hovercraft

Dichotomous Key
We created a whole phylogenetic tree of guesses on this puzzle (click "View Tree" to see it). The tree has been condensed and simplified for readability, but almost every branch on this tree received at least two guesses, with some branches receiving more than 50.
PLAYBOYBUNNY - 3 teams
ZARUDESANDSTORM - 🅿ersistent 🅿uzzlers 🅿lus 🅿lus

Character Classes
BIOMIMETICS - 7 teams fell for this trap (you know who you are)

Ziggurats
IMSOGLADTHEFOREMANISHAPPYANDIDIDNTMESSUPMYHUNDREDSOFDIAGRAMS - Time Vultures
REGRET - Just Nutrimatic

On-Site Only - Sorry!
GALACTICPUZZLEHUNT - Isotopes Puzzle United

The Great Hall
GAGGEDANDBOUNDED - Spin My Hovercraft

Automata
PATRICKSTEWART - StriketeaMagician🔮

No Clue Matchmaker
LOVETRIANGLE - The C@r@line Syzygy
UPPERSQUARE - Ten* Weirdos Operating Words

Solution: Meta Bingo
REDLINGCOD - 62 teams (good job solving the puzzle!!!)
MASCULINEJAGUAR - PonX
SELLMETHEANSWER - Not A ECPH Competitor

First You Go Down Broadway
JESUSCHRISTSUPERS - boat moAT MEme team
WHOPLAYEDTHEFOO - Mathemagicians Outsourcing, Ahoy Thieves!

The Armoury
ATTEMPTTOWIN - StriketeaMagician🔮
DFM - the castle is now a spirit halloween (by coincidence, that the first letters of the Armoury’s 3 opening puzzles are ANS)
FRACTALCAMEL - Literally Entire Civilization of Parkour Hackers

The Escape Artist
DRINKINGAGE - Time Vultures
FOESSOAPBOARDS - 5 teams

WTF
Ø - 8 teams
BALL PAIN, followed by BUTYOUTOLDMETHISHUNTWOULDINVOLVEBALLPAIN - 🍓➡️🐢
WRAPTHEFLOUR - 反卷爽睡觉
WTF - 5 teams

The Tower
ABOVEITALL - 5 teams
ITHURTSMYHEAD - Mathemagicians Expertly Decode Intense Enigmas - Victory At Last!
PARALLELTONONE - Quarantine Decrypters - Takeshi
NICERONTOP - We Believed Her Lies
SHAPEOFYOU - Guess Who's Backsolving, Backsolving Again

Chanel
KUYMONTAT and KGUYMONTAGT - Godfather

Quentin
TAYLORSWIFTS - Inappropriate content

THE BEAST
PLEASELETMEPLAYCHALUPA - Mathemagicians yoinked team huh?
WHYARETHEPSTHERE - Mathemagicians yoinked team huh?
P - Mathemagicians yoinked team huh?
BEAUTY - ONE MORE

☄︎
HALLEYSCOMET - Nobles Encumbered by Sorcery

Escape the Castle
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - weeklies.enigmatics.org
TWITTER - 7 teams
ANTEXCREMENT - the castle is now a spirit halloween

Stories

(Please email us if you want to have anything removed from this section.)

Thank you to everyone who shared their stories with us. Here is a selection of some of these fun moments:

Choose Your Own Permutation
McGriddles Fan Club:

Sauce Code
Tricksters: “Reading out the recipes in Sauce Code around my non-puzzling partner and their comments about how horrible those instructions are…”

On-Site Only - Sorry!
Besides playing PictureGame, members of the community sometimes meet each other in person. This image comes from a conversation mayple⍼treeway (one of our testers) had with a PictureGame player unaffiliated with the hunt in any way. Its sheer coincidental nature had us in stitches:

Take Me Home, Country Roads
Mathemagicians Expertly Decode Intense Enigmas - Victory At Last!: “When stuck on Take Me Home Country Roads' logic section, we tried to summon Quentin with a circle of candle emojis.”
boat moAT MEme team: https://www.youtube.com/watch?v=wFhdShArqJo

The Tower
We enjoyed seeing the variety of ways teams mapped the Tower, whose hyperbolic geometry made it tricky to display on a Euclidean spreadsheet. In particular, at least two teams used HyperRogue as a mapping tool, much to the pleasure of the author of The Escape Artist:


(courtesy of the castle is an abandoned chuck e cheese and There is a castle in the woods..., respectively)

THE BEAST
PonX: “I joked about how we might get group theory due to the sheer number of math, from permutation matrices to combinatorics to game theory to geometry. Turns out I did get it via seeing ABELIAN in the Beast puzzle.”
C-quel Enthusiasts: "awww STRYCHNINE seemed like such an awesome answer, but ENDY is not a word" "just make a b appear in row 1 column 4 and it'll work"

Questions and answers

(Questions have been edited for clarity.)

What caused the noticeable difficulty/length increase from ECPH1? Was it a specific goal you had during the writing phase and did you steer towards/away from it at any point?

We didn’t intentionally set off with the goal of writing a very difficult hunt, though we did know once we selected the theme that we would at least end up having quite a few more puzzles. Making the first round (Dungeon) approachable to all teams was a stated goal from the start (so we were pleased to see so many teams complete it). We also wanted rounds to get progressively harder, so that it could feel like your team was conquering one level at a time. While we’re not sure if this was necessarily the case for the puzzles in the last three rounds, we think that at least the navigation puzzles achieved this goal fairly well. As more puzzles were being written, it became increasingly clear that our hunt would be long and hard, but we didn’t steer away from this.

Do you plan on making future EC puzzlehunts this hard?

We have no explicit goals of doing so (though we’re not ruling it out). In general, we think our team just values being able to make things that excite us. Sometimes that’s hard puzzles, and other times it might not be. Remember, EC stands for Everything Conceivable!

Thoughts on puzzle team power creep?

One challenging thing to balance is the fact that while new people are getting into puzzlehunts all the time (yay!), the gap between new puzzlehunters and experienced teams seems to continually be widening. It is very difficult (dare we say, impossible) to design an experience that will really satisfy participants on both ends of the spectrum. While this isn’t a new consideration, it’s one that is likely to play a larger and larger role as “power creep” continues. At a minimum, it’ll become important for future hunt organizers to try and set expectations early so solvers aren’t blindsided when the hunt starts. We think that there have been some exciting ways that teams have sought to work around this, and there are sure to be more innovations to come.

What were your internal predictions for hunt completion time? Were you surprised to see a team complete in 24 hours?

Most of us predicted a completion time of between 26-42 hours, with one outlier saying 12 hours. We were pleasantly surprised by the winning team's finish time!

How many teams did you expect to finish the hunt?

Our predictions varied between 15 and 85, with most being in the 40-60 range.

What were the inspirations behind the ghosts?

The ghost characters were largely conceived and designed in the last two months or so before the hunt’s release, after their puzzles were mostly written. In fact, even the idea that the ghosts were a team of trapped puzzlehunters (as opposed to residents of the castle or mysterious adversaries) came about relatively late in development. The first ghost character to be fully imagined was THE BEAST, which came about as the result of the author’s struggles while constructing that ghost puzzle.

Because the characters ended up being a team of puzzlehunters, we wrote them in such a way that they’d have relatable puzzlehunting traits (see the “Characters” section of the wrap-up for a more detailed write-up on this). We won’t comment on specific influences here, but aspects of some of the ghosts certainly draw upon members of the ECs or others that we know.

Curious to know more lore about our ghostly friends? We’ve included some post-credits material for you…

Why nonsensical ghost answers?

In some sense, the nonsense strings were a play on answers being “cursed” in nature. At one point in early ideation, it was even suggested that the ghost answers might be even more cursed (for example, involving special characters). The nonsense strings largely came in service of the story: they align better with this otherwise capable group of puzzlers being hopelessly stuck, and the payoff for the uncursed answers becomes more rewarding. Also, it was really hard to impossible to write some of the ghost puzzles for two real answers, especially Chanel and Trelawney. As an added benefit, nonsense answers probably help to avoid extra red herrings (we wouldn't want teams to think that the cursed answers were relevant).

We knew that this was likely to be a polarizing choice (even internally, it stirred some controversy), so we made a concerted effort to reduce frustration with having to solve to these nonsense strings. Checksums were included for every puzzle at the start, and puzzles were written with the goal that it should be very clear how to extract, so teams weren’t stuck on guessing indexing schemes or an unfamiliar encoding. Closeness checking was also implemented so that teams who were off by a letter or two could have a glimmer of hope. And for the frustrated among you, fear not - we certainly don’t intend to make a habit out of having nonsense answers.

What happens if a team submits an uncursed answer to the ghost before the cursed answer?

Teams were shown a message with the text “Looks like you're a step ahead - try entering this somewhere else later.” Several teams did do this, which allowed them to immediately uncurse some ghosts when they arrived at Escape the Castle.

How do you solve /r/PictureGame rounds?

The truth is that for the most part, solving /r/PictureGame rounds is a matter of clever use of standard search tools (good old Google and RIS will get you through more than you think). With practice, players develop an intuition for what features are likely to yield helpful search results. It is helpful to go to Google Images or another image search engine and describe a notable object seen in the image, such as a skyscraper, statue, bridge, et cetera. Sometimes there are clues that help you narrow down the region, such as flags or local companies. Visible text can sometimes be useful too.

I'm still lost in the tower. Send help.

It’s best to stay in one spot until rescued, since the space gets large very quickly. Hopefully another team will come in to rescue you before you are transformed into a swirling assemblage of geometric forms.