I just launched Kotobato on Google Play after about two and a half years of solo development. It's a word puzzle RPG — you swipe connected letters on a board to form words, and those words become attacks. Longer words deal more damage. Rarer words hit harder.
I want to share what I built, why I built it this way, and what surprised me most during development.
The core mechanic
The board is a grid of letters. You swipe a path through connected letters to form a word. When you submit the word, it becomes an attack against the enemy.
The twist: word length isn't the only thing that matters. The game has six elemental types — Animal, Nature, Knowledge, Food, Life, and Fantasy — and each word is categorized into one of these elements. Enemies have elemental weaknesses, so the right word beats a long word if you're hitting a weakness.
This created an interesting design problem. In most word games, you're just maximizing point value. In Kotobato, you're making tactical choices: do I use a short word that hits a weakness, or a long word that deals raw damage?
Why hiragana and English both work
The game runs in both Japanese (hiragana) and English. This wasn't a late addition — it was part of the original design.
Japanese hiragana is a syllabic script with 46 base characters. Because each character represents a whole syllable rather than a single phoneme, even short hiragana words feel phonetically "weighty." A 4-character hiragana word might correspond to an 8-letter English word in spoken syllables.
This means the game feels different in each language — not just translated, but genuinely different. Japanese mode rewards knowledge of vocabulary that uses phonetically distinctive combinations. English mode rewards knowledge of unusual high-value words (think quixotic, ephemeral).
What I actually built
- 100-floor tower with escalating bosses, including historical Japanese figures like Oda Nobunaga and Toyotomi Hideyoshi
- Gacha character system — collectible characters with different stat profiles
- Co-op multiplayer — two players can combine word attacks on the same enemy
- 6 elemental types with a full weakness/resistance matrix
- Bilingual — Japanese hiragana mode and English letter mode
The hardest part: dictionary balancing
The most technically interesting challenge was balancing the word dictionary.
In English, there are roughly 170,000 words in common dictionaries. Not all of them should be valid attacks. If you allow all of them, players can trivially win with obscure technical terms. If you restrict too heavily, players feel punished for knowing unusual words.
I landed on a tiered approach: common words deal standard damage, uncommon words deal bonus damage, and very rare words deal a multiplied damage bonus. This rewards vocabulary knowledge without making the game feel arbitrary.
The Japanese side required a different approach entirely. Hiragana words are validated against a custom word list built from a combination of a standard Japanese dictionary and manual curation. Japanese has more productive compound-word formation than English, so I had to make explicit choices about which compounds to allow.
Numbers after launch
The game is free on Google Play:
👉 https://play.google.com/store/apps/details?id=com.sakusan.mojitori_wars
Still early days. If you're into word games or indie RPGs, I'd genuinely appreciate feedback on the mechanic — does the word-attack concept make sense from the store listing? It's the hardest thing to communicate without just playing it.
What I'd do differently
Start with English. I built the Japanese version first because it's my native language, then added English. The English implementation taught me things about the design that I wish I'd known earlier — specifically, that the optimal word length distribution is different between the two languages, and this affects difficulty tuning significantly.
Build the dictionary tool earlier. I spent more time than I should have managing word lists manually. A proper tool for importing, filtering, and testing word lists would have saved weeks.
Co-op came late. The co-op system was added in a later update. In retrospect, it should have been a core feature from the start — it changes the word selection dynamic in interesting ways that I didn't anticipate.
Tech stack
Android (Java/Kotlin), custom game engine for the battle system, Firebase for multiplayer sync. Nothing exotic — I prioritized keeping the stack simple over 2+ years of development.
Happy to answer questions about the word validation system, the elemental type design, or anything else. This community has been useful to me when I was stuck on technical problems, so I wanted to give something back.
Kotobato is free on Google Play. Japanese and English supported.
Top comments (0)