<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: 桜井陽一</title>
    <description>The latest articles on DEV Community by 桜井陽一 (@_cb83b33e22d60e8e6b4c).</description>
    <link>https://dev.to/_cb83b33e22d60e8e6b4c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3971249%2F0c593c6e-4511-4b10-96b3-934b2243840e.png</url>
      <title>DEV Community: 桜井陽一</title>
      <link>https://dev.to/_cb83b33e22d60e8e6b4c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_cb83b33e22d60e8e6b4c"/>
    <language>en</language>
    <item>
      <title>I built a word puzzle RPG where you swipe letters to attack enemies — 2+ years solo, now live on Android</title>
      <dc:creator>桜井陽一</dc:creator>
      <pubDate>Sat, 06 Jun 2026 18:13:49 +0000</pubDate>
      <link>https://dev.to/_cb83b33e22d60e8e6b4c/i-built-a-word-puzzle-rpg-where-you-swipe-letters-to-attack-enemies-2-years-solo-now-live-on-1b3h</link>
      <guid>https://dev.to/_cb83b33e22d60e8e6b4c/i-built-a-word-puzzle-rpg-where-you-swipe-letters-to-attack-enemies-2-years-solo-now-live-on-1b3h</guid>
      <description>&lt;p&gt;I just launched &lt;strong&gt;Kotobato&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;I want to share what I built, why I built it this way, and what surprised me most during development.&lt;/p&gt;




&lt;h2&gt;
  
  
  The core mechanic
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;The twist: &lt;strong&gt;word length isn't the only thing that matters&lt;/strong&gt;. 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 &lt;em&gt;right&lt;/em&gt; word beats a &lt;em&gt;long&lt;/em&gt; word if you're hitting a weakness.&lt;/p&gt;

&lt;p&gt;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?&lt;/p&gt;




&lt;h2&gt;
  
  
  Why hiragana and English both work
&lt;/h2&gt;

&lt;p&gt;The game runs in both Japanese (hiragana) and English. This wasn't a late addition — it was part of the original design.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 &lt;em&gt;quixotic&lt;/em&gt;, &lt;em&gt;ephemeral&lt;/em&gt;).&lt;/p&gt;




&lt;h2&gt;
  
  
  What I actually built
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;100-floor tower&lt;/strong&gt; with escalating bosses, including historical Japanese figures like Oda Nobunaga and Toyotomi Hideyoshi&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gacha character system&lt;/strong&gt; — collectible characters with different stat profiles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Co-op multiplayer&lt;/strong&gt; — two players can combine word attacks on the same enemy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6 elemental types&lt;/strong&gt; with a full weakness/resistance matrix&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bilingual&lt;/strong&gt; — Japanese hiragana mode and English letter mode&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The hardest part: dictionary balancing
&lt;/h2&gt;

&lt;p&gt;The most technically interesting challenge was balancing the word dictionary.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  Numbers after launch
&lt;/h2&gt;

&lt;p&gt;The game is free on Google Play:&lt;br&gt;
👉 &lt;a href="https://play.google.com/store/apps/details?id=com.sakusan.mojitori_wars" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.sakusan.mojitori_wars&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I'd do differently
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Start with English.&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build the dictionary tool earlier.&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Co-op came late.&lt;/strong&gt; 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.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tech stack
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;p&gt;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.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Kotobato is free on Google Play. Japanese and English supported.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>indiegame</category>
      <category>gamedev</category>
      <category>android</category>
      <category>wordgame</category>
    </item>
    <item>
      <title>I built a word puzzle RPG where you swipe letters to attack enemies — 2+ years solo, now live on Android</title>
      <dc:creator>桜井陽一</dc:creator>
      <pubDate>Sat, 06 Jun 2026 17:19:33 +0000</pubDate>
      <link>https://dev.to/_cb83b33e22d60e8e6b4c/i-built-a-word-puzzle-rpg-where-you-swipe-letters-to-attack-enemies-2-years-solo-now-live-on-5d5j</link>
      <guid>https://dev.to/_cb83b33e22d60e8e6b4c/i-built-a-word-puzzle-rpg-where-you-swipe-letters-to-attack-enemies-2-years-solo-now-live-on-5d5j</guid>
      <description>&lt;p&gt;I just launched &lt;strong&gt;Kotobato&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;I want to share what I built, why I built it this way, and what surprised me most during development.&lt;/p&gt;




&lt;h2&gt;
  
  
  The core mechanic
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;The twist: &lt;strong&gt;word length isn't the only thing that matters&lt;/strong&gt;. 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 &lt;em&gt;right&lt;/em&gt; word beats a &lt;em&gt;long&lt;/em&gt; word if you're hitting a weakness.&lt;/p&gt;

&lt;p&gt;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?&lt;/p&gt;




&lt;h2&gt;
  
  
  Why hiragana and English both work
&lt;/h2&gt;

&lt;p&gt;The game runs in both Japanese (hiragana) and English. This wasn't a late addition — it was part of the original design.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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 &lt;em&gt;quixotic&lt;/em&gt;, &lt;em&gt;ephemeral&lt;/em&gt;).&lt;/p&gt;




&lt;h2&gt;
  
  
  What I actually built
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;100-floor tower&lt;/strong&gt; with escalating bosses, including historical Japanese figures like Oda Nobunaga and Toyotomi Hideyoshi&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gacha character system&lt;/strong&gt; — collectible characters with different stat profiles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Co-op multiplayer&lt;/strong&gt; — two players can combine word attacks on the same enemy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;6 elemental types&lt;/strong&gt; with a full weakness/resistance matrix&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bilingual&lt;/strong&gt; — Japanese hiragana mode and English letter mode&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The hardest part: dictionary balancing
&lt;/h2&gt;

&lt;p&gt;The most technically interesting challenge was balancing the word dictionary.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  Numbers after launch
&lt;/h2&gt;

&lt;p&gt;The game is free on Google Play:&lt;br&gt;
👉 &lt;a href="https://play.google.com/store/apps/details?id=com.sakusan.mojitori_wars" rel="noopener noreferrer"&gt;https://play.google.com/store/apps/details?id=com.sakusan.mojitori_wars&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I'd do differently
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Start with English.&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Build the dictionary tool earlier.&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Co-op came late.&lt;/strong&gt; 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.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tech stack
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;p&gt;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.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Kotobato is free on Google Play. Japanese and English supported.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>indiegame</category>
      <category>gamedev</category>
      <category>android</category>
      <category>wordgame</category>
    </item>
  </channel>
</rss>
