← All work
CASE STUDY · ANDROID PUZZLE GAME

Droppl

Steer the disc to the flag in as few moves as you can, while the board keeps finding new ways to complicate one simple objective.

Soon releasing on Google Play! Free, with no ads and no account · Privacy policy
Droppl home screen A Chess world level in play A Pass & Play round, with each player’s board in their own colour
70
hand-picked puzzles
6
worlds, each with its own idea
46
levels in one Survival run
3
ways to play, including two-player Pass & Play
Every
level proven solvable by a solver
THE IDEA

A disc that only goes forward

The Droppl app icon: a violet disc with a white arrow, on a sky background

Your disc slides the way it faces, so you turn it, send it forward and try to reach the flag. Then the tiles join in: dash pads fling you along, springs jump you over walls, turntables spin you round, teleports send you across the board, and one Forward press can set off a whole chain.

There’s no clock, but each level has a move limit. Matching the best possible route earns three stars, finishing within three moves of it earns two, and within six earns one, so you can always move on and come back later for the third star. Survival mode turns that into one shared bank of moves across a 46-level run, with gold pickups worth a detour if you can afford it and four checkpoints you can start again from.

Pass & Play is for two people sharing one phone. You each race your own disc across your own copy of the board, taking turns, and on your turn you either make a move or place a piece on either board: a spring or dash pad to speed yourself up, or a wall or turntable to slow your rival down. The first to the flag wins the round, over a best of 1, 3, 5 or 7 on six boards.

It’s free with no ads, and the only purchase is an optional tip, which unlocks nothing.

Six worlds

Initiation: a small two-row board with the first tiles
WORLD 1
Initiation

20 levels that teach one idea at a time.

Cramped: a small board packed with special tiles
WORLD 2
Cramped

Small boards packed with surprises.

Chess: a chequered board
WORLD 3
Chess

8 × 8 boards with plenty of room to go wrong.

So Close: a board with a hedge wall near the flag
WORLD 4
So Close

Many routes nearly work, but only one is the best.

Sunset: a wide board against an orange evening sky
WORLD 5
Sunset

Wide boards in the evening glow.

Amazing: a hedge maze with a violet disc and an orange disc
WORLD 6
Amazing

Hedge mazes for two discs that move together.

HOW IT WAS BUILT

AI wrote a lot of the code, based on an original, human-grown idea.

The engine, the solver and the tests all have to match a plain-English rules document exactly, so nothing the AI writes can quietly change how the game plays.

A tested engine

The rules are written in plain Kotlin with no Android code, so every behaviour can be unit-tested on its own.

A solver that checks every level

A search finds each level’s best route, and the build fails if any level can’t be finished within its limit. In Pass & Play it also checks every piece as it’s placed, so nobody can make a board impossible.

A level generator

Simulated annealing searches for boards with exactly one shortest solution. Worlds 3 to 6 came from it, and each level was then picked and named by hand.

A level designer in the browser

I can paint tiles, play-test, watch the solver’s answer and balance Survival runs, all using the real engine.

Sound made in code

Every effect is synthesised by a script, and a chain of moves climbs a musical scale as it goes.

Store art drawn by the app

The icon, feature graphic and all eight screenshots are drawn by the game’s own drawing code.

Part of Droppl’s Kotlin source: the BoardCanvas function that draws the board on its island, with plain-English comments above each part
A slice of the real code that draws the board. Every function starts with a plain-English comment saying what it does.
HUMAN CALLS

Decisions that came from watching people play

Buttons instead of tap zones

Tapping either side of the board to turn was confusing when the disc faced south, so big buttons replaced it, laid out like a Game Boy’s B and A.

Move limits instead of a clock

A puzzle about planning shouldn’t rush you, so the gap between the best route and the move limit sets the difficulty instead.

Free, with nothing to unlock

There are no ads, timers or accounts, and no data is collected. Anyone who wants to say thanks can leave a tip.

Droppl app icon
DESIGN

A tabletop you want to reach into

A tilted grass island with hedges and props, a starry night theme, and an app icon tested against every launcher shape.

Home screen Chess world Two-disc maze Sunset world Survival mode Pass & Play
Kotlin Jetpack Compose Compose Canvas Play Billing Python sound synthesis Built with Claude

If you’ve got an app idea, I’d be glad to help you get it onto a phone.

Send me a message
← All work Next: Meal Planner →