Built backwards: how every Apsis sky is made clearable
How Apsis builds each level backwards so it can always be cleared, aims arrows to block, measures difficulty in reads, orders the levels and refuses repeats.

Nobody draws Apsis levels by hand, me included. A program builds them, and the trick at the heart of it is that it never searches for a solution, because it builds the solution in first.
Build the answer in
The generator starts with an empty system and adds arrows one at a time. A new arrow is accepted only if it fits, inside the rim, off the sun and a small gap from every other arrow, and only if its own way out is already clear of every arrow placed before it.
That one rule guarantees the level can be cleared. Take the arrows away newest first. When an arrow’s turn comes, everything added after it has gone and everything added before it is still there, and its way out was clear of exactly those, so it can leave. The file stores the arrows shuffled, so the build order gives nothing away.
Aim to block
An arrow dropped at random usually blocks nothing, which only makes the level easier. So 80 percent of the tries are aimed: the generator picks an arrow that is free right now, a point along its way out, and puts the new arrow on the nearest ring there, in its way.
For each new arrow it weighs 36 candidates and keeps the best by a score: deep chains, few arrows free at the start, and arrows spread fairly over the rings. That last part came from a version where 47 percent of the arrows sat on the outer ring and late skies looked like a necklace, and a small cost for crowding a ring fixed it.
Reads, the difficulty score
An arrow leaving only ever clears space, so an arrow that is free stays free, and launching free arrows again and again clears any level that can be cleared. So the solver needs no search. It measures a level in rounds: in round one every arrow free at the start leaves, in round two every arrow free now leaves, and so on, and the number of rounds is the level’s depth.
Depth alone misjudges levels. In an earlier level set, level 96 came after level 89, both with 22 arrows, and 96 was a round deeper. Yet 96 was easier: it started with four arrows free rather than three, and most of its depth was a thin tail of single arrows at the end.
So the score is reads: how many arrows a careful player looks at to clear the sky, if every round they check each arrow still there and launch the free ones.
Take four arrows: one waits on a second, the second waits on a third, and a fourth is free on its own. The third and fourth leave in round one, the second in round two and the first in round three, so the sky reads 1 + 1 + 2 + 3 = 7. More arrows, fewer free at the start and longer chains all raise it, with no weights to tune, and those two old levels read 82 and 72, the right way round.
Rules that only let go
From the fifth chapter on, the chapters bring rules, and every rule I kept only ever lets go of an arrow. A key that leaves, a lower number that leaves, a ring that falls: each takes something away from what holds an arrow back. So free still stays free, and the backwards build still works as long as each mark agrees with the build order, the way a key always goes on a newer arrow than its lock.
Every level also has to need its chapter’s rule: the same sky with the rule taken off has to play differently. A lock whose key would be in the way anyway teaches nothing, so a level like that never ships.
Choosing the order
For a given number of arrows and depth, the builder lands on nearly the same reads every time, so building to an exact target would mean a long wait for rare builds. Instead, each tier of ten levels builds a pool of four candidates per level, and a search picks which ones ship and in what order:
- Reads and arrows never fall from one level to the next, and depth never falls by more than a round.
- No more than three levels in a row read the same.
- Within those rules, the climb is as even as the pools allow.
Reads start at 3 on level 1, pass three hundred in the late chapters, and never rise by more than four in one step. Chapter starts follow the same rule, so a new idea always arrives on a sky at least as hard as the last one. Once skies reach thirty arrows, which is about all five rings hold, the climb can only come from depth and rules, so each tier aims its skies at a narrow window of reads.
The first five levels are the exception: for each, a separate program drew a hundred thousand small systems, mostly symmetric, and kept the one that looked best and taught the most.
No level twice
A sky turned around the sun, or mirrored, is the same puzzle, so every candidate is compared with every level already made, three ways:
- Turned or mirrored copies, found by writing each level in a form that ignores rotation and reflection.
- Near copies, where under some turn and mirror at least half the arrows pair up with arrows of the same length and direction within 40 units.
- The same puzzle redrawn, with the same rings and the same pattern of who blocks whom.

When I first ran this check, 20 pairs among the early levels were too close, the worst sharing 4 of its 5 arrows. Now a candidate like that is thrown away the moment it is built.
Checked on every run
Every level is checked again whenever the game changes. It clears losing only the hearts the level must spend, it needs its chapter’s rule, the order never gets easier, and no two levels anywhere are too close. A change that broke a single level could never ship quietly.
The geometry that decides whether a way out is clear is in Straight lines across circles, and how all three Chaosmos games make their levels is in Proven solvable.
