logo

Show HN: Danobang! – Multiplayer CJK (Chinese, Japanese, Korean) Word Game

Posted by maenbalja |4 hours ago |1 comments

maenbalja 4 hours ago

No signup is required! You can jump right into a match with friends or a CPU: https://danobang.com/

You can think of Danobang[0] like a more flexible version of shiritori (a popular word chain game from Japan with similar variants existing in Korea and China). Each turn players are given a random character prompt and must type a word that includes it in ANY position.

Examples:

- Chinese (simplified): If prompt is "爱", then possible answers could be "可爱", "爱好", "恋爱", etc

- Japanese: If prompt is "ゆき" then possible answers could be "ゆきだるま", "こゆき", "はつゆき", etc

- Korean: If prompt is "사" then possible answers could be "사랑", "회사", "이사하다", etc

When joining a match you must choose both the language and "prompt type" you want to play with. Korean has hangul, choseong (initial consonant), and hanja. Japanese has kana and kanji. Chinese has hanzi simplified and hanzi traditional. For CJK prompt types players can submit words with either phonetic input (hangul, kana, pinyin, jyutping) or CJK input via an IME.

There's also an "alphabet bonus" mechanic where if you collect all phonetic characters for the respective language you're playing in (hangul jamos, kana, pinyin initials, jyutping initials) you earn an extra life. I've found this helps makes games feel more dynamic.

Many configurable settings are available in custom rooms to further cater your experience (timer length, prompt difficulty, prompt rotation behaviour, etc). I've also added preset difficulties for popular language proficiency tests (namely JLPT and HSK) which language learner players have seemed to enjoy.

As for the why... I originally built Danobang to practice Korean with my family in a more playful manner (I'm Korean-Canadian with questionable fluency), but I became curious if the mechanics could work with a logographic writing system like Chinese and sought out to try. I spent a lot of time learning Japanese and kanji specifically which helped build my mental model of how CJK characters work in each language. Namely the core concept of phonetic reading text (furigana, pinyin, jyutping, hangul) vs CJK meaning text (kanji, hanzi, hanja) was instrumental for implementing CJK game modes in a modular fashion.

I would say the biggest challenges of this project were (in no particular order) multiplayer infra, figuring out the right CJK abstractions, learning a new language, and design.

Any feedback at all is appreciated! The site is still a work in progress and the dictionaries[1] are far from being "complete" so there'll likely be a few rough edges here and there.

[0] The name "Danobang" has Korean origins with the sound "dano" meaning "word" in Korean (단어). The "bang" part is meant to be onomatopoeia, but also happens to mean "room" in Korean.

[1] Shoutout to krdict, stdict, JMDict, CC-CEDICT, and CC-Canto for helping populate the initial dictionary. You can check out the "about" page for direct links: https://danobang.com/about