Sword & Llama

Making every fish an individual

The most recent stretch had one obsession: making every fish feel like a someone, not a copy. A few systems stack to get there.

The biggest win is technical and invisible — a shader that gives every fish its own hue, shade, and saturation from a single texture. Zero extra art, and no two fish look quite alike. On top of that, fish now have real-world-based sizes, they grow over time, and each one has a hidden maximum size, so two of the same species end up visibly different. Some even earn rare “Apex Size” achievements for hitting their full potential.

Achievements: follower milestones up top, rare per-species Apex goals below.
Achievements: follower milestones up top, rare per-species Apex goals below.

Personality got deeper too — traits and temperaments that actually change how a fish moves and behaves, from lazy driftiness to skittish darting to full-on “zoomies” across the tank. Tap any fish and you get its whole identity card: name, species, length, temper, a trait, what it favors, its age, even its mood.

Every fish has a story now — meet Echo, a curious, photogenic Tetra who favors dense plants.
Every fish has a story now — meet Echo, a curious, photogenic Tetra who favors dense plants.

I kept the word Retire instead of Delete on that card, on purpose. When you’ve named a fish and raised it for 285 in-game days, “delete” feels wrong.

The Phone grew into a real hub: a Messages inbox that logs achievements, discoveries, sponsor interest, and fish offers; a feed manager splitting your streams and your posted photos with their likes and comments; and a Tanks app, because you can now own multiple tanks.

The feed manager — streams and photos, each with their own stats.
The feed manager — streams and photos, each with their own stats.
Multiple tanks to build out and switch between.
Multiple tanks to build out and switch between.
My Fish: the whole collection, grouped by tank and species, each with their names.
My Fish: the whole collection, grouped by tank and species, each with their names.

And the marquee: the game now builds and runs on Android. I configured it for landscape, wrote a whole touch input layer — pinch to zoom, drag to place, on-screen buttons — and fought through the export setup to get it running on a real phone. Seeing the tank on a phone screen for the first time made all of it feel real.

What I’m still figuring out

A blog should be honest, so: a few things are still open. I’ve got three different ways of expressing “how good is this” floating around the game — stars on fish, scores out of 100 on photos, worded ratings on streams — and I need to pick one. I added dynamic temperature and heaters that matter, but I haven’t decided whether that should be a gentle “different fish like different tanks” puzzle or a chore you have to babysit. And my nine-year-old, who playtests for me, immediately went wild decorating with the brightest gravel she could find — which told me something real about who this game is for.