Why it exists
My first dog, Lily, is a Wirehaired Pointing Griffon. Put her in a field and she quarters into the wind, slows when she catches scent, and freezes on point until I walk in. When I tried to explain upland hunting to friends, the only game anyone could reference was Duck Hunt, where the dog is a punchline. In real bird hunting the dog does the work that matters, and I wanted a game that got that right.
It's the most complete thing I've built on my own: a deployed product with a tested core, offline support, touch controls, and a release process, built over about 490 commits between July and October 2026.
What I built
A hunt runs from planning (ground, drop point, dog, gun, time of day) to turning the dog loose, finding the point, taking the shot, and the retrieve. Fourteen bird species are defined as data — holders, runners, and wild-flushers — and eleven breeds have distinct stat spreads. A career mode raises a puppy into a finished dog across a September-to-January season.
The dog is a state machine: quartering, tracking, pointing, honoring, retrieving, and more, with scent work escalating from checking to locking. Scent from a bird upwind is about five times stronger than from one downwind, so experienced dogs work the downwind edge of cover, and a careless young dog lets the birds wind her and flush.
It ships like a real product
A merge to main builds and deploys to Cloudflare Workers, stamps its commit into the build, and surfaces player-facing release notes in the game. Phones are first-class: touch controls are chosen automatically, and quality tiers change only what's drawn, never where a tree or cover edge sits, so a hunt plays the same on every device. Saves live in local storage with migrations from every earlier format.
Every sound is synthesized with the Web Audio API — shotgun reports, the dog's bell, the whistle, each species' call — and the menu theme is a fingerpicked guitar built with Karplus–Strong synthesis.