Repository navigation
Releases: abons/wordpuzzle
Release list
Word Cross 1.6 — de tilde uit het woordenboek stond op het bord
Nog een aanwijzing die niet als een aanwijzing las, en dit keer stond er letterlijk een tilde.
- De
~uit het woordenboek stond gewoon op het bord. De omschrijvingen komen uit Wiktionary, en dat schrijft~op de plek waar het trefwoord hoort. Dat kwam ongewijzigd bij je terecht:BASEREN→ "~ op: gronden, doen steunen",ACHTEREN→ "van ~ aan de …". Het verraadde niets — het ís al een plaatsvervanger — maar het las als rommel in plaats van als een vraag. Diezelfde~staat nu als…, net als het antwoord dat wij zelf wegpoetsen. 161 aanwijzingen hadden er een; 139 daarvan lezen nu gewoon. De 22 andere bleken bij nader inzien niets te zeggen ("zich …: zich tot een gewoonte maken") en zijn eruit gehaald, volgens dezelfde regel die 1.5 introduceerde.
96 904 bytes, SHA-256 b1027b21e541d55a2ec5a8763d101d4baaa00cefc6b1d5002ba55c1c7214d7b7, dezelfde sleutel als 1.0–1.5 (2405A10D…D8CA). 170 tests groen.
Word Cross 1.5 — een aanwijzing die alleen nog uit stopwoorden bestond
Eén reparatie, en een duim vond hem.
- Een aanwijzing die alleen nog uit stopwoorden bestond. De omschrijving die je bij een woord krijgt is de woordenboekdefinitie met het antwoord eruit gepoetst. Bij
BEREIDERwas dat het enige woord dat iets zei: wat overbleef was "iemand die iets …". Niet op te lossen, en het leest als een afgekapte zin. 602 van de 30.008 kandidaten hadden die vorm —ATLETE→ "vrouwelijke …",AFGHAAN→ "een inwoner van …",BERKEN→ "gemaakt van …". Een gemaskeerde aanwijzing moet nu twee inhoudswoorden overhouden, anders komt het woord niet meer in een puzzel.
96 873 bytes, SHA-256 85cb1e7737fcbefef9947f745ca3d8c591c8ca0b2d70e980b0b45ab46c6c6c47, dezelfde sleutel als 1.0–1.4 (2405A10D…D8CA). 167 tests groen.
Word Cross 1.4 — een begrensd bord, en foutmeldingen in onze eigen woorden
Twee dingen die sinds 1.3 klaarstonden en nog geen speler bereikten.
- De dagranglijst haalt hooguit 200 rijen op. Het bord is openbaar, dus hoeveel rijen een dag telt is niet aan ons; de snede wordt server-side gemaakt (
orderBy="seconds"+limitToFirst=200, met.indexOnin de rules), zodat de bytes de database niet verlaten. Eén opgeblazen dag haalt de dialoog niet meer onderuit. - Foutmeldingen zeggen nu wat de app bedoelt. Bij een mislukte inzending of een onbereikbaar bord stond de uitzonderingstekst van het platform op het scherm: Engels, intern, met de Firebase-host erin. Die gaat naar logcat; de speler leest "Controleer je verbinding".
95 431 bytes, SHA-256 a660ef7e966e860cb01497d6003132782a42dbf0a51741280c6ce7917df5b968, dezelfde sleutel als 1.0–1.3 (2405A10D…D8CA). 125 tests groen.
Word Cross 1.3 — three edges of the coin economy, closed
Word Cross 1.3 — three edges of the coin economy, closed.
1.2 gave help a price and the daily a leaderboard. This release repairs what that opened up, at the
three places where it could bite a player.
Never blind on an empty wallet
Since 1.2 every kind of help cost coins, and Controleer — the button that marks what is wrong —
cost one too. On zero coins that left you playing with no signal at all: no red, no green, no
confirmation. A fresh install started at zero, so that was every first puzzle of every new player.
- You now start with 5 coins. Not a buffer; room to try both hints once while you find out what
they do. - On zero coins, Controleer is free — and pays nothing. It still marks, it still confirms, and
its mistakes still count on the leaderboard; only the payout is off. That "pays nothing" is the
whole point: a free press that earned would make zero the best balance in the game. The way up is
a solved puzzle, and nothing else. Hints stay locked at zero, which is what a balance is for.
A name that is already on today's board
Submitting a score under a name someone else used that day looked like it had worked, and the board
came back with that stranger's row highlighted as yours. Two things met: the board refuses to
overwrite an existing entry, and that refusal was read as "that is you" without ever comparing the
numbers. Any name without letters or digits also becomes ANON, so the second player of the day who
left the field empty walked straight into it.
Now the app reads the entry back and compares your actual time, mistakes and hints. If it is not
yours, it says the name is taken and asks for another one — and your name is only remembered once it
really lands.
The clock stopped being a coin machine
The daily puzzle is picked by the date, and the date comes from your phone. Setting it forward handed
out a fresh daily, a fresh payout and a longer streak, over and over.
A day below the highest day this install has ever seen now still plays, but it does not count: no
coins, no streak, and no place on that day's board. Travelling west sets the day back one legitimately,
so the puzzle is never refused — at most you miss a single payout. Moving the date forward is still
allowed, because offline it cannot be told apart from someone who was away for a week; what it costs
you is every payout until the real calendar gets there.
Unchanged
No purchases, no ads, no tracking, no billing code in this APK. Still pure Kotlin on the Android
framework only — no AppCompat, no Compose, no third-party library, the whole interface drawn in code.
93 KB, Android 5.0+.
Word Cross 1.2 — a daily leaderboard, and help has a price
Word Cross 1.2 — the daily puzzle now has a leaderboard, and help has a price.
A daily leaderboard (the reason for this release)
Solve the daily and you can put a name on that day's board. It ranks on corrected time: your
clock, plus 30 seconds for every wrong letter Controleer found and 60 for every hint you took.
So help is a trade rather than a disqualification — one hint still beats being five minutes slower.
Sending is a choice. Solving alone never uploads anything; only the submit dialog does, and what it
sends is the name you type plus those three numbers. Type whatever you like — it is a label on a
public list, not an account. The board stores the raw numbers and not the score, so the ranking is
worked out from what everyone actually did.
Hints cost coins now, and the daily has them
Coins used to buy one thing and hints were free. Both changed, and they changed together:
- Help has a price. 1 coin to check, 1 for a single letter, 3 for a whole word. Solving still
pays — 3 for the daily, 1 for a free puzzle, 1 more if you took no hint — and 30 still unlocks the
extra-large puzzle (about 36 words across 19 columns) for good. - Controleer pays itself back. It costs 1 and returns 1 for every word it newly confirms, so
a player who is right checks for free and a player who is guessing pays for the guess. Pressing it
twice earns nothing, and neither does a word a hint filled in. - Hints work in the daily too, where they used to be refused outright. They cost coins like
anywhere else and cost rank on the board — which is what keeps paid help visible instead of
invisible. - A broken day streak can be bought back for 10 coins, once the gap is a single day.
There is still nothing to buy with money: no purchases, no ads, no tracking, and no billing code in
this APK at all. Coins come out of play only.
The interface got quieter
- The top bar is three buttons instead of five. The gear is gone: + opens a small menu where
you pick the size and start a new puzzle, and the sizes you have not unlocked show their price
instead of a padlock — the price was always the lock. - Your coin balance sits next to the date as plain status, not as a button competing with the
buttons. - The keys are keys again. Bigger, rounded, opaque, with a light-to-dark face and a visible press.
They used to be 90% translucent, which meant identical keys rendered in different shades depending
on which backdrop sat behind them. What floats on the picture — the three top-bar buttons — is a
round dark wash instead, so the split between "on the scene" and "part of the keyboard" is visible. - The small pictures are drawn, not typed. Several of the emoji this app relied on come out wrong
in the system font — the calendar ships with "July 17" baked into its artwork, and the coin renders
as a bank building — so the calendar, the chart, the coin and the rest are now drawn in code like
everything else here.
Also fixed
- Switching between the daily and free play no longer costs you the letters you had typed.
- The daily button no longer reloads the puzzle that is already on screen.
Under the hood
The leaderboard talks to its database over plain HTTPS, with no SDK and no runtime dependency —
still pure Kotlin on the Android framework only: no AppCompat, no Compose, no Material, no
third-party library, and the whole interface drawn in code. 92 KB, Android 5.0+.
Word Cross 1.1 — typing that carries on
Word Cross 1.1 — the update that is mostly about typing.
Filling it in got better (the reason for this release)
- Checked letters stay put. After Controleer, every correct letter is locked and turns a
darker green; typing on it does nothing, so a solved word cannot be broken by accident. - The cursor carries on. Fill the last cell of a word and it moves to the next open word by
itself, instead of waiting to be tapped somewhere else. - Arrows on the clue bar step from word to word, skipping the ones that are already full.
Your grid survives closing the app. The daily and free play each keep their own board, including
which letters were locked, so leaving the app half-way is no longer the same as giving up.
Coins, and the one thing they buy
Solving puzzles pays: 3 for the daily, 1 for a free puzzle, plus 1 more when you used no hint. At 30
coins the extra-large puzzle unlocks for good — about 36 words across 19 columns, half again as
big as groot. Hints stay free and there is nothing to buy: no purchases, no ads, no tracking, and
no billing code in this APK at all. What a coin buys is content, never an advantage.
Also fixed
- The green of a solved letter was hard to read on the drawn backdrops; it is now
#0D5424, measured
at a 4.90:1 contrast ratio against the cell. - When something goes wrong the dialog says what happened instead of showing a platform exception.
Under the hood
Built against Android 15 (targetSdk 35), which makes the app draw edge to edge — the top bar now
places itself clear of a camera cutout, verified by measurement on an Android 15 screen rather than
by eye. Still pure Kotlin on the Android framework: no AppCompat, no Compose, no Material, no
third-party runtime library, and the whole interface is drawn in code. 79 KB.
Word Cross 1.0 — a Dutch crossword whose clues are definitions
The first release of Word Cross — a generated interlocking crossword in Dutch, where every clue is
the answer's own dictionary definition with the word masked out.
What's in it
- A daily puzzle, derived from the date, so it is the same grid for everyone that day and
survives a restart unchanged. - Free play in three sizes — klein (±8 words), normaal (±16), groot (±24). The daily ignores the
choice on purpose. - Controleer marks wrong letters red; Hint reveals a single letter or the whole word, and
solving without hints is counted separately. - Statistics and streaks: solved, solved without hints, dailies, current and best day streak.
- Eight drawn backdrops — mountains, ocean, forest, desert, city, night, meadow, autumn — made
from canvas shapes only, so the APK contains no image files at all. - Screen-reader support. The grid is one hand-drawn canvas, published as a virtual view tree:
every open cell is a focusable node that says where it is, what is in it and which clues run
through it. Walked through with TalkBack by ear. - Offline after the first start. The Dutch word list and its definitions are downloaded once and
cached; after that the app needs no network.
Under the hood
Pure Kotlin on the Android framework — no AppCompat, Compose, Material or any third-party runtime
library, and the entire UI is built in code. That is where the 66 KB comes from. The 4.3 MB
definitions file is streamed straight into a compact per-install cache, which brings a cold start
down to about 1.5 s.
Permissions
INTERNET and ACCESS_NETWORK_STATE, both for the one-time download of the word list. No ads, no
analytics, no accounts; puzzles, statistics and streaks stay on the device.
com.hrbons.wordpuzzle_1.apk — 67,127 bytes, versionCode 1, Android 5.0+.
SHA-256 92fa281ba45ba3be1f05d3a0bcd54aba70a0879dc90cbed91c99d2ff11145c84