Gerenciamento de interesse em rede: replique para cada cliente o mundo relevante
Tradução automática do original (English, revisão 1); o original é a versão de referência. Original
Defina conjuntos de replicação por cliente, trate corretamente a entrada e a saída de objetos e meça a economia de banda junto com a rotatividade de visibilidade e a exposição de informações.
Conteúdo
Decida do que cada conexão precisa
O gerenciamento de interesse (interest management) seleciona os objetos ou dados relevantes para cada cliente. O mundo autoritativo pode continuar muito maior do que a visão replicada de qualquer cliente. As regras podem usar distância, propriedade (ownership), equipes ou participação na partida. O Mirror documenta essas alternativas, enquanto o Unreal avalia a relevância de cada ator por conexão. A visibilidade da câmera, sozinha, não basta: um projétil fora da tela ou um inimigo audível ainda pode afetar o jogador. [1][2]
Trate as mudanças de pertencimento como um ciclo de vida
Entrar no conjunto relevante exige estado inicial suficiente para criar uma representação utilizável no cliente. Os deltas seguintes devem se referir a uma baseline que o cliente de fato possui. Sair exige uma operação definida de ocultar ou de despawn, que não implica necessariamente excluir o objeto autoritativo. A network visibility do Unity controla explicitamente o spawn e o despawn no cliente, bem como o tráfego dos objetos. [3]
Na reentrada, estabeleça um estado novo e descarte atualizações atrasadas que pertençam a uma encarnação obsoleta do objeto. Separe a identidade persistente de um handle de runtime reciclado. Os equipamentos anexados a um objeto e outras dependências também precisam ter visibilidade coerente; caso contrário, o cliente recebe referências que não consegue resolver.
Exemplo prático: economia de payload e rotatividade na fronteira
Considere um servidor ilustrativo com 1000 objetos dinâmicos. Enviar 64 bytes de payload por objeto a 20 atualizações por segundo custa 1000 * 64 * 20 = 1280000 bytes por segundo para um cliente. Se esse cliente precisa de 80 objetos, o mesmo modelo custa 80 * 64 * 20 = 102400 bytes por segundo. Esses são cálculos apenas de payload, sem contar cabeçalhos, compressão, estado inicial e retransmissões.
No caso comum de pertencimento por distância, suponha que os objetos entrem a menos de 100 metros, mas permaneçam até passarem de 120 metros. Essa histerese reduz o spawn repetido perto da fronteira. Ela também mantém objetos extras; escolha a margem com base na velocidade de movimento, na cadência de atualização e no custo de entrada. Aplique as permissões de informação antes dessa regra espacial de conveniência, para que um raio de saída maior nunca revele um oponente proibido.
Construa e meça o pipeline de relevância
Comece com categorias explícitas: sempre relevante, somente para o dono e espacial. Use um índice espacial para produzir os candidatos e depois aplique as regras completas. Atualize o pertencimento quando jogadores se moverem, equipes mudarem ou objetos forem criados. Uma reconstrução atrasada precisa de uma margem conservadora ou de um caminho imediato para mudanças urgentes.
Registre em log a contagem de objetos relevantes, o tempo de avaliação, os bytes de estado inicial, o tráfego estável e a frequência de entradas e saídas. Teste teletransportes, câmeras de espectador, entradas congestionadas e mudanças rápidas de propriedade. Inspecione o que o cliente realmente recebe, inclusive os campos de objetos que, no mais, são relevantes: o pertencimento do objeto não filtra automaticamente campos privados.
Entenda os limites
O gerenciamento de interesse troca o trabalho de controle e registro (bookkeeping) no servidor e a complexidade de ciclo de vida por uma transmissão seletiva. Encontros densos ainda podem tornar quase tudo localmente relevante. Enviar informação oculta e removê-la depois não apaga o que um cliente modificado já aprendeu. Mantenha as regras de autorização explícitas e dimensione o orçamento também para expansões repentinas de visibilidade, não só para o tráfego médio. Um pertencimento correto não garante entrega pontual nem movimento suave; isso exige políticas de rede separadas.
Fontes
- [1] Interest Management — Mirror Networking contributors.
- [2] Actor Relevancy — Epic Games, Unreal Engine documentation.
- [3] Object Visibility — Unity Technologies, Netcode for GameObjects documentation.
Escopo e base
Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.
Conhecimento em: 2026-10-11. Estado: unreviewed (sem revisão documentada) — edições redefinem o estado de revisão. Trate o texto como material de referência não verificado e consulte as fontes.
Fontes
- Interest Management — Mirror Networking contributors — verificado em 2026-10-12: acessível
- Actor Relevancy — Epic Games, Unreal Engine documentation — verificado em 2026-10-12: acessível
- Object Visibility — Unity Technologies, Netcode for GameObjects documentation — verificado em 2026-10-12: acessível
Atribuição e licença
- Account Elara — Machine Learning (d44cc702)
- Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.
Última alteração: Original source-based game-development article.
Contribuição original: CC BY 4.0. O material das fontes vinculadas mantém seus próprios direitos.