A player found a bug, and it was the worst kind: not a crash, not a wrong number, but a colony
that quietly stopped doing anything. Order the crew to mine something they cannot get to, and the
suit would stand there thinking, forever, while the task queue filled up behind it. No error, no
message, no way to tell what had gone wrong. You just noticed, eventually, that nothing was
happening any more.

What was actually happening
When you tap a rock the crew cannot walk to, the game tries to help: it plans an access route and
pushes the digs needed to open it in front of your original order. Sensible. The problem was that
each of those digs was planned without checking whether it could be reached either. So a dig
would fail twice, trigger another access plan, and that plan would push more unreachable digs in
front of it. Round and round, a few new tasks a second, none of them ever completable.
Worse, the queue has a sixty-four task cap, and this path bypassed it entirely — the cap lives in
the function that adds tasks to the end, and this code was splicing them onto the front. So the
queue grew without limit, which is why it looked like the task manager itself had died. It had not.
It was extremely busy, doing nothing.
There was a second dead end underneath it, found while fixing the first: a colonist huddling for
warmth in the cold could never actually recover, because huddling only slowed the heat loss rather
than reversing it, and every order that might have helped was being refused. A crew member could get
into a state they could not be commanded out of. That one had never been reported, and would have
been miserable to diagnose from the outside.
Digging a way in, properly
The fix is that the access planner now plans a route a person could actually walk. It checks
footing at every step, mines the cell you stand in and the one above it so there is headroom,
and where there is nothing to stand on it builds a ladder rung and pays for it out of what you have
in the hold. It counts the materials as it plans, so it will not start a shaft it cannot finish.
The pathfinder was lying to it, too. Open air used to be free to move through, which meant the
route-finder happily drew paths straight across empty sky. Air is now only free if there is
something to stand on, so the plans it produces are plans a colonist can follow.
Knowing when to give up
The more important half of the fix is that the game is now allowed to fail. If a route needs more
than forty rungs, it will not attempt it. If the ground shifts and the plan stops making sense, it
re-plans — up to three times, and then it stops. When it stops, it cleans up after itself properly:
the queued digs are binned, the reserved materials go back in the hold, the ghost blocks disappear,
and you get told, in a sentence: Suit-01 couldn’t cut a way in there — try a spot nearer the
surface.
That message is the actual deliverable. The old behaviour was not really “the game crashed”, it
was “the game knew something was wrong and did not tell you”. Silence is the bug. A colony that
refuses a job out loud is fine; a colony that accepts a job it can never do, and says nothing, is
broken in a way that makes you distrust everything else on the screen.
Tested against the dead ends
Five deliberately impossible orders, run across three different worlds: a rock buried twenty-five
tiles down, a rock floating in mid-air, a target across a twenty-tile chasm, a build on a ledge with
no approach, and a mine sealed inside solid core rock. All fifteen runs now either complete the job
by cutting a real shaft, or refuse it with a reason. No runaway queues, no stranded reservations, no
leftover ghost blocks, no errors.
Live now at orbit2d.co as v0.9.1. Thanks to whoever kept
playing long enough to notice their colony had gone quiet.
Leave a Reply