Over the past two years, I’ve had a several requests for the word game Boggle and Scrabble. It wasn’t clear to me how to do a good Scrabble game where you play against the computer, since the computer has access to a dictionary, and that seems like an unfair advantage.
Boggle, on the other hand, appeared more realistic, and there are many variants of Boggle so that a sightly different game could be created without violating the Boggle copyright.
If you are unfamiliar with Boggle, it’s a set of cubes arrange in a 4 by 4 pattern. Each cube has 6 letters on it (one letter per side), and you spin all the cubes, so that you get a random pattern of letters. From the letters, you must form words that are at least 3 letters long. For example, a Boggle board could have the following letter combination:
M A V W
U S E A
F I R L
E O S H
You can form a word by connecting adjacent letters, above, below, left, right, or diagonal, and you cannot use a letter cube twice in the same word. For example, USE and SEA can be created on the second line, FUSE can be created from the first letter of the third line, and the first three letters of the second line, and SUM can be created by the 2nd and 1st letter of the second line, and the first letter of the first line, and SIR by the third letter of the fourth one, and the 2nd and 3rd letter of the third line.
The first step in building Boggle was to create an algorithm to determine all of the valid words. I found several master’s thesis by people solving this problem; the easiest solution for a computer is to take all of the 3 letters words in its dictionary, and then attempt to find them in the puzzle, then take all of the 4 letter words, and so on. It’s not how a person would solve the puzzle, but it does work, and on an iPhone, it can be done in under a second, using a dictionary of over 40,000 words.
We created a 4 by 4 version of Boggle, with some changes from the original game, and called it Word Flick. We did a 5 by 5 version as well, and came up with several more variants. To win the game, you try to get as many words as you can; the longer the word, the more points you score.
This game has become the basis for our Word Games app, that contains Hangman, Word Ladder, Word Flick and Unscramble. More on those games in a future blog.