Jogo baseado em navegador persistente: Captcha ou não Captcha?

12

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.

Stephen
fonte
1
Re Atualização # 2: Seu objetivo descrito no seu sistema de pontos, simplificado: "Quero recompensar jogadores que jogam pelo menos 2,4 vezes por dia, em média." Por quê? Por que você se importa se eles tocam 2,4 vezes por dia em vez de apenas uma vez? Você diz: "Quero recompensar os jogadores que gostam do meu jogo", mas, se eu entrar 5 vezes por dia ou apenas uma vez, isso não é uma medida do quanto eu gosto do seu jogo. Considere o que você está realmente fazendo aqui e por que está fazendo. Em seguida, encontre uma maneira diferente de fazê-lo, para que você não precise criar um sistema de pontos 2,4 vezes ao dia que INCENTIVA seus jogadores a fazer bot.
Doppelgreener
1
Espero que você realmente reconheça que, ao exigir 2,4 visitas / dia para jogar da melhor maneira, você está incentivando o bot, já que muitas pessoas não podem assumir esse compromisso. Nem é necessário: você não consegue nada além de bots e alienação de jogadores em potencial! Considere Kingdom of Loathing, um jogo fenomenalmente bem-sucedido que oferece 40 turnos / dia (aumentável com itens). Com um limite de 200, você pode esperar até 5 dias por vez. Kingdom of Chaos faz algo semelhante. Nem dê nenhuma recompensa em particular por jogar com frequência, mas ambos têm jogadores que efetuam login várias vezes por dia, independentemente.
Doppelgreener
@ Jonathan: Geralmente, o motivo pelo qual você se importa se as pessoas acessam x vezes por dia, em média, é que é isso que você precisa para tornar seu jogo lucrativo com base nas taxas de publicidade que você tem. A estratégia de monetização da KoL é a compra dentro do jogo, o que não se aplica.
1
@ Joe: Eu consideraria uma estratégia alternativa de publicidade / monetização, tendo em mente que, quando não alienar os jogadores, posso realmente exibir mais publicidade em geral devido à maior população de jogadores. Se meu jogo for desenvolvido com sucesso, aqueles que o visitariam várias vezes por dia o farão de qualquer maneira - porque eles gostam do jogo e optam por não, porque a mecânica do jogo os pressiona de maneira transparente a fazê-lo (nota: isso significa que Stephen está não vai ser gratificante "aquelas pessoas que como o meu jogo tanto" , apenas "aqueles em quem a minha pressão obras mecânico" )
doppelgreener

Respostas:

8

"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
1
Muito bom insight! turnos por dia é enganosa, e isso foi culpa minha. Vou atualizar a pergunta para elaborar.
Stephen
Quanto mais eu penso sobre isso, mais eu gosto. Vou ter que pensar um pouco mais, e deixar a pergunta surgir um pouco aqui.
Stephen
1
Como exemplo, os sistemas de combate automatizados da KolMafia foram tão genuinamente úteis que eles realmente integraram um sistema de macro de combate ao jogo real.
Coderanger 24/09/10
Lembro que no RuneScape existem perguntas simples feitas por um gênio; se você as acertar, ele lhe dá um presente.
Jonathan Connell
3

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!

o0 '.
fonte
1
"idealmente, um jogo não deve dar vantagem a um bot estúpido", um bom conselho +1
Stephen
Bons conselhos, mas inatingíveis pela humanidade?
Kzqai
Totalmente viável, você só precisa criar um design de jogo real, em vez de codificar coisas aleatórias. Custos de qualidade.
o0 '.
2

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 pauseincorporado, para que não ative o CAPTACHA de tempo limite.

Nate
fonte
Certo. Todas essas são idéias válidas para tornar o CAPTCHA mais fácil de usar e, é claro, eu implementaria conceitos como esses se seguisse a rota do CAPTCHA. O que estou procurando são boas alternativas, se houver alguma.
Stephen
Escreva seu jogo no Flash ou no Silverlight para que um bot tenha mais dificuldade em controlar remotamente seu aplicativo?
Nate
Eu não sei muito sobre isso, mas o KingsOfChaos.com tem um sistema muito semelhante ao seu (pontos / turnos a cada minuto), você pode ver como eles o implementam.
Nate
2

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).

Rick
fonte
Eu nunca pensei em uma taxa de recarga variável com base no uso. Isso soa genial à primeira vista. Vou ter que pensar sobre isso. TBH, isso recompensa o jogador casual e pune o jogador hardcore / duro, então eu não sei.
Stephen
2

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.

Kzqai
fonte
1

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

Edward Black
fonte