Por que a produção nunca para quando você fecha o jogo
Um jogo de gestão que pune a ausência não é difícil, é apenas exigente com a sua agenda. Eis como Astra Genesis calcula o que aconteceu enquanto você estava fora.

Há uma regra que estabeleci para mim no primeiro dia deste projeto, e que sobreviveu a tudo o resto: fechar o jogo nunca deve custar nada.
Parece pouco importante. Não é. É a restrição que mais moldou a arquitetura do motor, muito antes da arte ou do balanceamento.
O problema da maioria dos jogos de gestão
Num jogo de gestão online clássico, o ciclo é simples: você inicia uma produção, ela demora oito horas, e você tem de voltar para a recolher. Se voltar tarde demais, o armazém está cheio e o resto perde-se. Se um jogador passar a noite fora, os seus recursos vão com ela.
Isso não é dificuldade. É um imposto sobre a sua disponibilidade. Um jogador que consegue entrar seis vezes por dia vence um jogador que joga melhor mas tem um emprego. E acima de tudo: nada disso é interessante. Ninguém jamais contou a um amigo a decisão emocionante que tomou às três da manhã para salvar uma frota.
O que Astra Genesis faz em vez disso
O motor não simula o tempo continuamente. Guarda uma marca temporal, e quando você volta, calcula o que deveria ter acontecido entretanto. É isso que faz a função de recuperação:
// O servidor reproduz as horas de ausência, fronteira a fronteira:
// cada fim de construção, cada fim de pesquisa e cada regresso de
// expedição é tratado por ordem, com as taxas de produção tal como
// estavam nesse momento exato.
catchUp(state, elapsedSeconds);
O detalhe que importa está nesta última frase. Uma recuperação ingénua multiplica a taxa atual pelo tempo decorrido, o que está errado assim que um evento muda as taxas a meio. Se a sua fábrica terminar duas horas depois de você sair, as seis horas seguintes têm de usar o novo rendimento, não o antigo. A recuperação corta assim a ausência nas fronteiras dos eventos e recalcula as taxas em cada uma.
Demora mais tempo a escrever. É também a única versão honesta.
O que também não acontece
- Os armazéns não transbordam no sentido punitivo. Uma cadeia saturada para e espera, não destrói nada.
- Nenhum evento é disparado na sua ausência para lhe tirar algo. As incursões chegam com um aviso que você vê antes de fechar o jogo.
- Não há botão para acelerar com dinheiro real, porque não há nada para acelerar: o tempo passa da mesma forma, esteja você presente ou não.
O custo real desta escolha
Para ser honesto: esta regra torna o balanceamento mais difícil. Sem pressão temporal, a única tensão que resta é a das trocas. Cada patamar tem de colocar uma verdadeira questão de planeamento de fábrica, senão não sobra nada. É um jogo em que não posso esconder-me atrás de uma contagem decrescente para fingir que algo está a acontecer.
Ainda bem. Era essa a ideia.