Harf Yolu: a Turkish word game with a tested core

Cocos Creator · TypeScript · Android · 151 tests

Product page (Turkish)

Start screen: points by word length and the best scoreMid-round: chaining neighbouring letters into the word KORNEREnd of round: 39 points, a new record and 17 words foundA grid where Ş, Ü, İ and I sit side by side
The interface is in Turkish; captions describe each screen.

The game

A 4×4 grid of Turkish letters. Players chain neighbouring letters into words and see how many they find in ninety seconds.

Key decisions

  • Rules outside the engine. Grid generation, word validation, scoring and Turkish casing are plain TypeScript with no engine imports, so 151 tests run in Node in seconds. The tests and the dictionary builder live outside the game bundle, which keeps the download small for size-capped web and mini-game platforms.
  • License before code. A word game is its dictionary. I confirmed the dictionary’s license before writing a line; a closed license would have changed the idea.
  • A name chosen by data. The first name was dropped after scanning 60 competing titles: half used “Kelime” (word), and the “Kelime + noun” pattern was taken three times. “Harf Yolu” (letter path) describes the mechanic and appears in none of them.
  • No network. No server, no account, no analytics SDK; scores stay on the device. What success means was written down before launch, so the numbers cannot move the goalposts.
  • Art from tokens. The launcher icon and store graphics are generated by scripts that read the design tokens. The icon renderer loads the repo’s own font and stops if the font is missing, instead of silently drawing the wrong letter.

The release-build freeze

In the release build the game froze on the grid. The ad bridge class is reached only by name from the game’s JavaScript, so R8 decided it was unused and removed it. The script threw “class not found” during start-up, before the timer and score were set up.

A Keep annotation fixed it, verified on a release build: intro, a full round, word acceptance and the rewarded-ad offer.

Proof

  • 151 tests across 16 files.
  • Build-check scripts for the Android and web output.
  • Published on Google Play.

Stack: Cocos Creator 3.8, TypeScript, Node test runner, Python and Node build tooling, Fastlane

Need this kind of work on your app? Email muhammedsaidcakir@msclabs.tr.

Next: The shared foundationAll case studies