Quais são as possíveis desvantagens do uso de JavaScript (do lado do cliente) ao criar um jogo multiplayer?
Descrição do jogo: É um MMORPG / RTS. Isso significa que os jogadores contribuem ativamente para as estruturas do mundo e criam grande parte do conteúdo.
2d
multiplayer
javascript
jcora
fonte
fonte
Respostas:
Tudo bem se:
fonte
Se o seu jogo é ou não adequado para o desenvolvimento de JavaScript, depende do jogo. Você não descreveu seu jogo, então não há como respondermos à pergunta no título.
No entanto, posso dizer que sua preocupação com hackers não é um problema aqui. Não porque o JavaScript não pode ser invadido (pode e facilmente), mas também qualquer outra tecnologia do lado do cliente. Um dos princípios básicos do desenvolvimento de jogos multiplayer é "nunca confie no cliente". Crie seu jogo de forma que tudo o que você precise proteger contra hackers esteja em execução no servidor, porque o cliente será invadido. Isso significa apenas enviar comandos da interface do usuário do cliente (por exemplo, "o jogador clicou no botão Bomb") e calcular os resultados das ações do jogador no servidor. Em seguida, o servidor envia de volta ao cliente os resultados dessas ações.
Como não importa em qual tecnologia você confia, você deve projetar seu jogo com a suposição de que o componente do lado do cliente será invadido, a possibilidade de hackers do JavaScript não é considerada ao decidir se deve ou não usar o JavaScript.
fonte
As pessoas podem alterar o código do cliente para enganar, o que é um problema para qualquer jogo multiplayer. Se a velocidade da reação ou a rápida resolução de tarefas matemáticas fizer parte do jogo, você não poderá impedir completamente a trapaça.
Para qualquer outro elemento do jogo, você deve garantir que o cliente não obtenha nem possa obter informações que deveriam estar ocultas ao jogador. E, claro, o servidor deve validar que todas as ações tomadas por um jogador são legais.
O maior problema que vejo nos jogos JavaScript é que muitos navegadores tendem a gaguejar, especialmente o Firefox estava muito ruim na última vez que verifiquei. Por esse motivo, o JavaScript não é uma boa opção para jogabilidade sensível ao tempo. Mas para jogos baseados em turnos ou pelo menos em ritmo lento, o JavaScript pode funcionar muito bem.
fonte
Alterar as variáveis Javascript é muito fácil de fazer com ferramentas como o Firebug (para firefox) ou com as ferramentas de desenvolvimento do Safari / Chrome. Você pode simplesmente digitar javascript no console e ele será executado. Como regra simples, não confie no lado do cliente para segurança. Além disso, com a introdução do elemento canvas HTML5, o javascript oferece algumas possibilidades reais para jogos simples (existe uma versão completa em javascript / html5 do Angry Birds, por exemplo).
fonte