Eu tenho trabalhado (off-and-on) em uma pbbg que é muito antiga. Se você já jogou Carnage Blender, entendeu a idéia.
Caso contrário, é uma idéia simples que já foi feita muito: um jogador recebe um certo número de "pontos" por dia e gasta esses pontos para atacar outros jogadores. Os pontos acumulam-se ao longo do tempo, até um certo limite.
O sistema de pontos foi projetado para impedir que superdotados superem em ritmo os jogadores casuais.
No caso do liquidificador de carnificina, um sistema CAPTACHA impede que o usuário "jogue" o sistema com um bot ou um script projetado para usar todos os seus pontos todos os dias com o mínimo de esforço. De vez em quando um CAPTCHA aleatório é exibido e, se não for aprovado, o usuário será suspenso por uma hora.
O que eu quero saber é como tornar isso mais amigável para o meu jogo. Reconheço que devo evitar um mau comportamento como esse e poderia facilmente adotar a mesma abordagem CAPTCHA, mas existe uma alternativa mais amigável?
A pesquisa inicial descobriu o ASIRRA pela Microsoft, mas a vibração fofa / fofa não funciona bem com o meu tema de jogo pretendido.
ATUALIZAÇÃO
O que mais me interessa são as alternativas ao CAPTCHA padrão "soletrar esta palavra". Quero tentar manter o jogo o mais ininterrupto possível para os bons jogadores.
Vi o que chamo de CAPTCHAs de uso único, como perguntar a um usuário "o que são cinco mais seis menos dois?" Mas isso exigiria muito esforço para compilar um banco de dados grande o suficiente de perguntas para frustrar os usuários mal-intencionados. Especialmente porque o CAPTCHA se destina a ser usado com tanta frequência.
ATUALIZAÇÃO # 2
Como Joe Wreschnig apontou em sua resposta, ter um sistema CAPTCHA para limitar os bots de jogar o jogo mais rápido que os humanos é um pouco redundante se os turnos forem limitados por dia. Eu não expliquei meu sistema de pontuação diretamente, e isso foi culpa minha. Na realidade, 10 ou 20 pontos acumulam-se a cada poucos minutos e terminam em 200. Portanto, um jogador muito competitivo pode retornar a cada poucas horas e usar seus pontos. Quero recompensar as pessoas que gostam tanto do meu jogo que voltam com tanta frequência. Se eu os impedir de jogar até o dia seguinte, quando eles receberem seus pontos, eu estaria afastando jogadores que de outra forma estariam gostando do meu jogo na web. Isso evita que um jogador gaste pontos constantemente, enquanto ainda concede alguns pontos a cada poucos minutos.
Isso está aberto a abusos.
fonte
Respostas:
"existe uma alternativa mais amigável?"
Uma alternativa mais amigável para que finalidade? O que o captcha foi projetado para alcançar em seu sistema?
Parece que foi projetado para evitar bots, sob a premissa de que os bots podem jogar "mais rápido" do que os jogadores comuns. Mas você também já limitou o número de ações que um usuário pode executar por dia, o que alcança o mesmo objetivo. Portanto, o captcha parece redundante.
Gostaria de encorajá-lo a olhar para as interfaces alternativas do Kingdom of Loathing . Ele usa um sistema semelhante de turnos por dia e possui várias interfaces alternativas populares , como o KoLmafia , que são, de muitas maneiras, indistinguíveis de "botar" o jogo. A maioria dos jogadores sente que isso adiciona ao jogo, e não tira, o jogo, mesmo para jogadores casuais. Eles facilitam o lote de ações, automatizam algumas das partes mais lentas e oferecem mais opções para a interface do usuário no jogo.
Se você já possui verificações em seu jogo para garantir que as IAs não possam simplesmente jogar mais rápido que os humanos - e, fazendo turnos por dia, você tem essa verificação -, sugiro que tente incentivar a automatização de seu jogo, como se seu design fosse equilibrado, só pode melhorar a experiência do jogador.
fonte
Eu nunca me incomodaria em jogar um jogo que exige captchas: eles são realmente uma prática terrível que deve ser evitada.
Seu jogo parece ter problemas mais profundos do que isso de qualquer maneira: idealmente, um jogo não deve dar vantagem a um bot estúpido, de modo que seria inútil usá-lo em primeiro lugar. Se você não conseguir isso, é um problema de design que não terá solução real, apenas soluções alternativas mais ou menos válidas.
Com "bot estúpido", quero dizer bots que não tomam nenhuma decisão significativa e apenas "fazenda" (é o que acontece aqui). Bots inteligentes (como robôs de mira ou bots de xadrez) são uma questão completamente diferente.
Ainda assim, supondo que você esteja confortável com a idéia de criar um jogo com falhas de design, ainda há espaço para melhorias.
Aceite o fato de que você não pode parar um bot realmente determinado e concentre-se na única coisa que pode fazer: torne inútil usá-lo. Se as pessoas não tiverem razão para usar um bot ... elas não as usarão (e se o fizerem de qualquer maneira, não importará).
Uma solução possível é permitir um login por semana, em vez de um por dia. Se as pessoas esquecerem de fazer login por mais de uma semana, é improvável que estejam realmente interessadas em jogar de qualquer maneira, portanto não usarão bots para continuar ganhando créditos. Se, por outro lado, há alguém tão ferrado que faz um bot que registra uma vez por semana e volta três meses depois para atacar pessoas aleatórias, bem, você acabou de encontrar alguém tão determinado que o teria rachado de qualquer maneira, seja qual for sistema que você escolheu (a menos que você tenha escolhido um sistema sem falhas, é claro).
ps: não cometa o erro de colocar mais esforço em solucionar as falhas de design e resolvê-las em primeiro lugar!
fonte
Eu não proibiria um CAPTACHA com falha por uma hora, o que parece duro, apenas impediria que eles seguissem em frente até que concluíssem o CAPTACHA com sucesso e permitissem que uma nova imagem CAPTACHA fosse exibida.
Eu também exibia o captcha apenas se eles fizessem solicitações muito rapidamente, eu armazenava o DateTime em cada solicitação e o comparava com a próxima solicitação, se for menos de 2-4 segundos, você exibe o CAPTACHA, caso contrário, deixe eles vão. Você precisará determinar qual é um intervalo razoável para o seu jogo, servidor e largura de banda.
Você também pode fazer um CAPTACHA "forçado" a cada X vez que uma ação é executada, isso impedirá até mesmo um script automatizado
pause
incorporado, para que não ative o CAPTACHA de tempo limite.fonte
Se os jogadores gastam pontos para atacar outros jogadores e os pontos são limitados, o abuso óbvio me parece ser a criação de várias contas.
Se você conseguir limitar as pessoas a uma única conta, o problema dos bots para mim é que, no sistema, as pessoas podem acioná-las quando estão dormindo ou no trabalho.
Portanto, dadas as restrições: (1) nenhuma vantagem para os bots (2) recompensa as pessoas pelo logon várias vezes por dia
Parece-me que o ideal é limitar o número de ações que eles podem usar durante um dia a um número razoável.
Por exemplo, você pode decidir que alguém pode logar razoavelmente várias vezes durante um período de 8 horas e ajustar o sistema adequadamente. Ou alguém pode checar antes de ir para a escola / trabalho pela manhã, checar quando chegar em casa, checar novamente depois do jantar e checar antes de ir para a cama.
Determine o que seu usuário 'ideal' está fazendo e faça com que o sistema de pontos recompense isso.
Eu construí um sistema que recompensava gastar um monte de pontos de uma só vez. Para fazer isso, eu teria uma taxa de recarga variável nos pontos. Toda vez que você gasta pontos, o tempo de recarga para obter o próximo ponto aumenta ... por isso, se um bot está gastando pontos tão rápido quanto eles, levará mais e mais tempo para obter o próximo, enquanto se uma pessoa gasta tudo no momento em que acumularam durante a noite antes de saírem de casa pela manhã, eles os receberão de volta quando voltarem do trabalho / escola (8 a 12 horas depois).
fonte
Em um jogo, eu recomendaria substituir "captcha" por "mini-jogo de quebra-cabeça". A diferença é o nível de diversão envolvido. Há realmente poucas razões para um captcha em um jogo, a menos que você tenha experimentado um mini-jogo personalizado e que ainda esteja sendo empacotado. Nesse caso, é necessário táticas mais inteligentes.
fonte
Como sugerido por Tchalvak, eu seguiria a rota do 'mini-jogo de quebra-cabeças', mas recompensaria alguns pontos por passá-lo, a fim de torná-lo mais fácil de usar
fonte