The art of Pebble Merge: rough stone to cut gem

From rough stone to cut gem. How eleven tiers were made to feel like progress, and the rendering choices behind each one.

In most merge games, tier five looks like tier one with a different color. We refused that. The climb in Pebble Merge had to feel earned, like the stone is actually being finished, because a merge game lives or dies on whether moving up feels good. That single decision drove the whole art system. Most of it is math we can re run, not taste we argued about. I still argued about the taste. The math won, and I have made peace with losing that particular argument.

Eleven tiers, seven times the size

The ladder runs from Sand at radius 15, and the album above it remembers the highest stone you have ever made, the progression layer we measured up to Sunstone at radius 100. So the biggest stone is about seven times the smallest. Early tiers are nearly the same size. That means color has to do the separating work, because shape will not. We measured that. The minimum perceptual distance between adjacent tiers, using the CIEDE2000 formula that matches human color vision, came out at 15.3 units, and within the bottom five spawnable tiers it was 20.8. The old palette we started with scored 3.2. That is why the first version was unplayable at a glance, and a number told us to stop guessing long after my eyes had already given up and told me everything looked fine, the humbling part being that the instrument was right and I was wrong and the players would have felt the confusion in the first three seconds without ever learning to name the color difference that the math had caught for us.

Polish, not just size

Each tier carries a polish value from rough to finished. It is not linear. We used a curve that lifts early, so a low tier already looks a little tamed instead of fully raw. Raw stones are drawn desaturated and chalky, because a tumbling pebble in a river is not vivid. As polish rises, the true color comes back, the edges smooth out, and a soft diffuse highlight tightens into a bright specular spot. By the upper tiers it reads as a gem, not a rock. The desaturation itself is tuned. It starts at minus 0.30 and gains 0.30 across the ladder. Too much and the low tiers crush into identical greys, which is the 3.2 mistake all over again, and the mistake is cruel because it looks intentional until a player tells you they cannot tell two stones apart.

The faceting trick

The big visual leap happens at the top. Once polish passes 0.5 we draw a set of flat triangular facets, between seven and eleven of them, lit from a fixed direction in the world, upper left. Faces toward the light brighten. Faces away darken. A sharp rim light and a small table glint sell the cut gem read without any 3D model. It is a flat illusion. The eye accepts it in about two seconds. Below 0.5 the same stone is just a smooth oval. The switch is what makes the climb feel like a transformation rather than a recolor, and a recolor is the thing every other merge game settles for and the thing ours had to refuse, because a game where tier nine looks like tier one with a new coat of paint quietly tells the player that their effort means nothing and the loop collapses the moment that message lands.

A translucent bloom you only earn late

There is a soft inner glow that appears only once polish passes 0.30. It is the one effect that says the stone is letting light through, which raw rock never does. We kept it gated. A glowing gravel pebble looks wrong, and wrong breaks the calm faster than plain does. Every effect in the system has a threshold. Most of the thresholds are there to stop the low tiers from lying about what they are, because a pebble that looks finished before it is finished teaches the player to stop trusting the ladder.

The outline is the cheapest realism we have

There is a dark outline around every stone. In the code it is called the single biggest signal that this is a real game. A soft body with no edge reads as a sticker, not an object. The outline gets crisper as the stone polishes, because a finished gem has a hard edge and a rough pebble has a fuzzy one. It is one line of stroke. It does more work than the facets do. I underestimated it for months, and I am slightly embarrassed that the most important line in the whole renderer is also the easiest one to write.

Four looks per tier, drawn once

We pre render each tier in four silhouette variants and blit them at runtime, because recomputing a stone with its speckles, banding, ambient occlusion, and facets every frame would be wasteful. The silhouette is generated from a fixed seed. A given pebble always looks the same. That matters more than it sounds. A stone that wobbles its shape between frames reads as broken. The fixed seed also keeps the sand grain still, because a live random there looks like television static, and the difference between a calm riverbed and a broken television is about three lines of code that nobody will ever read but every player will feel in the first second.

The light does not rotate with the stone

The highlights are drawn in world space. When a pebble spins, its body spins, but the shine stays put, coming from the upper left, because that is where the room light is. A highlight that rotates with the object looks like a sticker again. This is a small thing. Players will never name it. They will just trust the object more, which is the entire point of the art layer. We shipped the first version without it, and the stones felt like they were floating in a void, which is the kind of sentence a player would never write but the kind of feeling that makes them close the tab.

A week I will not get back

There is a speckle layer in the code, dense on raw stone, nearly gone on polished. I fought for it longer than I should have, because I liked what it said about river worn rock. Almost nobody looks at the speckles directly. They read as texture, or they do not read at all. I keep it anyway, because removing it made the low tiers feel airbrushed, and airbrushed is the opposite of a stone. The lesson was not that the speckles were wrong. It was that I had spent a week defending something the player experiences as a feeling, not a feature, and most of art direction turns out to be exactly that.

Why progress beats pretty

A merge game can be beautiful and still fail, if climbing looks the same at every step. By tying the art to a polish curve and a measured color ladder, we made sure every merge moves you forward in a way you can see before you read the tier name. The relaxation and the sense of progress are the same loop. The art just makes the loop honest. If a merge does not visibly change the stone, we have failed, and the player feels that failure before they can say why, which is the worst kind because they blame themselves instead of blaming the game.

See the ladder for yourself.

Every tier is right there on the board, waiting to be polished.

Play Pebble Merge

← Back to the blog