Você não especifica o tipo de jogo, então eu me inclinarei muito para os jogos de RPG / MMO. Mas muito disso pode e se aplica aos jogos de FPS, Estratégia e Ação. A maneira como grandes empresas de jogos multiplayer como a Blizzard lidam com esse problema em seus jogos é:
- Faça todo o cálculo e ações do jogo no servidor, o cliente é apenas um terminal e um mecanismo de gráficos estúpidos. Portanto, se os jogadores estão usando um cliente diferente, isso realmente não importa em termos de jogo, eles não podem enganar a física do jogo.
- Verifica programas / clientes óbvios de bot, procurando ações óbvias do computador, como repetição perfeita de eventos de clique e movimentos do mouse.
- Verifica programas / clientes de bot não óbvios e alerta moderadores do jogo para o problema.
Eles então aparecem no jogo (se possível, para os mesmos jogos que o Starcraft 2 não é) ou assistem / conversam com o jogador sobre suas ações como um 'teste humano'. Ou pelo menos é assim que deve ser tratado. A Blizzard é muito boa nisso, mas historicamente outras empresas MMO não o foram.
A verificação de bots não óbvios não é fácil, mas algumas regras básicas a seguir incluem
- Procurando jogadores que, com apenas uma ligeira variação, estejam realizando as mesmas ações repetidamente. Isso pode estar em um nó de recurso em um MMO e cultivá-lo quando ele reaparece, ou pode estar rodando em círculos entre pacotes de saúde / munição em um FPS e nunca se desviar de um caminho específico e sempre usar a mesma arma. (Bots abaixo do ideal nos FPSs são raros, mas se o seu jogo tiver uma escada para subir, onde o número de jogos é mais importante que o talento do jogador, como alguns FPSs modernos, os bots se tornam valiosos novamente)
- Procurando jogadores que executam a mesma corrida ou estratégia exata repetidamente em um RTS. Existem certas ordens de construção no Starcraft que podem ser praticamente imbatíveis quando executadas por um bot.
- Procurando jogadores que coletaram vastas somas de recursos e agora estão destruindo infinitamente um item. Este foi um grande problema no Ultima Online.
O problema é que, quanto mais popular é o seu jogo, e quanto mais frutíferos forem os bots na redução do tédio, maior será a probabilidade de as pessoas usarem e criarem esses bots. E é trivial restringir a velocidade de movimento do mouse, adicionar variação humanística aleatória aos cliques, até fazer com que o bot cometa erros em uma taxa humana, abrindo e fechando partes do menu, pressionando o botão errado e fechando a janela, alternando entre teclado e teclado. o mouse funciona como os humanos para reduzir a fadiga das mãos. (você nem percebe que faz)
Portanto, o último passo em que alguém ou um bot está fazendo algo repetitivo por muito tempo realmente tem que ser um mod humano chegando ao jogador e conversando com ele. Se eles estão lá e respondem com respostas humanas, eles são humanos. Normalmente, os mods pedem ao jogador que pare um pouco ou os siga em algum lugar e execute outras ações, os aros se tornam mais complexos com o tempo.
Tanget
É claro que, eventualmente, alguém criará um bot que é indistinguível de uma pessoa real, passando no teste de Turing. E há muitos escritores de bot por aí que pretendem fazer exatamente isso.
Eu próprio tinha um fascínio passageiro pela ideia quando comecei a programar e criei bots inúteis para o Ultima Online, que ficariam na cidade e imitariam os NPCs. Os comandos eram super simples, por isso eram fáceis de executar, apenas pressionamentos de tecla para avançar em direções diferentes, e assistindo o bate-papo registrar seu próprio nome e enviar as mensagens para o ALICE por meio de uma versão web da IA. Não me lembro qual e provavelmente não existe mais.
/Tangente
O ponto é que você precisa decidir onde desenhar a linha. Se você não pode permitir que um exército de moderadores converse com pessoas que seu sistema identifica como bots, é melhor deixar a comunidade marcar as pessoas como bots e, quando isso acontecer com o tempo, chute o jogador por cerca de uma hora. Não proibir, apenas chutar. O verdadeiro problema para a maioria dos jogadores é que os robôs consomem recursos que outros jogadores humanos poderiam estar usando. Se os mobs são escassos, como foi o problema do Ragnarok Online, os bots que circulam e limpam áreas inteiras de inimigos enquanto pegam itens (ou não) são comuns e arruinam o jogo para outras pessoas. Assim, você pode evitar o custo dos exércitos administrativos dessa maneira.
Por fim, você também pode conviver com os bots como uma realidade do seu espaço de jogo e incentivar o uso deles. Isso requer que você projete seu jogo com base no uso eventual e comum de bots, treinadores e programas auxiliares. Quero dizer que houve um MMO que fez isso há cerca de 10 anos, mas não me lembro qual era. Foi o fim do jogo, porque os MMOs são pesados e isso significava que 95% dos jogadores estavam longe de seus teclados a qualquer momento e destruíam a comunidade. Se você seguir esse caminho, tenha cuidado.