post image
farendar devlog

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.


Ui do sistema de chat com input para digitar a mensagem e uma lista das mensagens recebidas.
Interface do sistema de chat.



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.


Um menu dropdown com três opções: whisper, say e yell.
Tipos de mensagens que podem ser enviadas.

Um jogador sussurando para outro jogador.
Sussurrar. Só alcança quem esta a 1 tile de distância.

Um jogador falando com outro jogador.
A mensagem mais comum é a falar. É enviada para todos jogadores na tela.

A mensagem de um jogador que gritou fora da tela sendo exibida no canto superior direito
Gritar. Quem está fora da tela mas no alcance da mensagem também recebe a mensagem.



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:




Algumas considerações sobre o sistema de chat

Um sistema de chat pode ter centenas de funcionalidades que facilitem a vida do jogador. Mas, na minha visão, essas funcionalidades devem ser implementadas com cautela. Digo isso porque vejo que o sistema de chat deve facilitar a socialização dos jogadores, mas sempre tomando cuidado para não acabar tendo o efeito contrário. Vou dar um exemplo:

Um canal de vendas e trocas: o chat poderia ter diversos “canais” com temas específicos, onde todos os jogadores do servidor recebem o que foi escrito nele. Isso facilitaria para os jogadores venderem itens ou serviços. Parece bom, certo? Mas toda escolha envolve ganhar algumas coisas e perder outras. Um canal de comércio substituiria o papel de jogadores que poderiam agir como mercadores, viajando entre as cidades para vender itens. Inibiria viagens para conhecer cidades e explorar seus mercados. Em resumo, acabaria automatizando um trabalho que poderia ser realizado por jogadores. Esse, para mim, é o ponto crucial quando penso nas mecânicas que o jogo pode ter. Não quero mecânicas apenas para power players (que querem apenas ganhar nível) e automatizar o resto. Gosto da ideia de ter jogadores sendo mercadores, produtores de itens, guerreiros, entre outros. Mas isso não quer dizer que não possa existir um canal de comércio. Meu ponto é que cada uma das mecânicas, desde as mais simples e aparentemente inofensivas, como um canal de chat, deve ser muito bem pensada para que não acabem automatizando interações sociais entre os jogadores.

Espero que tenham gostado e em breve detalharei algum outro sistema do jogo!

Faça Log in para comentar

Não tem uma conta? Crie uma conta agora.