Inspiration

When I was a kid I loved memory games, and then mahjong. Turning the tiles over, hunting for the pair. I have such good memories of that. So I wanted to make one with sounds instead of pictures.

What it does

Echojong is mahjong solitaire, played by ear. Every tile is a sound: a temple bell, a black cab, a jazz trumpet, a music box. The tiles are stacked in layers as in classic mahjong, and only the free ones are in play. Tap a free tile to hear it. Tap it again, or drag it, to take it up to the pane. When two of the same sound meet in the pane, the pair clears. Clear the board to win.

The catch is that listening is rationed. You get one listen per tile and every listen costs a move, so the real game is memory: hear a tile once and remember where it lives. Guess wrong and the tile stays in the pane as a stray. The pane holds five. Fill it and the board is lost.

  • Seven worlds of sound: England, India, China, America, Japan, Kids and Random, thirty-six sounds in each
  • A fresh draw of sounds every time the app opens, so no two sessions play the same board
  • Four sizes, from 8 tiles to 36 tiles three layers deep, and every deal can be cleared
  • A guided tour for players who are new to mahjong
  • Hint, Shuffle and Undo, each at a cost in moves
  • Hardcore: three pane slots, half the listens, no undo
  • Echoes, earned on every clear and spent on tile designs or new worlds
  • A global leaderboard with no account and no sign-in
  • No ads. It plays offline, apart from the leaderboard

How it makes money

England is free at every difficulty. It is the full game, not a demo. The other six worlds can be earned with Echoes, the currency paid for every clear, or unlocked together with one purchase of US$4.99. The purchase is permanent: no subscription, no ads, no consumables.

A game you play with headphones on cannot have video ads, and a subscription would be out of proportion for a puzzle. A single unlock is what players of premium puzzle games expect, and the Echoes route means nobody is locked out.

How RevenueCat is used

  • The RevenueCat SDK handles the purchase and the price shown on the unlock sheet, in the player's own currency
  • One entitlement decides whether the paid worlds are open. The app asks RevenueCat, not its own storage
  • Restore purchases brings the unlock back on a new phone signed in to the same account

How I built it

An Android app built with React, TypeScript and Capacitor. The rules engine came first and was written test first: which tiles are free, how a pair clears, when the pane is lost. Boards are dealt by playing the game backwards, so every deal can be cleared. A small server keeps the leaderboard.

Challenges

  • The first version was a flat memory game. Turning it into real mahjong, with layers and free tiles, meant replacing the whole board and keeping the feel
  • A game with nothing to look at has to explain itself. Free tiles glow, blocked tiles dim and refuse, and the pane shows what you are holding
  • Listening for free made the game too easy. Rationing listens is what turned it into a memory game
  • Fitting a three-layer board on a small phone without scrolling

What I learned

Sound is a stronger memory hook than I expected. Players remember where the temple bell lives long after they have forgotten the rules.

What is next

More worlds of sound.

Built With

Share this project:

Updates

Submission history