Mobile game
A bright, bouncy arcade game for all ages
A one-finger arcade game where a voxel bear rides a log, catches leaping fish and fights the current to stay out of the waterfall. Built in Unity with custom C# gameplay code, live on Google Play.

The idea
Splashy Bear is a quick, cheerful arcade game for players of all ages. The river is always pushing your log toward the waterfall. Every fish you catch scoots you back upstream, and every pufferfish or floating branch you bump slides you closer to the edge. Go over, and splash.
It’s built to be easy to pick up and hard to put down: one finger to play, runs short enough for a quick break, and plenty to collect between them.
What we built
- One-finger controls. Drag left and right to move the bear across the river.
- A river full of surprises. River Salmon swim in tidy lines, Zak’s Fish zig-zags from bank to bank, Golden Fish leap out of the water, and Marly’s Octopus jets from lane to lane. Keep an eye out for the Salmon Run.
- Three difficulty levels and a global leaderboard.
- Collecting and dressing up. Four bears to play as, plus hats, glasses and backpacks from the Prize Machine. A Fish Book records every species and your biggest catches.
- Reasons to come back. Daily missions and a free gift every few hours.
Under the hood
Splashy Bear started as a browser prototype built with Three.js, then moved to Unity 6 for the store release. Unity handles the rendering. The game itself is about 6,000 lines of our own C#:
- Custom hit detection. Catches and hazards are worked out lane by lane with simple distance checks rather than Unity’s physics engine, which keeps them fast, predictable and fair on every phone.
- A spawner that reads like a pattern. Fish come down the river in lane sequences at a steady speed, so they never overtake each other, and hazards replace a fish mid-sequence to make you break the pattern.
- A voxel mesher and a river world built from code. Every model is turned into a single mesh that draws only the faces you can see. The banks, cliffs, waterfall and scenery are generated at startup from a color palette, so a new world is mostly a color swap.
- Models and sound made by script. The voxel characters, fish, hats and props are defined in code and exported by Blender scripts. The sound effects and music are synthesized with Python.
- A leaderboard that’s hard to cheat. Scores go to Supabase only through locked-down database functions that reject implausible results, and saves on the device are signed, so an edited save can’t post a score.
Because Splashy Bear is made for all ages, privacy was designed in from the start:
- No accounts. The game never asks for a name, email address, photos or location, and progress stays on the device.
- An age check on first launch that keeps only an age group, never the birth year.
- Leaderboard names are generated from a fixed list of words, so nobody can type in personal details, and players under 13 never post scores.
- Ads only when the player chooses one, for a second chance or double coins. Players under 13 only see ads marked as directed to children.
- Everything you can buy can also be earned by playing.
Read the full Splashy Bear privacy policy.
Why it matters
A small, polished game exercises the same skills as a serious app: smooth performance on a wide range of phones, a backend that holds up to real players, store publishing, and data handled responsibly from day one.





