Quando centenas de jogadores atacam o mesmo boss ao mesmo tempo, o cálculo daquele boss se concentra num só ponto, e as informações de cada golpe vão para todos que estão vendo.
Por quê Centenas de jogadores usam skills, buffs e debuffs sem parar num único boss → Efeito Os cálculos de vida, lista de aggro e debuffs do boss se concentram num só ponto, e cada golpe envia pacotes de números de dano e efeitos para todos que estão vendo → Na tela As skills entram atrasadas, os números de dano aparecem todos de uma vez, câmera lenta só em volta do boss
Responsável principal Desenvolvimento do servidor (Equipe de desenvolvimento)
O que fazer (Equipe de desenvolvimento)
Agrupar ou omitir os números de dano e efeitos dos outros jogadores, limitar o número de debuffs num mesmo alvo, dividir o processamento dos golpes entre vários ticks.
Números de referência
800 jogadores batendo 2 vezes por segundo dão 1.600 golpes por segundo. Avisar os 800 que estão vendo dá 1,28 milhão de mensagens por segundo.
No gráfico
Sobe com a carga · Tempo de tick do servidor, mensagens enviadas
Onde olhar
Tempo de tick e pacotes enviados no horário da luta contra o boss, junto com o número de jogadores em volta do boss e, se possível, eventos por segundo (golpes, buffs, debuffs) por alvo
Confirma se
Quando aumenta o número de jogadores em volta do boss, o tempo de tick e o volume enviado sobem de forma íngreme, e o boss tem dezenas de vezes mais eventos por segundo que os outros alvos
Descarta se
Fica igualmente lento só por juntar gente num lugar, sem relação com o boss: cálculo de visibilidade ou explosão de broadcast
Como verificar
Exige logs e métricas do servidor ou do cliente do jogo
Fontes
HED-GP Technical Retrospective: What a HED-acheCCP Games Até um único ataque precisa ser avisado a todos os clientes que estão vendo, o que gera um custo O(n²) (n jogadores avisando n jogadores); ataques de drones, com muitas mensagens, fazem esse custo crescer ainda mais rápido