Here we make an anagram game where the player solves for common words. One pool of seven letter tiles yields four words — 4 letters, 5, 6, then the 7-letter word that uses every tile. The commonness is the player’s own tool: knowing the hidden words are common, they filter their guesses by feel — TREES before CREST. A wrong-but-real word is a building clue, showing which letters sit right; the 7-letter answer can also take a word hint. Try it below.
Drag or tap the tiles to make each word, from 4 letters up to the final 7:
A letter-circle spelling game where the hints come from meaning. Players get three related words, partially revealed, and work toward a hidden answer. Every clue is pulled straight from the association data — and filtered so it shares no letters with the target, which here is a one-line query.
Definitions players understand, short clues sized for gameplay, and relationships strong enough to hint without giving the answer away.
This example draws on 5 of the 13 Linguabase tables — three to build the puzzles, two to show them to the player.
| vocabulary | A familiarity rank for every word. Everything below reads this one column: it decides what can appear in a puzzle at all, and where. |
| scores & labels | The filter: a content rating and a sensitivity score, so a family game can hold itself to G and PG. |
| word families | Which words are relatives. Keeps SMELL and SMELLY out of the same month, and a clue from quietly containing its own answer. |
| clues | Short suggestive hints, close to cryptic — 26 angles apiece, so the same row can clue easy or hard. |
| definitions | One plain readable paragraph, shown when a level ends. |
All word games are constrained by how letters are distributed across English words. Explore the solution space given a series of constraints — seven filters — starting from a baseline: the top 200,000 most familiar words in English, a list that reaches well into advanced collegiate vocabulary.
The business question above is how many unique puzzles can be created — and step 9 lets you re-run the pipeline with different caps. Even so, the constraints yielded thousands of puzzles. By comparison, here are some other wordplay puzzles where the final solution space is much smaller. You could fill a book or a magazine, but not create years of daily puzzles:
The next question is how familiar the words in the game should be.
How hard a word feels is an intangible — it depends on morphology (whether you can pattern-match your way into it) and on whether the word lives in your active vocabulary, your passive vocabulary, or neither. The Linguabase familiarity ranking is a proxy for how hard a word is, with the most broadly familiar words near the top. Deeper in the list are harder words, then technical jargon, rarities, and spelling variants; the bottom of the list is no longer English at all — proper nouns, OCR errors, and other noise.
The low end of the list is its own kind of data. LAMEBRIANS and ABSOLBER arrived through OCR and online text — the first is lamebrains with two letters swapped, the second is absolver with a b for its v — and the scoring pushed them to the far end. Read this way, the low end is knowledge about probable errors: a catalog of the misspellings, scan artifacts, and character swaps that real text contains, each traceable to the word it corrupted.
We will stay in the realm of common and familiar words. Try varying the two caps here — one for the three easier words the player solves first (the easy words), one for the seven-letter word that ends the level (the answer):
The rest of this page uses 50,000 and 70,000: 1,510 puzzles, four years and one month of dailies. If you wanted ten years of dailies, no setting on this dial reaches it.
Next, the levels themselves: five steps take a candidate from the finale list to a shipped level. The same seven tiles spell RESPECT and SPECTER — which one should ship? Let’s push RESPECT through the five steps and find out, watching the level record build on the right. The full script follows below.
A level ships with its display text: a word hint the player can request on the answer, an angle under each solved word as validation, and a line for every stray find. Two tables supply it — clues for the angles, definitions for the meanings — with word families filtering out any angle that gives the answer away. Tap each word of level 608:
Building the package is column selection. The clues table carries 26 angles per word, one-word through situational; the build takes the first angle from a stated priority order that survives the giveaway filter. PENSION’s “Superannuation disbursement” is discarded because superannuation is in pension’s word family. Definitions become the one-line meanings by trimming at a word boundary, markup stripped. The other hint in the demo costs no data at all — revealing a letter needs only the answer.
There are two kinds of wrong guess. A real word that is not the answer is a building clue — the letters it placed correctly stay put:
It’s not C-R-E-S-T. But the “R” and “E” were right. Keep guessing, it’s a common word!
Its display line lands under the message — every findable word carries one:
crest: “A crest is the highest point or top of something—the crest of a hill, the crest of a…”
A non-word earns nothing:
S-R-E-C-P isn’t a word here. Tap letters to remove and try again.
Distinguishing the two takes a word list in the page. How big? For the first stage of level 608: four slots, seven tiles — 7·6·5·4 = 840 ways to lay the tiles, 480 distinct strings once the doubled E collapses duplicates, and 16 of those strings are words in the top 200,000 of the familiarity list. One is the answer. Packed, the sixteen are a 64-byte string — tap a word to seek it:
A guess seeks the string for its own length, at offsets divisible by that length; an aligned hit is a word. Four packed strings per level, one per length, and the whole fifty-level embed is 10.6 KB minified. The demo above runs on this exact structure.
The whole package for the fifty demo levels: 10.6 KB of packed word strings, 127.6 KB of display lines for the 1,336 findable words, 13.4 KB of clue angles for the level words — about 152 KB all told. The split is the finding: validating words costs a tenth of it; saying what they mean is the rest.
Nothing is computed at play time: each level’s content rides in the game’s bundle, written once by the build above. Toggle the first three demo levels and read what each one carries:
Play time is lookups, nothing more: seek a guess in its packed string, compare it to the answer, read the lines off the bundle.
At this point the mechanic is counted (Example 1), the caps are set (2), the levels are built and vetted (3), and the display package is assembled (4). What each table contributed:
| Example 1 (counting) | Example 2 (hardness) | Example 3 (levels) | Example 4 (display) | |
| vocabulary | the ranked list itself | rank is the dial | picks answers and easy words | the words themselves |
| scores & labels | G/PG + sensitivity filter | — | same filter, both lists | — |
| word families | plural and kinship filters | — | easy words must be unrelated | drops clues that name a relative |
| clues | — | — | step 5 attaches two angles | expert and learner registers |
| definitions | — | — | step 5 attaches meanings | a line for each stray find |
1,510 is one spec against one release. Still open:
For anagram-like games: download the tables from any of the three repositories, hypothesize your own game mechanics, and test them the way Example 1 tested this one — enough puzzles, and the right vibe of words — then build out the scripts in your language of choice. The walkthrough demos and each table’s README on the mirrors go deeper — and this page itself is a workable hand-off to whoever builds for you.
To help, two heavily documented draft scripts for you or your coding agent to continue from: