Eu estive pensando em implementar stealth em um jogo multiplayer. É um jogo estilo MOBA, então pense em League of Legends (LoL) e Heroes of the Storm (HotS). Vários clientes se conectam a um único servidor, que transmite o estado do jogo a todos os clientes. Os clientes enviam seus dados de entrada para o servidor, o que pode ser rejeitado ao encontrar comandos inválidos, impossibilitando a trapaça (bem, em teoria).
Agora, eu mencionei esses jogos de propósito porque ambos implementaram stealth de maneira diferente. LoL tem discrição com dois estados possíveis: você é completamente visível ou completamente invisível. O HotS, por outro lado, implementa furtividade de maneira que você pode perceber com um brilho no ar:
Penso que este é um mecânico elegante, pois promove / recompensa prestando atenção ao seu entorno. No entanto, este ser um jogo multiplayer me fez perceber que isso pode ser facilmente explorável.
Quando você implementa furtividade da maneira 'LoL', pode simplesmente parar de enviar as coordenadas do jogador para os outros clientes. Quando o personagem do jogador quebra furtivamente, o servidor pode transmitir o local novamente. No entanto, com o modelo HotS, um brilho pode ser visto no ar onde o personagem está se movendo. Isso significa que o servidor deve estar enviando a localização do player para os outros clientes. O que significa que jogadores que mudam a textura ou modelo ou mesmo o próprio código do jogo podem tornar inútil o mecânico da capa. Aqui está um tópico nas placas HotS sobre isso.
Minha pergunta é se existe alguma maneira de implementar camuflagem (com um 'shimmer', à la HotS), sem ter o problema de que jogadores habilidosos podem modificar o jogo (dados) e 'vencer o sistema'. Isso é possível e, se não, como outros jogos multiplayer com esse mecânico lidam com isso? Apenas o estilo LoL de invisibilidade é invencível?
Pensei em ter o servidor enviando locais falsos de 'capa' de vez em quando, mas isso também prejudica jogadores justos que estão apenas prestando atenção, para que não funcionem.