Inspiration

This game is a love letter to Nectaris (Hudson Soft, 1989), the hex-grid war game I played as a kid. What stayed with me was how it made every battle about position: a unit fought better with friends beside it, a surrounded unit was helpless, and capturing a building could turn the whole map. There were no dice to blame.

I wanted to bring that feeling to iPhone, but move it from the moon to a medieval kingdom and give every map a story. Regalia of the Azure Flame keeps the heart of Nectaris — support, encirclement, and fortified positions that change hands — and builds a twenty-operation campaign around it.

What it does

Regalia of the Azure Flame is a turn-based tactical strategy game played on a hex grid, built for iPhone.

You command a small force through a war that begins when the Corridor gate falls. Across twenty operations in three acts, you take forts, hold river crossings, defend archives and passes, and decide which of your units you can afford to lose.

Battles are decided by position, not dice.

  • Support — a unit backed by allies strikes harder.
  • Encirclement — a unit surrounded on every side breaks.
  • Range — archers and catapults reach past the front line, but cannot answer a counterattack.
  • Forts — hold one and your garrison recovers; take an enemy fort and its defenders change sides.
  • Enemy intel — you can see what the enemy will do next turn, so every loss is one you could have seen coming.

Each operation is a place with a problem: a chain of beacons pointing travelers toward a lie, an archive the enemy wants burned, a lord on your own side withholding his villages' grain. The enemy is not evil. By Act II you understand why they rose; by Act III you learn what the kingdom did to deserve it, and what the blue flame people call a "signal" really is.

Content

  • 16 main operations across three acts, plus 4 secret operations
  • 20 hand-built maps with their own terrain, garrisons and victory conditions
  • Knights, pikemen, longbows, crossbows, catapults, scouts, monks, sappers and more, each with a distinct role
  • Full story scenes in English and Japanese
  • Cloud save: sign in to carry your campaign between devices (optional)

Monetization

We wanted monetization that a tactics player would respect: pay once, own it forever, and never buy power.

  • Free — Act I (Operations 1–5), the full tutorial and opening story. Enough to know whether you like the game.
  • Full Campaign Unlock ($9.99, non-consumable) — Acts II and III, Operations 6–16.
  • Supporter Edition ($4.99, non-consumable, requires Full Campaign) — the four secret operations, the soundtrack player, and setting and development notes.
  • Kindle the Flame ($1.99, consumable) — a pure tip, offered only on the completion screen after the final battle. It grants nothing.

No subscription, no energy timer, no ads, nothing that makes your army stronger. The paywall appears at a story break, after Act I's climax, never in the middle of a battle.

How we built it

  • Front end — TypeScript, React 18 and Vite, wrapped as a native iOS app with Capacitor 8.
  • Accounts and cloud save — Firebase Authentication and Cloud Firestore.
  • Purchases — RevenueCat (@revenuecat/purchases-capacitor).
    • Two entitlements (regalia_pass, regalia_supporter) and one default offering with three packages.
    • The Firebase UID is used as the RevenueCat App User ID, so purchases follow the player's account across devices and survive reinstalls.
    • Access is decided only by active entitlements from RevenueCat; there is no local unlock path.
    • Product loading and customer info are fetched independently, so a store hiccup never blocks Restore Purchases.
    • Sandbox tested on a physical iPhone, with App Store Server Notifications V2 connected through RevenueCat.

Challenges we ran into

  • Pacing a paywall inside a story-driven campaign. The unlock is offered only at a natural act break, and the tip only after the credits.
  • Two independent locks. Mission progress and purchases are separate. A player must both clear the previous operation and own the unlock, and both states have to survive reinstalling the app. Firestore progress sync plus RevenueCat entitlements tied to the same account solved it.
  • Balancing twenty maps by hand without inflating unit experience or stats. Difficulty had to come from map layout and enemy behavior, not bigger numbers.
  • A purchase error that only appeared on device. The Capacitor plugin rejects with a string error code, so our "user cancelled" check never matched and a cancelled purchase surfaced as a scary failure message. One line to find, a day to notice.

Accomplishments that we're proud of

  • Twenty hand-built maps. Not one is procedurally generated, and not one reuses another's layout.
  • A paywall a tactics player does not resent. It appears at a story break, never mid-battle, and nothing behind it makes your army stronger.
  • Progress and purchases survive a reinstall on a new device, because Firestore progress and RevenueCat entitlements are keyed to the same account.
  • The whole campaign, both languages, in a web stack wrapped with Capacitor, at a size that installs over cellular.

What we learned

  • Two independent locks are harder than they look. Fetching the product catalog and customer info independently, so a store hiccup never blocks Restore Purchases, was the change that made it reliable.
  • App Review is part of the schedule, not something that happens after it. Our first submission came back for information, the second because the in-app purchases had not been attached to the app version. Both were avoidable, and both cost days.
  • Writing the store copy early forced the design to get honest. If the paywall could not be described in one sentence a player would accept, it was in the wrong place.

What's next for Regalia of the Azure Flame

  • A proper epilogue sequence: the closing scene is written, and we want to stage it as the beacon chain lighting one fire at a time, from the northern fort all the way south to the Azure Gate.
  • Android release — the Capacitor build and the RevenueCat project already support it.
  • A hard mode that reuses every map with a different enemy doctrine.
  • Localization beyond English and Japanese.

Built With

Share this project:

Updates

Submission history