Inspiration

Iaido — the Japanese art of drawing the sword in a single, decisive motion — is about zanshin: total awareness that lingers after the cut. We wanted a mobile game that bottles that feeling into 30-second sessions. No tutorials, no menus in your way. Leaves fall; you draw one line; the quality of that single stroke is everything.

What it does

Zanshin Spirit: Leaf Blade is a one-swipe slashing action game wrapped in modern Japanese aesthetics — lacquer black, gold leaf, and crimson.

  • Leaves fall from above; slash them inside the striking window at the bottom of the screen.
  • Timing is graded like a sword master would: Issen (perfect) / Good / Take / Shallow.
  • Chained cuts raise a combo multiplier through kanji tiers, up to x10. The combo only breaks when you miss — three misses and the run ends.
  • Slice several leaves in one stroke for a multi-cut bonus; hold to charge a screen-clearing Issen flash.
  • Three modes: Zanshin (survival), Ichigeki (60-second score attack), Shingan (silhouette challenge).
  • Global rankings (daily / weekly / all-time), rare golden leaves worth 5x, and 9 languages.

How we built it

  • Unity 6 (C#), with all judgment/scoring logic in engine-independent POCOs covered by EditMode tests.
  • Every UI screen is generated from code — no hand-placed prefabs — so the whole game rebuilds deterministically.
  • Art is a deterministic SVG-to-PNG pipeline; leaves, icon, and store art are all scripts we can re-run any time.
  • RevenueCat powers monetization: three non-consumable "Remove Ads" support tiers ($0.99 / $4.99 / $9.99 — same effect, the difference is pure appreciation) mapped to a single noads entitlement, with automatic cross-device restore.
  • Firebase (anonymous auth + Firestore) drives the global rankings with server-side validation; AdMob interstitials with ATT on iOS.

Challenges we ran into

  • Making one swipe feel like a sword: we tuned a precision window in world units converted from prototype pixels, and rebuilt the leaf art three times until cutting felt right.
  • CJK typography: kanji tier calls require font subsetting per language — every new string means regenerating subset fonts for four scripts.
  • Kotlin dependency collisions between ad/analytics SDKs on Android, and headless screenshot automation for store assets.

Accomplishments that we're proud of

A game you can understand in 3 seconds and play for 3 minutes that still has depth — and a fully automated art/build/store-asset pipeline built by one person with an AI pair.

What we learned

Restraint is a feature. Every mechanic we removed made the sword feel sharper.

What's next for Zanshin Spirit: Leaf Blade

Seasonal leaf sets, platform achievements, and RevenueCat Paywalls to experiment with supporter pricing — shipping in public all the way. #BuildInPublic

Built With

Share this project:

Updates

Submission history