Why production never stops when you close the game

A management game that punishes absence is not difficult, it is just demanding about your schedule. Here is how Astra Genesis works out what happened while you were away.

The factory graph: the real path from ore to ship module, with throughput and priorities.

There is one rule I set myself on day one of this project, and it has outlived everything else: closing the game must never cost you anything.

It sounds minor. It is not. It is the constraint that shaped the engine more than any other, long before the art or the balance.

The problem with most management games

In a classic online management game the loop is simple: you start a production run, it takes eight hours, and you have to come back to collect it. Come back too late and the warehouse is full and the rest is lost. If a player passes by during the night, your resources leave with them.

That is not difficulty. It is a tax on your availability. A player who can log in six times a day beats a player who plays better but has a job. And above all: none of it is interesting. Nobody has ever told a friend about the thrilling decision they made at three in the morning to save a fleet.

What Astra Genesis does instead

The engine does not simulate time continuously. It stores a timestamp, and when you come back it works out what should have happened in between. That is what the catch-up function does:

// The server replays the hours you were away, boundary by boundary:
// each construction finishing, each research completing and each
// expedition returning is handled in order, with the production
// rates as they stood at that exact moment.
catchUp(state, elapsedSeconds);

The detail that matters is in that last sentence. A naive catch-up multiplies the current rate by the elapsed time, which is wrong the moment an event changes the rates halfway through. If your factory finishes two hours after you log off, the following six hours have to use the new throughput, not the old one. So the catch-up cuts the absence at event boundaries and recalculates rates at each one.

It takes longer to write. It is also the only honest version.

What else does not happen

  • Warehouses do not overflow in the punishing sense. A saturated chain stops and waits; it destroys nothing.
  • No event fires while you are away to take something from you. Incursions arrive with a warning you can see before you close the game.
  • There is no button to speed things up for real money, because there is nothing to speed up: time passes the same whether you are there or not.

What this choice actually costs

To be honest about it: this rule makes balancing harder. With no time pressure, the only tension left is the trade-offs. Every tier has to pose a real factory question, or nothing is left at all. It is a game where I cannot hide behind a countdown and pretend something is happening.

Good. That was the idea.