MENGLY / Word Games

Word Cross

Word Cross is a cozy mobile word puzzle game: swipe letters on a circular wheel to spell words and fill a crossword-style board. The hook is the familiar...

8/17/2026Views: 0Launches: 0

{Word Cross} Project Report

1. The Concept

Word Cross is a cozy mobile word puzzle game: swipe letters on a circular wheel to spell words and fill a crossword-style board. The hook is the familiar Wordscapes-style loop (connect → discover → fill the grid) wrapped in a warm garden-adventure theme — 13 themed worlds (SPARK through ZENITH), coin rewards, bonus words, and star ratings per level.

The game targets quick, satisfying sessions: easy to pick up on Level 1 (with a welcome intro and swipe hint), but with 156 levels that ramp from 3-letter puzzles to 6–7 letter boards for longer play. Design followed Sakurai-style rules already in the repo: clear problem-solving loop, data-driven parameters, risk/reward (spend coins on hints vs. earn them from bonus words), and a portrait phone-first UI that feels like a game, not a website.

Difficulty is now progressive by level number — puzzles are sorted by actual complexity (letter count, word count, grid size, cross density) so World 1 is genuinely the easiest stretch and World 13 the hardest, with hint costs rising as you advance.

2. The Stack

Architecture choices: parameters (PARAMS) separated from logic; levels defined as compact strings (LETTERS|grid,words|bonus,words); crossword layouts generated at runtime by a word-packing algorithm; level order computed at boot via buildProgression() rather than hand-sequenced.

Documentation: README.md covers features, quick start, economy, level format, audio, testing, and design doc references.

3. The 1 Day Sprint (+ polish pass)

Morning (Hours 1–3):

Afternoon (Hours 4–6):

The Finish Line (Hour 7-8):

Polish (Aug 17 — morning): Extended same-day pass after the core sprint — mostly visual and feel fixes driven by playtesting screenshots:

Polish (Aug 17 — afternoon): Playtesting feedback drove two structural fixes:

4. The Roadblocks

  1. Crossword packing edge cases — Some word sets (especially short overlapping letters like TOP/POT/OPT) produced sparse or disconnected grids. Fixed with tooSparse() rejection, demoting overflow words to bonus, and auto-completing words when all their cells are revealed.
  1. Animation jank — Coin fly felt stuttery because each landing re-triggered a CSS shake and sparks spawned separate requestAnimationFrame loops. Replaced with a single fly loop, smoother easing, and a one-shot HUD bump.
  1. Layout collisions on small portrait screens — Fixed-position coin pill collided with centered level badge. Needed explicit grid columns and a spacer instead of absolute positioning alone.
  1. CSS-only icons — Mute and shuffle buttons used clip-path/conic-gradient hacks that rendered off-center and ugly. SVG icons solved it cleanly without image assets.
  1. Audio on mobile — Browser autoplay policies and async MP3 loading meant level-complete sound sometimes never fired. Layered HTML Audio + synthesized fallback and unlock-on-first-tap.
  1. Scope vs. time — 156 hand-curated level strings + a custom packer in one day meant bugs surfaced only during play (e.g. Level 7), not at author time. The selfTest() runner became essential.
  1. HUD alignment across screens — Tweaking top offsets per element (mute button, coin pill, pause button) couldn’t produce a reliable shared baseline because elements lived in different DOM contexts with different heights. A single flex/grid header was the only durable fix.
  1. Flat difficulty curve — Levels were authored by theme/world, not by puzzle weight. Early worlds had occasional hard puzzles and late worlds had easy ones. Sorting by computed weight at boot fixed progression without rewriting all 156 level strings.

5. Key Takeaways

My final thought:

Word Cross started as “make a smooth Wordscapes-like game in one day with no framework” and ended as a surprisingly complete pocket adventure — 156 levels sorted by real difficulty, a save system, music, intro, progressive hint costs, and a garden world that feels intentional. The hardest part wasn’t spelling words; it was making every swipe, coin, and button feel good on a small screen, and making sure level 130 actually feels harder than level 3. That polish loop — build, play, screenshot, fix — is what turned a logic demo into a game worth opening again.