O sistema de chat explicado
O que acontece quando uma jogador envia uma mensagem? Vamos ver o que acontece até a mensagem chegar aos seus destinatários.
No jogo, o chat é o sistema central para a interação entre os jogadores. Além disso, o chat também mostra outras mensagens, como as mensagens de inspeção de objetos. No futuro, o chat poderá ser usado até para interações com NPCs. Neste post, pretendo mostrar em detalhes o que acontece quando um jogador envia uma mensagem no chat público. É algo tão trivial que não costumamos parar para pensar na complexidade envolvida.
As funcionalidades do sistema de chat
Na versão atual, o sistema de chat possui apenas o canal público. Isso quer dizer que as mensagens enviadas vão aparecer na tela para todos os jogadores. No futuro pode ser que tenha canais privados, para que um jogador mande mensagem diretamente para outro.
Existem 3 modos para enviar mensagens públicas: sussurrar, falar ou gritar. No modo sussurrar, as mensagens aparecem apenas para os jogadores que estão exatamente a 1 tile de distância de quem falou. Para escutar alguém sussurrando, você precisa realmente estar bem perto dela. Já no modo falar, a mensagem aparece para todos que estão na tela. No modo gritar, a mensagem aparece para jogadores que estão alguns tiles além da tela. Um detalhe interessante da implementação do modo gritar é que, se um jogador gritar fora de sua tela e você estiver no alcance, a mensagem vai aparecer na direção de onde o jogador que gritou está. Seria como simular de onde o som está vindo. Isso pode ajudar alguém que está em apuros a ser encontrado, por exemplo.
Uma última funcionalidade da versão atual é a possibilidade de minimizar o chat para ter uma maior área de visão do mapa:
Visão técnica do envio de uma mensagem
Fiz alguns desenhos para demonstrar como funciona, do ponto de vista técnico, o envio de uma mensagem: