Fields grown from roots: how Carillon builds a level

How Carillon grows each field from roots, dresses it with its chapter's rule, proves the goal with a solver, measures difficulty in bits and turns away repeats.

A Carillon field drawn as four glowing trees, each root a bright dot with faint growth rings, its curved branches in its own colour reaching out to the dots its chain pops first

I don’t place the dots in Carillon. Every field is grown by a program, dressed with its chapter’s rule, proven by a solver and measured, and only then does it get a level number. This is the path a field takes to the Levels screen.

Why not scatter dots?

Dropping dots at random does not work. Nearby normal dots reach each other both ways, so a random field knots itself into one big tangle where nearly every tap clears everything. A good field hides a few starts among tempting dots that something else reaches, and chance almost never makes that, so the generator grows it.

Roots, cores and free growth

Roots come first: one dot for each chain the field will be built around. A root is big or normal, never small, since a small ring is too short to lead anywhere that cannot reach back. Roots keep their distance on the 640 by 900 field, at least 300 units apart, or 250 when there are five and 215 when there are six or more.

Cores come next. The roots take turns growing a core, each new dot placed inside the reach of a dot already in that root’s tree. From level 14 on, no dot may reach a root, and no other root’s chain may find its way into a core, not even through a side door of ordinary dots. To guard that exactly, every dot keeps two small sets as the field grows, the roots whose chains reach it and the cores its ring leads into, and a dot that would join two trees is turned away.

Free growth fills in the rest from whichever tree is smallest, so no chain is starved. A dot that will not fit at the size it drew is tried smaller before it is given up.

Every dot but the roots sits inside some dot’s reach, so every dot belongs to some root’s chain. On a guarded field nothing reaches a root, so before any rule goes on, the roots are exactly the taps that win. The field is built around its answer.

The first five are composed

The first five levels are where a new player decides whether to stay, so they are not grown like the rest. Each is a figure laid out on a beat: an arch, two curves one inside the other, two arcs like the halves of a circle, and on to a butterfly by level 5. The gaps between dots are set so each ring arrives on the pulse, and the colours are chosen to give each chain the best tune its sizes allow. The five are scored together, on melody, rhythm, symmetry and how they fill the screen, and picked as a set.

The first levels used to be too easy, so I asked for a steeper start. Two taps now arrive on level 2, big dots on level 3, small dots on level 5 and three taps on level 14.

Fair to read

Dots never come closer than 14 units, edge to edge. Every ring either reaches a dot’s edge with at least 10 units to spare or misses it by at least 10, so you can always tell by eye whether a circle touches a dot. And every tap of the solution has to pop at least two dots and a real part of the field, so the last tap of a long level still has work to do.

Dressing a field with a rule

From chapter 5, each chapter brings a rule, from heavy bells and echo stones to horns, duets and drifters. A grown field is dressed with its chapter’s marks four different ways, and the dressing that grades nearest the difficulty that part of the chapter aims for is kept. Then two checks stop a rule from being decoration.

  • Every mark has to matter: each mark is taken off in turn, and if the field plays the same without it, it goes back to being a plain dot.
  • The level has to need its rule: with the rule taken off, the field must need a different number of taps, or some first tap that would win three stars there must lose one here.

Some rules are built in as the field grows. A heavy bell is a start in disguise: a root becomes a bell, and another tree gets a dot whose ring touches it. That one ring would pop a plain root, but it only cracks a bell, so the bell still needs a tap of its own or a second chain.

Later fields also start thin. From chapter 5, a root’s own ring may touch only one or two dots, and the rest of its chain arrives through relays. From chapter 11 a home note rides along with each chapter’s own rule, and from chapter 16 round bells join it, because rules that fix an order make a field far harder to stumble through than rules that only change a reach.

Proven by a solver

None of this is taken on trust. A separate solver searches each field tap by tap, through every state the rules can leave behind, and its fewest taps becomes the level’s goal. Every level is then checked again whenever the game changes: it must need exactly its goal, its solution must clear the field through the game’s own rules, every dot must be readable and every rule must be needed.

Difficulty, measured in bits

Two levels with the same goal can be a glance or a real puzzle, so Carillon measures difficulty as the luck needed by a player who never reads the field. That player holds dots and taps one at random, leaning towards dots whose previews light up a lot, the way people do. They clear the level in the goal only if every tap is a winning one. If the chance of that is pp, the level is worth −log⁡2p-\log_2 p bits, so each bit halves their chance.

A tiny field of one big dot and two normal ones in a line comes out at 1.58 bits: only the big dot wins, and a guesser finds it one time in three. On the real levels, level 1 is 0 bits, since every tap on it wins. Level 3 makes the biggest jump anywhere between neighbours, to 2.53 bits, and level 14, the first with three taps, measures 5.40. The hardest level so far measures 30.87 bits: a player who never reads it would clear it in the goal about once in two billion tries.

Putting the levels in order

The difficulty follows one ramp, drawn in advance for every chapter, so a chapter made later never moves the ones before it. Each part of a chapter grows a pool of proven fields, and the levels are chosen from it so that the difficulty never falls, the goal never falls, no more than three levels in a row share one value, and the run stays as close to the ramp as it can.

That holds across chapters too. Level 80, the last plain level, measures 13.13 bits, and level 81, the first with a heavy bell, measures 13.14. A new rule never arrives on an easier field, though it may arrive on a smaller one, since a rule’s first level reads better with a few dots fewer.

No two levels the same

A level can feel like a repeat without matching dot for dot, so the check compares levels the way you see them.

  • Turned or mirrored: fields are compared in all eight turns and mirrors, and colour never counts, since it only sets the note.
  • The same picture: two levels are the same if at least 55% of the larger one’s dots line up with same-sized dots of the other, within 45 units.
  • The answer in the same place: they are the same if their winning first taps sit on matching dots and a good part of the picture matches.
  • The same chains: and they are the same if who pops whom is identical, whatever the picture looks like.

Marks count in every comparison, so a field dressed with bells is never mistaken for the plain field it grew from.

One Carillon field drawn eight times, in each of its turns and mirror images

Every candidate is checked against every level already chosen.

Same seed, same levels

The generator owns its random numbers and runs as six worker processes whose batches are merged strictly in order, so the level file depends on the seed alone, never on timing. Change a rule, run it again, and the new set is checked to be just as fair.

All three Chaosmos games keep these promises in their own ways, and proven solvable puts them side by side. For why a start is exactly “a dot nothing reaches”, read chain reactions as graphs.

On this page