← All stories
2015

Tuning match-3 difficulty with one number: win rate

When our match-3 games started collecting analytics, I asked a simple question: how do we know a level has the right difficulty? It later became my favourite interview task for game designers, because it unfolds step by step.

A MadSword match-3 game with a move counter

Halloween, one of our match-3 games: the number of moves left is in the top-left corner.

1. What should the difficulty curve look like? A saw. Difficulty climbs over a few levels, then drops: players get a breather and a new mechanic, and the climb starts again — cycles of five to ten levels.

2. What do we measure difficulty in? We settled on win rate: of all attempts at a level, how many end in a win.

3. How do we know it’s right? We sent every result from production — level, win or loss — into our analytics and compared each level’s actual win rate with the curve we wanted. Then we either swapped levels around or tuned them.

4. What do we tune? The simplest knob is the number of moves. And here is the nice part: for every win we already know on which move the player finished. So from one level’s data we can tell what the win rate would be with any move limit — without shipping a single change.

Say a level gives 30 moves. With 30 moves, 95% of attempts win. With 29, it would be 90%. With 25, only 10%. If the curve says this level should be a 10% spike — set 25 moves, done.

One system that is game design and analytics at the same time: the designer draws the curve, production data picks the numbers.