Following on from the success of Josh Wardle's Wordle, a new game called "Knotwords" was developed by Jack Schlesinger and Zach Gage. We've not seen any of the various versions of the game or even a video of them running, just some still images, but this page describes our program "knotty" which was inspired by what we have seen.
The first image below shows, side by side, two copies of the game. On the left the starting configuration and on the right, the finished puzzle, which looks like a crossword drawn on coloured shapes (polyominoes).
The puzzle grid contains black spacer cells and coloured polyominoes. In the finished puzzle each cell contains a single letter and these combine to make intersecting horizontal and vertical words on the grid. At the start of a game every cell displays along its top edge a copy of all of the solution letters housed by its polyomino. The player must work out which letter is the solution for which cell, each letter being used only once.
Notice that if a linear polyomino spanned a complete word, at the start of the game each of its cells would contain an anagram of the final word. But, an essential feature of the game's interest is that the polyominoes do not coincide with the words in the solution: they can be shorter and non-linear. Much more fun.
A montage, on the left showing the start of a knotty game and, on the right, its solution.
The small letters at the top of each cell serve to indicate the remaining letter choices and to provide an editing method: mouse clicks can be used to delete or reinstate letters or to set them as the cell's solution. When requested they are also highlighted to show errors or hints.
The game contains 600 puzzles of sizes 4x4, 5x5 and 6x6. The words are taken from Brian Kelk's UK English wordlist and comprise 6056 of six letters, 3784 of five and 1989 of four.
Knotty Worked Example
The player selects the next puzzle using a right mouse click. She sees that "YES" is the solution for the top right and sets the letters with middle mouse clicks. An "I" is filled in automatically and "SINEW" is the only possibility down the right edge. "Y" cannot be followed by "T". The 3-letter word across near the bottom right could be "THE" or "TOE" but the crossing word down cannot end "H" so it is deleted. And so it goes.
At the top of the display is a Toolbar. The jigsaw piece button at the left is a menu which has options for choosing font size, the colours used and for saving the current settings. To the right of the puzzle icon is the game icon which selects the next puzzle (left mouse, random selection, right mouse, the next in the list). Right again, the wand, is the hint button which will colour red a letter which is not the solution for a cell. Right again, the thumb icon checks for errors. As shown in the Error figure, if an error is detected the thumb turns down and the incorrect letters are coloured red. They can be reset by a futher click on the thumb. Right again, the smiley will show the solution for the whole puzzle. The box to the right shows the current puzzle number and can be used to select a different puzzle number. Right again is a clock which ticks every 5 seconds.
The player has clicked on the thumb (or the hint button) and the program has discovered that the top two cells in the left hand column are incorrect. This is shown by the thumb turning down and by highlighting all the letters in the current error colour (here red).
A left mouse click deletes a letter, middle mouse sets a letter as the solution and deletes all the others in the cell, right mouse restores ALL the letters for a cell. When a letter is set as the solution for a cell the program will automatically remove that letter from the other cells in the polyomino. In addition, if a cell is left with only a single letter the program will automatically set that letter as the solution for the cell. These operations often combine, leading to a satisfying cascade of cells being solved.
A hint is shown by highlighting a letter in the current hint colour (here red). In this example it is in the 4th column, second row down. The algorithm is the simplest possible: the progam finds a cell with the most remaining letters and highlights a letter which is not the solution for the cell! A second click on the wand will delete the hint letter. If the player requests a hint and the program detects an existing error, the error is highlighted and must be resolved before a hint can be requested.