Skip to content

Latest commit

 

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EZRA Taja

Practicing Korean by typing | 타이핑으로 한국어 연습하기

Sponsor

EZRA 타자 is a Korean language practice platform built around typing. It started as a roguelite dungeon crawler where you defeat monsters by typing Korean words, and grew into a broader set of tools for practicing the language - vocabulary through gameplay, Hangul stroke order through drawing, and more.

This was born out of a frustration: my Korean teacher showed me Hancom Taja, a classic Korean typing trainer, but I couldn't use it because my system locale wasn't set to Korean. So I built my own version - and then kept going.

The philosophy here isn't to gamify learning. It's the opposite: to "learnify" a game - take something genuinely fun and challenging, and weave language learning into its game design so naturally that vocabulary acquisition becomes a side effect of playing. The goal is a game worth playing on its own merits, where Korean just happens to be the mechanic.


Modes

Dungeon (Roguelite)

A full roguelite dungeon crawler where you defeat monsters by typing Korean words. Explore 15 worlds inspired by Korean places, culture, mythology, and imagination, with an 800+ word vocabulary system, boss encounters, items, and persistent progression.

The first version took roughly a month to build and ships with a full roguelite feature set alongside a serious vocabulary system.

Hangul Dojang (Stroke Practice)

A dedicated mode for learning how to write Hangul from scratch — stroke by stroke, on a drawing canvas. Each jamo (letter) is taught through animated guides showing the correct stroke order, direction, and spatial relationships. Progress is tracked in a personal record book.

  • Draw strokes directly on screen with mouse or touch
  • Animated guides for every stroke of every jamo
  • Stroke inspector with direction animations, opened automatically when you're struggling
  • Cumulative error detection and idle detection auto-open the inspector
  • Personal record book tracking accuracy and attempt history per jamo
  • Covers all consonants and vowels including compound forms

Features

Vocabulary & Gameplay

  • 800+ Korean words across 20+ thematic categories (places, food, animals, body, emotions, verbs, adjectives, culture, hanja...)
  • Unambiguous word representation - every word has their own unique icon or icon combinations
  • Vocabulary progression - words unlock gradually as you improve; kill counts hide mastered words from the enemy pool
  • 15 worlds inspired by Korean places, culture, mythology, and imagination, each with its own biome, enemy pool, and visual theme
  • Boss encounters with multiple special types: archer, ice, musician, warrior, eruptor, king
  • Item system - consumables, permanent upgrades, modifier rooms, treasure rooms
  • Casino room with slot mechanics
  • Teacher NPC - in-run lesson room with a cooldown system; lessons unlock new vocabulary
  • Vocabulary exam system - level up your word knowledge through structured tests

Hangul Dojang

  • Stroke-by-stroke drawing with spatial constraint validation (position, direction, order)
  • Animated stroke guides rendered in-canvas and in the inspector panel
  • Adaptive difficulty - error allowance scales with stroke count per jamo
  • Auto-inspector - opens automatically after 10 cumulative errors or 10s idle in the same challenge
  • Record book - tracks every jamo you've practiced with accuracy history

Platform

  • Character creation - full Avataaars-based character editor with unlockable weapon skins
  • My Dictionary - persistent cross-run vocabulary book tracking every word you've encountered
  • Day/night cycle (420s full cycle: dawn, day, dusk, night) with visual lighting changes
  • Dynamic weather events - fog, rain, snow, blizzard, blossoms, autumn leaves
  • Text-to-speech - Korean pronunciation for every word you type
  • Varying fonts - randomized Korean typefaces per monster to train reading across styles
  • Minimap with full dungeon layout, room type indicators, and fog of war
  • Multiple languages - UI in 12 languages: English, Spanish, Portuguese, French, Korean, Japanese, Chinese, Vietnamese, Filipino, Thai, Indonesian, and Hindi
  • Touch support - full on-screen Hangul keyboard with composition for mobile play
  • Responsive layout - works on desktop, tablet, and mobile without needing Korean locale
  • Hanja powerup system - optional Chinese character pickups for advanced learners
  • P2P multiplayer - cooperative play over peer-to-peer connections, no server required

Playing Locally

No build step required - this is plain ES6 modules. You just need a local HTTP server (browsers block module imports from file://).

  1. Serve the directory with a local web server:
    python3 -m http.server 8000
  2. Open http://localhost:8000 in your browser

Game Controls

Desktop

  • Type Korean words using QWERTY keyboard (built-in Hangul typing system)
  • Ctrl - Open inventory and quick-action panel
  • Left/Right Arrows - select item
  • Down Arrow - use selected item
  • M - toggle minimap
  • B - open dictionary
  • 북/남/동/서 (north/south/east/west) - navigate between rooms

Hangul Dojang

  • Mouse / touch - draw strokes on the canvas
  • Inspector button - open stroke guide for the current jamo
  • Book button - open your practice record

Mobile

  • Touch input with on-screen Hangul composition keyboard
  • Tap door buttons to navigate
  • All controls accessible via touch UI

Browser Compatibility

  • Chrome/Edge 90+
  • Firefox 88+
  • Chrome Mobile

Credits

Lucas Nascimento - Design, Architecture & Implementation

Inspired by Hancom Taja and The Binding of Isaac.

🇰🇷🫰 A special thanks for Roh HaYoung and KIT Design Lab for showing me Korean culture and language, I'm eternally grateful to all of you. You have changed my life forever. I hope this project inspires more people to study your language and connect to your beautiful and inspiring culture.


License

The source code is available under the Business Source License 1.1. This is a source-available license, not an open-source license. See LICENSE for full terms.

Non-commercial use only. Any use for commercial purposes is prohibited until the Change Date for the respective version (commit date + 5 years). After that, the code is released under GNU GPL v3.

Brand and assets

The permission to inspect, run, and non-commercially modify the source code does not grant permission to use the EZRA or EZRA 타자 names, logo, wordmark, visual identity, original artwork, music, sound effects, or other original project assets. These are important parts of the project's identity and are all rights reserved unless Lucas Moura do Nascimento gives prior written permission.

Forks and derivative projects permitted by the license must use a distinct name and visual identity, replace the original art/audio assets, retain the required attribution, and make it clear that they are unofficial derivatives. See the Brand and Asset Reservation in LICENSE for the complete policy.

About

⚔️ A roguelite game where players defeat monsters by typing Korean words. 12개 언어를 지원합니다.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Contributors

Languages