Overview Make a clue game Make a spelling game Make a categories game Make word golf Make a dictionary Antonyms

Make an opposites game

HANTAI (反対 — “opposite”) is a puzzle built from the antonyms table. One rule: arrange the words so no two opposites touch. Clashing tiles spark until you slide them apart.

Every pair on its fifty boards is a strong, mutually listed opposite from the table; the boards are search-verified solvable, and there is no timer. Drag a tile onto another to swap them — or tap one, then the other.

The rest of this page is the build: where the pairs come from, how a board grows, why random tapping can’t win, and how many boards English holds.

DEMO
H01
OPPOSITES REPEL · A LINGUABASE GAME
Slide the tiles apart until no two opposites touch.
MOVES 0
BOARD 1/50
クリア! CLEAR
Board · moves

Pairs are mutual strong opposites from the Linguabase antonyms table. Boards are search-verified solvable. No timer — ever.


Problems

  • Players have to trust every pair — one OLD-vs-HOT on a board and the room revolts. Where do trustworthy opposites come from?
  • It has to be a puzzle — if random tapping wins, it’s a toy. What makes a board resist?
  • A daily game needs a supply — how many boards does the table actually hold?
  • Difficulty has to ramp — board 1 should teach and board 50 should bite. What turns the dial?

Relevant data sources from Linguabase

This build draws on 2 of the 13 Linguabase tables:

  • antonyms — every pair on every board, with the axis it opposes on and a 1–7 strength rating
  • vocabulary — the familiarity rank; both sides of every pair sit inside the 20,000 most familiar words

First, the raw material. Tap a word: every opposite the table lists for it, grouped by the axis it opposes on.

TAP A WORD · ITS OPPOSITES, GROUPED BY AXIS

Bold, rated 6–7 · plain, 5 · faded, 4 and under. Twenty-four words explored the same way: What’s the opposite of “mother”?

Example 1: Filter 1,596,686 rows down to 21,105 mutual pairs

The table lists 1,596,686 axis rows. A pair enters HANTAI only if it survives three filters: both sides are single words inside the 20,000 most familiar; the listing is rated 6+ in at least one direction; and — the filter that matters most — the listing is mutual: each word names the other as a bare opposite, on any axis. Our first boards paired OLD with HOT, a stretch no player would accept, and the table explains it: one row, one direction — hot [freshness/recency] → old:6 — while OLD lists only the phrase “hot off the press:4” in return. One-way listing is the data’s own signature for a stretch.

THE MUTUALITY FUNNEL · WHAT SURVIVES EACH SCREEN
axis rows in the table1,596,686
familiar, single-word, rated 6+ in some direction47,140 pairs
listed in both directions21,105 pairs

The mutual filter cuts 55% of the candidates, and the casualties confirm the cut is surgical: people:one, know:think, maybe:yes, sun:night. If you build anything on this table, the mutual self-join is the first move.

Example 2: Grow a board

A board is a dense patch of the pair network. Start from a seed word, add the neighbor that opposes the most words already on the board, repeat until the grid is full — then keep the board only if a backtracking search proves at least one clash-free arrangement exists. Every tile carries at least one opposite on the board, so there is no free parking, and most carry two or more, so fixing one clash risks striking a new one. Fifty boards ship this way: 3×3 through 4×5, from 5 pairs on the teaching board to 72 on the densest.

Growth is also why boards feel themed. ICY’s board pulls BOILING · BURNING · CHILLED · COLD · COOL · FREEZING… — the dense patches of the pair network are semantic neighborhoods.

Example 3: Does random tapping win?

Before shipping a puzzle, simulate the dumbest policy that could win it. Our first build fell instantly: tiles with no opposites on the board were free parking, and a policy of “swap a random clashing tile with a random calm one” solved every board in a median of 4–7 mindless moves — 99–100% of runs finished inside 20. If the dumbest policy wins, there is no puzzle.

THE DUMBEST-POLICY TEST · CONDENSED
# the dumbest winning policy - if this solves the board, there is no puzzle
while conflicts(order) and moves < 300:
    bad  = [i for i in tiles if in_conflict(i)]
    calm = [i for i in tiles if not in_conflict(i)]
    i, j = choice(bad), choice(calm or bad)
    order[i], order[j] = order[j], order[i]
    moves += 1

The rebuild removed the parking and favored words with two or more opposites in play. A board ships only when measurement says it resists: the random policy must run past its 300-move cap, and greedy best-swap must stall in a local minimum often, yet still win often enough with lucky tie-breaks that a thinking player has a fair path.

BEFORE AND AFTER · 1,000 TRIALS PER BOARD
free-parking buildshipped boards 3–50
random-swap policy, median moves4–7300-move cap
…solved within 20 moves99–100%under 4%
greedy best-swap, stalled in a local minimum0%28–64%
greedy best-swap, still wins100%36–72%

Example 4: How many boards does English hold?

The 21,105 mutual pairs could seat roughly 530 fully pair-disjoint hard boards at the ~40 pairs a 4×5 board carries — about 1,400 at 3×3. Empirically, a greedy packer built 68 boards that pass the difficulty gates with no two sharing more than two pairs, then ran dry: hard boards cluster in the same high-degree semantic neighborhoods — temperature, emotion, open/closed — so the practical supply is set by how many dense clusters the language has, not by how many pairs the table holds.

In daily-game terms the honest number today is ten weeks, not years: 68 boards of this quality exist right now, the envelope says roughly 530 could, and closing that gap is generator work — smarter packing, wider seeds — not data work. 68 is this generator’s floor, not the table’s ceiling.

Outputs

The pairs are screened (Example 1), the boards are grown (2), the difficulty is proven (3), and the supply is counted (4). What each table contributed:

Example 1
(the pairs)
Example 2
(the boards)
Example 3
(the gates)
Example 4
(the supply)
antonymsthe 21,105 mutual pairsevery edge a board grows onthe clashes both policies fightthe pool being packed
vocabularythe 20,000 cap, both sidesseed hubs ranked by familiarity

Other considerations

Fifty boards and 68 packed are one spec against one release. Still open:

Next steps

For opposites games: download the tables from any of the three repositories, state your own board shape — bigger grids, themed packs, a gentler ramp — and test it the way Example 3 tested this one: simulate the dumbest policy first. 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 artifacts for you or your coding agent to continue from: