← Portfolio
Tidal Market: a cat fisher, a bulldog customer and a plate of sushi
Mobile Game · Closed Testing on Google PlayGodot 4 · GDScript · Android · Claude Code

Tidal MarketFish it. Cook it. Serve it.

PlatformAndroid (Google Play closed test)Scope38 fish · 11 minigames · 6 dish styles · 4 watersRoleSolo designer & product owner, building with Claude Code

The Idea

A cozy game where a cat fishes for a seaside market. Three phases, three different kinds of play: a reflex phase (fishing), a calm tactile phase (cooking) and a juggling phase (serving and cleaning up).

The design rule that shaped everything: a second screen must never be the same minigame again. Fishing is hold, aim and timing; cooking uses swipes, taps on a beat, holds and circles; serving is drag and drop with patience to juggle. Every art asset is drawn in code (including a custom first-person paws sprite) and every sound is synthesised, so there are no licences to track.

Status

In closed testing

Live on Google Play’s internal and closed test tracks. Production launch follows the required tester period.

Automated checks

95+

Run on the real game logic, headless, before every build.

In The Game

Screens

First-person fishing view with customer order pools and a pool map
First-person fishing: customers’ fish show as pools
Kitchen recipe picker with six dish styles
Kitchen: six dish styles
Sashimi slicing minigame
Slice: one smooth swipe
Sashimi plating minigame
Plate: a fan or box layout
Market with customers, orders and a tray of ready dishes
Market: serve, then clean up
Rhythm fishing minigame
One of eleven fishing minigames

What I Built

Three Phases, Three Kinds of Play

01

Fish: eleven minigames, one per kind of catch

Casting is first person: touch the water, slide to aim, let go. Pools of fish drift on the water, and a perfect cast lands in the centre. Every species has its own minigame (timing ring, dart dodge, rhythm, tug of war, stealth, echo song, crank, net chase, swipe burst, bubble order, and a tension-bar fight) with difficulty set by rarity and an easy-timing option.

02

Cook: gestures that are nothing like fishing

Customers order dishes, so each fish can become nigiri, sashimi, grilled fish, soup, tempura or hotpot. Each style is a short chain of calm steps built from different gestures: a swipe to slice, pats on a beat, a flick to flip, a hold-and-release squeeze, a circular stir, and a jigsaw-style plate. Nothing can fail; better work earns up to three stars, and stars scale the payout.

03

Serve: a market with an economy

Dishes sit in a tray marked “ordered” or “spare”. Drag a dish to the customer who asked for it, rub the used plate clean, and sell spares. Reputation unlocks new waters, recipes and a bigger stall; regulars build friendship hearts; a helper boat and a sous chef automate the grind; a season reset adds a long-term loop.

How It Was Made

An AI-Assisted Studio Workflow

Designed by playtesting on a real phone

Every change shipped to a physical Android device first. Feedback from play (a lag spike in one minigame, an overlapping label, a confusing tab) turned into the next build, often the same day. The game is now on version 60 of its Google Play releases.

A debug menu and an on-device frame log

A debug-only menu jumps straight into any minigame or cooking step, and the app logs frame times to a file I could read over USB. That turned “it feels laggy” into measurements: a steady 60 fps, with rare ~130 ms hitches traced to first-use text sizes, which a startup pre-warm now removes.

Six specialist review agents

Before launch I ran six independent AI reviewers in parallel: game flow and first-time experience, economy and itemization, visual and UI, an adversarial bug hunt, minigame feel and performance, and store and policy compliance. Their reports became a ranked fix list. The bug hunt alone found a soft-lock, several wrong-money bugs and a performance trap.

An economy simulator

A Python model of gold per minute, built from the game’s own data, showed that cooking halved income for the first stretch after the kitchen opened and that the late game ran out of things to buy. The fixes (a gentler ramp into dish orders, new recipes to buy, extra stall tiers, new goals) came straight from the numbers.

Automated checks and a release pipeline

A headless test suite (95 checks in the main suite, plus input and first-time-user suites) runs the real game logic: cooking flows, dish counting, serving, save and load, and the economy. A scripted pipeline builds signed Android bundles, and I published releases to Google Play’s internal and closed test tracks myself.

Where It Started

From Browser Prototype to Mobile Game

Tidal Market began as a single-file browser game built with Claude AI: cast a line, sell the catch, grow a seaside market. It proved the loop was fun, so I rebuilt it from scratch in Godot as a real Android game, with first-person fishing, a kitchen, outfits and a far deeper economy.

Play the original web prototype ↗

Notes

What I Would Say Plainly

  • I direct the design, taste and testing; Claude Code writes most of the code. The decisions about what to build, what to cut and what feels right are mine.
  • The game is not publicly released yet. It is in Google Play’s closed testing, which needs a group of testers for two weeks before production.
  • All store art is generated in code or AI-assisted, and is labelled that way on the store listing.
  • Monetisation is deliberately gentle: optional rewarded ads and one small one-time pack. No energy timers, and nothing is sold as a random chance.