Night Shift Games

Type a question of three letters or more.

    ← Devlog

    Sep 15, 2026 · From Ashes to Orbit

    The bug that sealed colonists inside their own base

    Colonists kept getting trapped in rooms with open doors. The cause was a navigation mesh that quietly baked the buildings into the floor. Three fixes, and a test that failed first.

    Playtesting turned up a bug that made no sense: a colonist standing inside a module with its door open could not walk out. Sometimes the survivor could not either.

    The cause

    The navigation mesh surface collects every render mesh on every layer, and every time the player levelled a build pad, the game rebuilt it at runtime. A pad cut after modules already existed baked those modules into the walkable mesh, along with their closed door plugs, their floor plates and even the units standing nearby.

    Doors opened later are just obstacle carves on top of the mesh. A carve can cut a hole in walkable space, but it cannot reopen geometry that was baked as walkable and then blocked. So anyone inside simply stayed inside.

    Fix one: stop it at the source

    I added a small helper that marks an object as ignored by the navigation build. It is applied to every building, unit, hostile creature, levelling site and placement ghost, as well as the hover ring, click marker and objective beacon. Buildings now block movement only by carving, never by being baked.

    Fix two: a safety net

    A bug in one place should not be able to trap a player forever. When a unit gets a partial path, it now probes 16 directions between two and nine metres out for a navigation point that has a complete path to the goal, and warps there. Whatever else goes wrong, a unit can never be permanently stuck.

    Fix three: discoverability

    Clicking a finished building used to walk you inside it, which hid the Demolish button. Clicking now opens the building’s card, and Fabricate on the card is the walk-in.

    The test

    I wrote a test that reproduces the trap: a module placed around the survivor, a pad levelled elsewhere, then a walk out. Then I confirmed it fails with both fixes disabled. A test that has never been seen to fail proves very little, so I do that check for every regression test I write.