Skip to content
All work
Ball Sort Game

About project

Ball Sort Game2026Concept

Every control a casual puzzle needs, and the board still wins the screen.

Ball Sort is a casual mobile puzzle for players aged 35 to 50. Working solo, I designed the game and win screens, drew every flask and ball from scratch, and made yarn and wooden ball materials for Unity. The result is a prototype you can play here, with all 66 colour pairs checked at the real 34 px size.

  • Game UI
  • Mobile
  • Game Art
Role
UI/UX designer & game artist, solo
Client
Ball Sort · casual puzzle for mobile
Platform
Game · Mobile
Tools
Figma, Unity
Live buildOpen full screen
Playable here: tap a flask to lift its ball, another to drop it. Difficulty and material switch below.

Challenges

The main screen carries twelve elements, from the level number, store and rating to the extra flask for an ad and a banner that always owns the bottom. At equal weight that is a control panel, not a game. The real problem was hierarchy: the board has to win the screen, and everything else waits its turn.

  • 12 elements on one screen, and none can go: each is gameplay, progress or revenue
  • Up to 12 colours on balls about 34 px across
  • Free space above the flasks for the lifted ball, and an ad banner always at the bottom
  • A calm, grown-up palette rather than neon, for an audience of 35 to 50
The player
is 35 to 50, about half of them women: targets have to be generous, contrast high, and twelve ball colours apart at a glance.
The business
sits in four of the twelve: the store, rating, daily mode and the flask for an ad. None can hide, and none may drown the board.
The genre lives in blue and purple, and each released game lacked depth or looked too young.
The board gets the most height and free air above the flasks, because the top ball lifts.

Solutions

  1. 01

    Three bands, placed by habit rather than novelty

    I split the screen by function into three bands: the stats, the board, and the controls with the banner under them. Placement follows the genre on purpose, balance top right and pause top left, because people already know where to look. Every button is large, and the ones that drive the level are a size up.

    Trade-offPlacing by convention gives up the chance to surprise. For this audience recognition is worth more: nobody should hunt for pause in a casual puzzle.

  2. 02

    Two icon families tell level from metagame

    The icons look inconsistent, and that is the point. They split into two groups by meaning: control of the current level (pause, restart, undo, the extra flask) and the metagame (balance, rating, dailies). The player tells, without learning it, what changes this level and what changes overall progress.

    Trade-offOne icon style would look tidier on a style sheet. Two cost that uniformity, and in return the style itself carries a message the player reads for free.

  3. 03

    Readability measured at game size, not at showcase size

    The yarn and wood textures looked right at 216 px and turned into a blob at the real 34 px. I tuned the renders and the colour blend, then checked all 66 colour pairs at game size: the closest sat at 5.3, and now the minimum is 13.98 for yarn and 14.53 for wood, with no hex code changed.

    Trade-offContrast came from lightness rather than new colours, so the palette stays one system. The price: one pair for yarn and two for wood still sit just under the comfortable threshold of 15.

  4. 04

    A win screen that only leads forward

    The key decision is colour: the game lives on purple, so the win takes a blue accent, because players see this screen after every level and it has to feel different at once. Only what matters stays: the coins earned, the rating and the way on.

    Trade-offNo menu and no restart means one more tap for a player who wants to leave. That is the intent: the screen keeps the player in the loop instead of showing the exit.

Blue instead of the game's purple, so a win feels different at once, and only one way on.
Every state is a component, so the build redraws nothing. Only the stopper came from ChatGPT, then hand-adapted.
Yarn and wood for Unity: generated, cleaned up, then tuned until they still read at 34 px.

Results

The screens, every flask state and both materials come together in a playable prototype, so the game is judged in play. The material pipeline was built with Claude on my approach: the colouring method, the 34 px check and the choice of skins were mine.

66colour pairs checked at the real 34 px size; the closest pair's colour distance rose from 5.3 to 13.98
1 paletteshared by plain, yarn and wooden balls: readability came from tuning the renders, so not one hex code changed
The purple theme: a faint generated texture under the fill adds depth without getting in the way.
The green theme did not become the main one, so it stays ready to sell in the store.
The blue theme, kept the same way: one more store item that needs no new art.

Reflection

  • A texture that works at showcase size proves nothing. The 34 px check found a problem the 216 px sheet hid completely.
  • Genre convention is a feature for this audience, not a lack of ideas. The personality went into the materials and the win screen instead.
  • Packing assets for Unity is not my daily routine. Pairing with Claude got it done; next time I would agree the export format with the engineers first.

Next