Word Chain Game Master

Inspiration

The initial spark for Word Chain Game Master came from the popular Korean game “끝말잇기” (Kkeutmalitgi)—a fast-paced vocabulary game where players chain words together using the final syllable of the previous word.

Because Korean syllables are highly structured, the game flows naturally and competitively. I wanted to bring that same high-stakes, rapid-fire energy to an English-speaking audience.

The problem with most digital word games is that they are either:

  • Turn-based over several days (too slow)
  • Too permissive, allowing invalid or fake words (too easy)

So I set out to build a real-time, high-pressure lobby where players have 30 seconds to respond, and a strict dictionary API acts as the referee.


What it does

Word Chain Game Master is a real-time multiplayer word game where players must chain valid English words under strict time pressure.

Core features:

  • Real-time multiplayer lobby system with 6-digit room codes
  • 30-second turn timer per player
  • Strict dictionary validation (no fake words allowed)
  • Instant elimination for invalid submissions
  • Competitive scoring based on word quality and length
  • Optional AI opponent mode

How we built it

The system is built around a real-time multiplayer architecture and a strict validation engine.

Frontend & Multiplayer Lobby

Built with React (via Vite), optimized for fast state transitions.
The lobby system allows a host to generate a unique 6-digit room code, which can be shared via a deep link.

Dictionary Validation Engine

Every submitted word—by a human or AI—is validated using: https://api.dictionaryapi.dev

If the API returns a 404, the word is rejected and the player is eliminated instantly.

Dynamic Scoring System

To discourage trivial short words, a weighted scoring system is used:

[ S_{\text{total}} = \sum_{i=1}^{n} (P_{\text{base}} \times L_i) + B_{\text{win}} ]

Where:

  • ( S_{\text{total}} ): total score
  • ( n ): number of valid words
  • ( P_{\text{base}} ): base point value (10)
  • ( L_i ): length of the (i)-th word
  • ( B_{\text{win}} ): victory bonus (100 multiplayer, 50 AI)

Challenges we ran into

Multiplayer Deep Linking

Invite links like /room/LA1ZP7 initially broke routing logic.
After entering a name, users were dropped into the main lobby instead of the intended room.

Fix: Persisted roomId through onboarding and re-triggered join logic after state hydration.


Asynchronous Timers

A strict 30-second timer conflicted with async dictionary validation calls.

Fix: Separated UI timer state from validation state to prevent race conditions where valid late responses could be unfairly rejected.


Global Leaderboards & Geo Tracking

To display country flags (🇺🇸 🇰🇷 etc.), IP-based geolocation was integrated.

Fix: Lightweight backend middleware resolves IP → ISO country code before injecting into game state.


Accomplishments that we're proud of

  • Built a real-time multiplayer game without user accounts
  • Implemented strict word validation using external API enforcement
  • Designed a scoring system that meaningfully changes player behavior
  • Created frictionless onboarding via shareable links
  • Achieved fast, competitive gameplay loop under 30-second constraints

What we learned

  • Real-time state synchronization is fragile and requires careful separation of UI vs server truth
  • Small mathematical incentives drastically change player strategy
  • API latency must be treated as a first-class constraint in game design
  • Routing state persistence is critical in deep-link multiplayer flows
  • Simplicity (no login, just join links) improves adoption dramatically

What's next for Word Chain Game Master

  • Ranked competitive mode
  • Tournament brackets
  • Themed word categories (tech, travel, sports, etc.)
  • Smarter AI opponent using LLM reasoning
  • Anti-cheat detection for spam/rapid input abuse
  • Mobile app version
  • Seasonal global leaderboard resets
Share this project:

Updates