If I store combinations of letters in a lookup table, because in the English language there are letter groups that go together quite often.
So CH is a common letter group. And so is TH. And so is ING.
How many common letter groups are there?
How many would I use in all of my word dictionaries?
If a word search has a theme, say names of colours, or names of animals, would there be overlap between the same words used in different word search games?
Hrmmm.
Let’s assume I have a list of words I need for a word search level. Each word is actually just a one byte value that is an index in to a table where the real words are stored.
So we have a “word search word list table” that has a string describing the theme of the table, .e.g “COLOUR NAMES” and four bits that indicate how many words are used in that word search level.
Then I have a list of between 8 and 23 words which are just one byte values into another table that is the actual individual word.
Let’s call that other table “word table.”
That word table can contain up to 256 words.
Each word is stored as a series of six bits for a letter group along with three bits to indicate the letter of the word, i.e. how many six bits sequences make up the word.
Those six bit sequences are an index into another table called “letters” which are actually either individual letters or groups of letters.
So effectively I have to think of the English language as having 26 letters plus another possible 38 “letters” made up of two letter pairs and three letter triples. Single. Double. Treble.
Footnote: The problem I was trying to solve was how to store hundreds of words in as small an amount of memory as I can. I only had about 4KB of RAM to play around with as I recall. I wanted to store hundreds of different words, graphics and code.