Monday, December 5, 2022

Tutorial: Stretched Squares

 Another use case for wordlist encoding is having single letters stretched across multiple squares. This is a slightly more cerebral spin on the mechanics outlined in previous posts.

Let's use as an example Jeremy Newton's impressive "Stretching Exercises" Sunday puzzle:


Filling a Sunday grid with six pairs of stacked answers is hard enough as is, but having all those crossing downs get treated as single letters is a challenge beyond me. However, there is a some wordlist manipulation we can do to make things a little easier.

To simplify things, let's narrow it down and just use the string TRAP. If I tried stacking two answers containing that string, I'd quickly see that my grid appears unfillable since it's trying to double up all of those letters:


Instead, we need a way of signaling that those strings mean something other than two T's, R's, A's and P's.

First, let's open our wordlist in Excel and isolate all words that contain the shared letters. Here I have a simple formula that counts the number of any given letter:


This formula is taking the length of our original word and substracting its length after substituting the letter "t" with nothing (""), yielding a count of the number of T's.

Next we want to filter down to all our "T" words and paste the results into a new tab. For simplicity's sake, I'm only going to use words that contain a single T, so T count = 1. In that new tab, select your T words and find/replace "t" with "11":


You can do this for words with multiple T's too, it just takes a little extra effort to only substitute a single T at a time.

Repeat this for the remaining letters in our string, replacing R with 22, A with 33, and P with 44. Essentially, we're creating encoded versions of all these words where that letter will now occupy two boxes instead of one.

Next compile those results into a single custom wordlist to supplement your original wordlist, and select both in CrossFire under Config > Dictionary:


Alternatively, if you're using Crossword Compiler you would combine this supplemental list with your original list to create an entirely new custom list.

With those in place we simply need to adjust our themed entries to reflect the encoded string of 1234 instead of TRAP:


Note that stacking two answers with the string 1234 has created our four encoded letters for the crossing down answers (11, 22, 33, & 44)

Now we can fill the remainder of our grid per usual, and the software will treat those squares as if they spanned two boxes. Running a quick autofill you see that it yields ample results:


You may notice some unintended results with additional encoded blocks. Those should be easy enough to eliminate as you work through filling your grid optimally. You could even encode multiple theme options with 1234 and add them to your wordlist, but I would generally try to cherry pick those if possible.

While this approach will greatly help in filling all the crossings, it's still incredibly challenging to build a theme around multiple pairs of stacked answers. Finding a symmetric set of lively answers that can be stitched together cleanly requires a great deal of patience, and I'm frankly in awe of what Jeremy pulled off above. 

I should also note that in CrossFire you're limited to numerical characters for encoding (0-9), so this wouldn't even be possible for such a robust set of theme entries. Crossword Compiler does allow additional special characters, but I sometimes find it a little clunkier to use.


For anyone looking for more detail, here's a video walkthrough of how I used this technique to help fill my 4.5.23 puzzle in the NYT:




Thanks for reading!













No comments:

Post a Comment