O CyberDropX começou como um minijogo e virou dezoito — plinko, mines, hi-lo, tower, quebra-código e outros, todos com partidas de menos de um minuto. Por cima disso existem missões diárias, ranking global e recompensas.

A parte que deu mais trabalho não foram os jogos. Foi mover toda a economia para o servidor.

O que "no servidor" significa aqui

Cada recompensa é decidida numa Cloud Function. O cliente não calcula ganho, não valida partida e não informa resultado — ele pede, e o servidor responde.

Isso é mais chato de construir. Cada ação vira uma ida e volta, o estado precisa ser reconciliado, e o modo offline simplesmente não existe para nada que envolva economia.

O motivo não é só trapaça

A resposta óbvia é "para ninguém trapacear", e ela está certa — mas é a menos interessante.

O motivo real é que uma economia no cliente é uma economia que você não pode mudar. Se o balanceamento vive no app, corrigir um número exige nova versão, revisão da loja e esperar todo mundo atualizar. Com a lógica no servidor, um ajuste de balanceamento é um deploy.

Num jogo com dezoito modos e ranking global, você vai errar o balanceamento. A única pergunta é quanto tempo leva para consertar.

O resto

Flutter e Firebase, dez idiomas, Android e iOS. O ranking é global de propósito — competição entre países se mostrou mais interessante que competição local numa base ainda pequena.

Se você jogar, a pergunta que mais nos ajuda é: qual dos dezoito merece virar algo mais profundo?