Pense que você está atrasado agora? Apenas espere até obter informações de oclusão em tempo real do servidor. Agora você pode andar por trás de uma parede e os bandidos aparecerão repentinamente à medida que o servidor o alcança e envia os dados de oclusão atualizados.
Então, meu comentário sarcástico diz tudo. Provavelmente, o principal motivo para não fazer isso é o atraso e a carga do servidor. Se você deseja que o servidor saiba quando outro jogador está visível para você, isso significa que o servidor precisa saber exatamente para que geometria cada jogador está olhando e calcular essa oclusão.
Concordo que explorações como a invasão de paredes podem tornar o jogo não divertido. E vejo que os desenvolvedores se preocupam com isso, porque querem tornar o jogo o mais divertido possível. No entanto, quando os desenvolvedores chegam ao ponto em que suas contramedidas anti-fraude / hack diminuem o jogo e / ou a satisfação do cliente, elas perdem muito mais clientes do que se tivessem deixado isso sozinho . Veja DRM .
É factível e já foi experimentado em pesquisas; para uma comparação dos esquemas de gerenciamento de juros, consulte http://dl.acm.org/citation.cfm?id=1230069
Como o Byte56 disse, pode exigir mais CPU, mas pode reduzir sua largura de banda e reduzir a probabilidade de invasões na parede.
E, como disse Byte56, uma área de interesse estritamente limitada à área de oclusão do jogador pode reduzir a capacidade de resposta do lado do cliente: as emboscadas levarão pelo menos meia ida e volta para serem exibidas. No entanto, você pode tornar a área de interesse do jogador um pouco maior que a área de oclusão, para que o cliente receba a emboscada do oponente alguns segundos antes que ela aconteça. Dessa forma, ataques de parede ainda são possíveis, mas apenas no último momento.
fonte
A resposta curta é que sim, a seleção por oclusão no servidor é possível, mas geralmente não é feita devido à complexidade e aos benefícios limitados.
Lembre-se de que para uma grande parte dos jogos modernos de FPS, a oclusão completa é rara. Os personagens hoje em dia usam cobertura ou se escondem na grama, e os uniformes e camuflagem reais têm um impacto na visibilidade. Paredes e corredores ainda desempenham uma grande parte da batalha online, mas não tanto quanto nos anos anteriores.
Jogos com muitos corredores apertados e superfícies opacas podem (às vezes) usar seleção de oclusão no servidor para filtragem de eventos. Isso simplesmente não funciona tão bem para grandes ambientes abertos e jogos de capa / camo realistas.
O hacking na parede também é apenas uma pequena parte da trapaça nos jogos online, e a correção de cada invasão individual não funcionou bem até agora. As melhores abordagens foram simplesmente a criação de partidas de alta qualidade e os sistemas de classificação de jogadores que filtram os trapaceiros e diminuem a probabilidade de uma partida frustrante.
fonte
Os desenvolvedores de jogos que não podem escrever apenas um programa paralelo que basicamente assume o controle total do PC e não permite que nenhum software de terceiros seja carregado enquanto o jogo está em execução? Eles não precisam carregar os injetores depois que o jogo é iniciado e mapeado para a memória? Então, lista negra tudo o que não está relacionado à execução. Eles precisam criar um tipo de UAC para interromper o carregamento dos serviços após o carregamento do jogo.
Minha outra idéia para impedir completamente a invasão é um pouco mais complexa e envolve a execução de jogos como um sistema operacional Linux. Basicamente, o jogo não usava janelas, mas usava um sistema operacional despojado, projetado para ter apenas jogos carregados. Portanto, os jogadores podem querer transmitir ou tocar música enquanto jogam, mas essa nova maneira de executar um jogo não o permite .. Grande coisa, os desenvolvedores poderiam colocar programas na lista de permissões e outras coisas, mas eu não me incomodaria .. você está tentando reproduzir um jogo, se você quer tarefas múltiplas, tem um laptop por perto, etc. Essencialmente, você quer executar o jogo no modo sandboxie com criptografia. Acho que é assim que se chama. É como rodar um jogo em um ambiente de temperatura virtual que é 100% controlado pelo criador do jogo.
E esse modo sandboxie seria muito parecido com o funcionamento dos jogos e sistemas operacionais do console. Não vemos muitos hacks no console. Porque eles não podem carregá-los no console e, se pudessem, os consoles não conseguiriam lê-lo e reconheceriam.
fonte