Local Maxima: a SGPH 2023 recap

I recently participated in Singapore Puzzle Hunt 2023, a local hunt only open to solvers currently living and/or working in Singapore which bears the national epithet purely by merit of being the first regular offering of its kind here—it’s been running annually since 2015, which is remarkable for its consistency, if nothing else. (I would know, given Silph hasn’t run since 2021.) Similar to our outfit from last year, I hunted with lovemathboy and Zach (aka lvl1psy) as the NUS OFFICIAL PUZZLE SOCIETY (VERY OFFICIAL), this year nicknamed “🍆” because brevity is, purportedly, the soul of wit.

Actually, I have a mostly-written post sitting in my drafts about last year’s hunt, which can be summarized as follows: the hunt was quite decent (especially check out Beast Master, my favorite puzzle in the hunt!) but possibly lacked polish. I’m never going to knock authors for writing the puzzles they want to write, but SGPH has a pretty unique position in that many of its solvers are new and exclusively solve SGPH. Whereas the authors seem quite focused on attempting to set solvers up for success in other hunts by providing rigorously-written puzzles they felt that solvers “ought” to gain experience with, I’d prefer a focus on convincing new solvers that the hobby is fun enough to be worth pursuing in the first place.

With this background, I thought this year’s hunt was a great improvement on last year’s—the puzzles were overall smoother, and the puzzles in the second round in particular felt significantly more tractable. It was announced that the hunt would comprise shorter puzzles in higher quantities, so I was surprised to find that the Round 1 puzzles seemed mostly about the same as last year’s—I was actually expecting an even easier start, to cater to the nascent solvers in the solving population. For the readers of this post who didn’t do this hunt, you can imagine that the general difficulty of Round 1 was something like Huntinality’s Round 1, and Round 2 was like Puzzle Potluck difficulty.

I didn’t mind this so much since I enjoyed the difficulty level of last year’s first round, and it did seem that every single full-ranking team made it out of Round 1 in the end, which is a nice upwards trend from last year. It was a bit sad to not see more teams finish the whole hunt, but it seems like a bunch of teams got too busy on Sunday to keep puzzling, so it’s not exactly the hunt’s fault there (unless the team decides to scale it back down to a single-day event). As it stands I think the hunt difficulty could possibly be scaled down slightly more to cater to newer solvers, but I’ll also acknowledge that I’m only seeing part of the picture here: at the end of the day, the hunt writers get the survey responses from all the teams, and I suppose there must be trust in the writing team to make the correct decisions for the hunt and community.

Anyway, our experience of the hunt went about as you might expect: we decided to optimize for winning, which meant that lovemathboy worked alone on the two logic puzzles (The Children and The Logician) while Zach and I combined for solves on the wordier / less logicky puzzles. This ended up being remarkably good timing, with lovemathboy delivering the Children answer just as we needed it on the meta. For once in our miserable lives under the Eggplant name, we did not choke the Round 1 meta, and made it into Round 2 in under two hours.

If you look at our solve graph, it actually stalls incredibly hard at this point—our next solve comes almost two hours later, which is basically an entire extra Round 1. This is the combined effect of taking a lunch break, having a quick (and only slightly awkward) interaction with HQ after the first meta solve, and then getting stuck on the extraction of Gossiping because we are all blind and the choke artistry had to occur at some point. Eventually, after getting half-progress on a bunch of different puzzles, we solve Decorating and Cooking and are then off to the races. Some number of solves later, Zach goes off to bed, I go off to shower and have dinner, and while eating I check my phone and find that lovemathboy has solved the final meta while I wasn’t looking. Hooray!

Puzzles

I find that the #1 cause of me not following through on publishing my drafts is trying to write too much about puzzles, so here’s some briefer-than-usual (but still spoilery!) notes on the individual puzzles. Before I get into them, I recommend giving Gossiping a try if you enjoy crosswords—it was probably my favorite feeder puzzle of the hunt. (I’ve also sheeted it for convenience, if you’d find that helpful!)

The Record Keeper: Okay, I don’t actually have anything to say about this puzzle, but I think it’s kind of beautiful how our entire team was so in sync that we all instantly and tacitly agreed that we weren’t in the mood for an audio puzzle, and as a result spent less than a minute in total looking at this puzzle and hence also avoided wasting time sinking ID work into a puzzle without completing it. Talk about efficiency! (Turns out the puzzle is actually pretty neat and short, though I still think we’re sufficiently inept at audio identification that it wouldn’t have been efficient to solve it).

The Imperfectionist: This puzzle had really rough fill, but was a lot of fun to solve regardless. The extraction was quite beautiful. I’m not sure if this is just me gaslighting myself, but perhaps the rough fill—and hence having to start the gridding with a rather limited subset of the answers—contributed to the fun. I think this is just a satisfying genre in general, because it’s really nice when everything finally falls into place.

Meet the Relatives: This metapuzzle worked exactly the way I wanted it to, which is invariably a great feeling. I recommend taking a shot at solving it if you get a chance; the realization of the central mechanic was a pretty nice moment for us. It also helped that we solved this by extracting like six letters in total and guessing the pun from there; sub-50% information wheel-of-fortunes make for a solid dopamine hit and are a great way to feel extremely powerful.

Gossiping: This was the first puzzle we attempted after coming back from our lunch-and-interaction break, and it was a great start to Round 2. I’ve had the general line “crossword where you fill in the black squares” in my puzzle ideas file for a long while now, but it somehow never occurred to me to make the black squares another crossword puzzle in themselves—now that I’ve seen this puzzle, the idea seems incredibly obvious, which I think is a sign of a great puzzle. (It’s also possible that this has been done before and I completely missed it, in which case woops but also this puzzle is still cool.) I suspect the actual construction is probably not as constrained as it might seem intuitively, but it’s still built well and the fill is relatively clean (even if the nature of the gimmick means that there’s not much room for nice long puzzle-spanning marquee entries).

We spent ages on extraction because somehow no one noticed that the grey night letters were all unique and went from A to R, and ended up doing a lot of silly things. Did you know that if you interpret “difference” in the flavortext as hintful and convert the difference between the letters in each grey cell to A1Z26, you get a bunch of triples that almost sound like they could mean something? We were repeating JIA EEK EAH OMA ECH IKI in voice chat for an embarrassingly long while.

Building: The idea to use funny IKEA product names as a dataset is a nice one, but I think this felt like it was missing an interesting step and ended up being a pretty plain match-and-index puzzle in the end. The double-order was kind of a weird inclusion; I think both orderings were pretty clear and I’m not sure a confirmation was needed, so it would have been nice if one of the data channels was picked up for something else. Definitely a puzzle that worked, and I didn’t hate it or anything, but felt like it lacked a bit of punch to me.

Cooking: I feel like the “these are recipes but secretly word transformation instructions” idea has been done a bunch already, and this was for the most part a simple version of the idea, but it was a fun solve regardless. The very precise grammar also made this a lot less painful than I was anticipating (once I figured out said grammar and wasn’t just trying random deletions).

Overseeing: lovemathboy handled most of this (notably, all the parts that actually had to do with Othello), and then said he was stuck on extraction. I was like “very obviously this is Braille of some kind???”, because how else would you extract from an Othello grid right?, and the first thing I tried (Braille on top three rows and bottom three rows) just so happened to work. I figured there was probably some intermediate cluephrase that we missed (there was, because who reads flavor anyway).

Final Engagement Challenge: I never really got to look at this much; I got the general idea that the answers were going to correspond to mahjong hands at some point, given the unnaturally high frequency of triples in most of them, but it was lovemathboy who actually figured out the puzzle title involvement, the actual mapping, and so on.

I think this puzzle felt like it might have relied a little too much on the puzzle titles for my liking; normally I would try not to assign more weight to the titles than, like, an ordering for the answers or something. I guess the practice of using auxiliary puzzle information isn’t so foreign to this hunt (history lesson: in 2018, the hunt had specially-labeled antemetas that used puzzle titles; in 2021, one of the metas used the innocuous “difficulty ratings” on each puzzle!), but it always seems a little wily when it comes up.

Still, despite the anticlimax, I enjoyed this ending better than last year’s, where we got stuck on the meta for about 21 hours (during which time I solved the entirety of a different hunt also scheduled for that weekend). It seems that the average finishing team also spent a more reasonable amount of time on this meta (around 1 to 3 hours), which I’d definitely call a win.

Parting thoughts

As much as I’ve given this hunt flak in the past for its somewhat poor track record when it comes to difficulty tuning, I think the community is lucky to have this hunt overall, especially given what I feel to be a notable increase in quality in recent years. I also think the writing team has its heart in the right place with regards to their aims in serving the local community (they even have a hunt philosophy document laying out their goals for the hunt!) and have shown an incredible amount of consistency producing the hunt every year. Hunt difficulty calibration is always a slippery thing to try to get a grip on, and I don’t doubt that the team will continue to keep refining their processes until they get the hunt where they want it. This is an incredibly different tone from the parting thoughts I wrote (but didn’t publish) for last year’s edition of the hunt, which just goes to show how much can change in a year—who knows what the next will bring?

One thought on “Local Maxima: a SGPH 2023 recap

  1. Loved the write up and generally agreed with the opinionated bits.

    One point to emphasize… part of the challenge in writing for a less seasoned audience is not just (i) to make the puzzles solvable, but also (ii) to show off what’s cool about huntpuzzles. Even better if you can write one or two mind-blowing puzzles that really knock people’s socks off.

    Obviously, the second goal is hard to achieve in any event, let alone in a hunt aimed at beginners. But it should always be part of the goal, even in a beginner hunt.

    I think SGPH was really fun this year, I definitely plan to continue participating if it’s still happening.

    Liked by 1 person

Leave a comment