Mini-jogo
Multijogador
Tempo real
Sincronização
Latência
Netcode

Como fazer dois jogadores verem o mesmo mundo ao mesmo tempo?

Um Q&A profundo sobre netcode: autoridade, interpolação, rollback e por que a latência é um problema físico que o design precisa absorver

C

Cross Mini App Team

25 de outubro de 2026 · 4 min de leitura

Como fazer dois jogadores verem o mesmo mundo ao mesmo tempo?

Como fazer dois jogadores verem o mesmo mundo ao mesmo tempo?

Um jogo de um jogador é um sistema fechado: o jogador aperta, o motor responde, o estado é verdadeiro porque só existe uma cópia. Adicione um segundo jogador em outro dispositivo e essa garantia evapora. Agora há duas cópias, um fio de 80 ms de latência em cada direção entre elas, e um jogador que notará o instante em que está "errado". O multijogador em tempo real não é uma função que você acrescenta; é um redesenho do que significa "verdade". Aqui está a parte que os times subestimam.

Q: Por que a sincronização em um mini-jogo é uma ordem de magnitude mais difícil que em um jogador só?

Porque a "verdade" vira uma negociação. Em um jogador só o motor é o juiz. Em multijogador, o juiz é a rede, e a rede é lenta, perde pacotes e às vezes mente. Agora cada ação tem uma ida e volta: sua entrada sai do seu dispositivo, chega ao outro lado, é reconciliada e volta como estado — e durante essa viagem o outro jogador já se moveu. A restrição do mini-jogo piora tudo: você faz isso em um celular via dados móveis, não em um PC com fio, então seu orçamento de latência é mais apertado e sua taxa de queda, mais alta. A maioria dos times orça "vamos adicionar multijogador depois" e descobre que esse "depois" é uma reescrita, não um acréscimo.

Q: Autoridade, lockstep, predição — como você escolhe, de fato?

Três arquiteturas, três concessões honestas. Autoridade do servidor significa que uma máquina detém a verdade e os clientes são terminais bobos; é o único modelo que impede a trapaça, mas adiciona uma ida e volta a tudo e parece lento se você não combiná-lo com predição. Lockstep faz cada cliente rodar a mesma simulação determinística e trocar apenas entradas; é barato em largura de banda, mas um peer lento paralisa a partida toda, e qualquer não determinismo dessincroniza todos. A predição do cliente com reconciliação do servidor deixa o jogador local sentir instantaneidade enquanto o servidor o corrige em silêncio — o padrão para shooters e corridas, e o código mais difícil de acertar. Para um mini-jogo casual, a pergunta real é se você precisa de tempo real: por turnos ou assíncrono elimina 90% dessa dor.

Q: Interpolação, rollback, compensação — como a latência é realmente "escondida"?

Você não elimina a latência; você a mente de forma convincente. A interpolação renderiza os outros jogadores alguns quadros no passado para que o movimento deles seja suave em vez de teletransportar entre atualizações de rede — o custo é que todos parecem levemente atrasados, o que os jogadores aceitam. O rollback (usado em jogos de luta) assume, em vez disso, que a entrada do outro jogador chegou, simula para a frente e, se não, retrocede e reproduz — parece instantâneo, mas exige um estado totalmente determinístico e snapshot-able. A compensação de rede como lag shielding falsifica o último movimento de um jogador caído para que ele não congele. A arte está em escolher qual mentira o seu gênero consegue sobreviver: suave e um pouco atrasada, ou instantânea e com rollback.

Q: Como decidir se o seu jogo deveria ser em tempo real?

Faça primeiro o teste de honestidade. Se o seu jogo é um quebra-cabeça, uma batalha de cartas ou qualquer coisa onde um atraso de 200 ms não muda o resultado, você quase certamente quer assíncrono ou por turnos e deve gastar seu orçamento em matchmaking, não em netcode. O tempo real só justifica seu custo quando a simultaneidade é a diversão — corridas, tiros, esquivar em cooperativo. E um runtime compartilhado ajuda aqui mais do que os times esperam: uma camada de rede coerente sobre todos os mini-jogos significa que você escreve o código de sincronização difícil uma vez, não por título. A tabela é a porta que a maioria pula.

Se o seu gênero é…Modelo de sincronizaçãoPor queO que ele cobra de você
Quebra-cabeça / cartas / turnosAssíncrono ou por turnosO atraso não muda o resultadoQuase nada de netcode
Corridas / tiros / co-opPredição cliente + autoridade servidorA simultaneidade é a diversãoCódigo de predição + reconciliação
Estratégia determinísticaLockstepBarato em largura de banda, justoUm peer lento paralisa tudo
Casual, incertoComece assíncrono, meçaTempo real pode ser uma armadilhaRefazer se errar

O multijogador em tempo real é um imposto a cada quadro. Cobre-o só onde a diversão é a simultaneidade.

Fontes

Compartilhar:TwitterLinkedIn

Posts Relacionados

Por que seus testes A/B continuam mentindo para você?

Um Q&A sobre o problema de espiar, a análise de poder, os holdouts e os confundidores que transformam uma variante "vencedora" em uma ilusão estatística

Mini Game
Analytics
A/B Test
25 de outubro de 2026·1 min read
Anúncios demais matam o jogo

O teto de frequência é o dial entre a receita de hoje e um jogo morto no mês que vem

Mini-Game
Ad Frequency
Load Balancing
25 de outubro de 2026·1 min read
Waterfall ou bidding: como você maximiza de verdade a receita com anúncios?

Um Q&A sobre a camada de mediação, por que o waterfall manual vaza dinheiro em silêncio e como escolher um SDK de mediação sem acreditar no próprio eCPM dele

Mini Game
Anúncios
Mediação
25 de outubro de 2026·1 min read