Update: You can play an updated version online here in the binjgb Game Boy emulator. This is the version with the frequency-based answer list rather than the official Wordle list, for copyright reasons.
There is a Game
Boy version of Wordle, using a bloom filter, a reduced vocabulary
and a reduced list of guess words, all fitting on one 32K cartridge. I
decided to challenge myself and see if I could fit in the whole 12972
word Wordle vocabulary, with the whole 2315 word answer list. So the
challenge is:
-
Compress 12972 five-letter words (Vocabulary)
-
Compress a distinguished 2315 word subset (Answers).
I managed it
(download ROM here), and it
works in a Game Boy emulator. There is more than one way, and what I did
may be excessively complicated, but I don’t have a good feel for how
fast the Game Boy runs, so I did a bit of speed optimization.
Step 0: We start with 12972 × 5 = 64860 bytes of uncompressed
data.
Step 1: Divide the 12972 word list into 26 lists,
based on the first letter of the word. Since in each list, the first
letter is the same, we now need only store four letters per word, along
with some overhead for each list. (The overhead in the final analysis
will be 108 bytes.) If we stop here,
Step 2: Each four letter “word” (or tail of a word)
can be stored with 5 bits per letter, thereby yielding a 20 bit unsigned
integer. If we stop here, we can store each word in 2.5 bytes, for a
total of 32430. That would fit on the c