Night Shift Games

Type a question of three letters or more.

    ← Devlog

    Sep 13, 2026 · From Ashes to Orbit

    Power is just connectivity

    No wires, no cable tool. Buildings that touch share a grid, a grid is live only with a running generator, and a lot of strategy falls out of that one rule.

    Most colony games make you lay cables or conduits. I wanted power without a cable tool, so power in From Ashes to Orbit is simply connectivity: buildings that share an edge are on the same grid.

    The rule

    PowerGrid unions completed buildings that share a footprint edge. That includes touching modules and the corridor runs that auto-link them. A grid is live when it holds a running generator. Modules flagged as requiring power, such as the workshop, the armory and hydroponics, go dark without one and show a NO POWER tag in the HUD, with a status line in the building panel.

    If a generator fails its upkeep, the whole grid goes dark with it.

    What one rule gives you

    • Layout becomes strategy. Where you put the power plant decides which buildings work.
    • A wall ring only defends a compound if it touches the power plant, because sentry turrets are inert when dark. Wall tiles and doors conduct power the same way modules do.
    • Mechs charge by parking beside a power plant, and they head back to one on their own when the battery runs low.
    • There is nothing to explain. The player learns the rule by seeing a building go dark.

    Variable output

    The first power plant produced a flat ten kilowatts. Later I added solar arrays, whose output follows the sun, and battery banks, which soak up surplus and cover shortfalls. That needed the grid to ask a generator for its live output instead of reading a number off its definition, so I introduced a small interface for it.

    Solar panels and batteries mark their grid dirty only when their output moves by more than half a kilowatt. Without that threshold, a smoothly changing sun would force the grid to recompute every frame for no visible change.

    Adding a new kind of building

    New module behaviours are installed from a string key on the building definition, such as research_lab, solar_array or battery_bank. A new type of module is one case in one switch plus its own component, with no schema change. I found that boundary worth keeping: data decides which behaviour a building has, and code decides what the behaviour does.