Juego basado en el navegador persistente: ¿Captcha o no Captcha?


12

He estado trabajando (de vez en cuando) en un pbbg que es bastante antiguo. Si alguna vez has jugado Carnage Blender, entonces tienes la idea.

Si no, es una idea simple que se ha hecho mucho: a un jugador se le asigna un cierto número de "puntos" cada día, y gasta esos puntos para atacar a otros jugadores. Los puntos se acumulan con el tiempo, hasta cierto límite.

El sistema de puntos está diseñado para evitar que los triunfadores superen por completo a los jugadores casuales.

En el caso de la licuadora de carnicería, un sistema CAPTACHA evita que un usuario "juegue" el sistema con un bot o un script diseñado para usar todos sus puntos cada día con un mínimo esfuerzo. De vez en cuando se muestra un CAPTCHA aleatorio, y si no se pasa, el usuario será suspendido por una hora.

Lo que me pregunto es cómo hacer que esto sea más fácil de usar para mi juego. Reconozco que debo evitar un mal comportamiento como este, y podría fácilmente adoptar el mismo enfoque CAPTCHA, pero ¿existe una alternativa más amigable para el usuario?

La investigación inicial descubrió ASIRRA por Microsoft, pero el ambiente esponjoso / lindo no funciona bien con mi tema de juego previsto.

ACTUALIZACIÓN
Lo que más me interesa son alternativas al CAPTCHA estándar de "deletrear esta palabra". Quiero tratar de mantener el juego lo más ininterrumpido posible para los buenos jugadores.

He visto lo que llamo CAPTCHA de uso único, como preguntarle a un usuario "¿qué es cinco más seis menos dos?" Pero esto requeriría demasiado esfuerzo compilar una base de datos de preguntas lo suficientemente grande como para frustrar a los usuarios maliciosos. Especialmente porque el CAPTCHA está destinado a usarse con tanta frecuencia.

ACTUALIZACIÓN # 2
Como Joe Wreschnig señaló en su respuesta, tener un sistema CAPTCHA para limitar que los bots jueguen más rápido que los humanos es un poco redundante si los turnos son limitados por día. No expliqué mi sistema de puntos al pie de la letra, y fue mi culpa. En realidad, se acumulan 10 o 20 puntos cada pocos minutos, y terminan en 200. Por lo tanto, un jugador muy competitivo podría regresar cada pocas horas y usar sus puntos. Quiero recompensar a aquellas personas a las que les gusta tanto mi juego que regresan con tanta frecuencia. Si les impido jugar hasta el día siguiente cuando obtengan sus puntos, estaría rechazando a los jugadores que de otra forma estarían disfrutando de mi juego web. Esto evita que un jugador gaste puntos constantemente mientras le da algunos puntos cada pocos minutos.

Esto está abierto al abuso.


1
Actualización # 2: su objetivo descrito de su sistema de puntos, simplificado: "Quiero recompensar a los jugadores que juegan al menos 2,4 veces al día en promedio". ¿Por qué? ¿Por qué te importa si juegan 2.4 veces al día en lugar de solo una vez? Dices "Quiero recompensar a los jugadores que les gusta mi juego", pero si inicio sesión 5 veces al día o solo una vez, eso no es una medida de cuánto me gusta tu juego. Considera lo que realmente estás haciendo aquí y por qué lo estás haciendo. Luego, encuentra una forma diferente de hacerlo para que no tengas que idear un sistema de puntos de 2.4 veces al día que ALIENTE a tus jugadores a bot.
Doppelgreener

1
Espero que realmente reconozcas que al requerir 2.4 visitas / día para un juego óptimo , estás alentando el botting ya que muchas personas no pueden hacer ese compromiso. Ni siquiera es necesario: no consigues nada más que bots y alienación de jugadores potenciales Considera Kingdom of Loathing, un juego fenomenalmente exitoso que te da 40 turnos / día (potenciable con elementos). Con un límite de 200, puede esperar hasta 5 días a la vez. Kingdom of Chaos hace algo similar. Ninguno de los dos ofrece una recompensa particular por jugar con frecuencia, pero ambos tienen jugadores que inician sesión varias veces al día, independientemente.
doppelgreener

@ Jonathan: por lo general, la razón por la que te importa si las personas inician sesión x veces al día en promedio es que eso es lo que necesitas para que tu juego sea rentable en función de las tarifas publicitarias que tienes. La estrategia de monetización de KoL son las compras en el juego, por lo que eso no se aplica.

1
@ Joe: Consideraría una estrategia alternativa de publicidad / monetización, teniendo en cuenta que cuando no enajeno a los jugadores, en realidad podría mostrar más publicidad en general debido a la mayor población de jugadores. Si mi juego está diseñado con éxito, los que lo visitarían varias veces al día lo harán de todos modos , porque les gusta el juego y lo eligen, no porque la mecánica del juego los esté presionando de manera transparente para que lo hagan (nota: esto significa que Stephen está no va a ser gratificante para "aquellas personas a las que les gusta mucho mi juego" , solo "aquellas en las que trabaja mi mecánica de presión" )
doppelgreener

Respuestas:


8

"¿Hay una alternativa más amigable para el usuario?"

¿Una alternativa más fácil de usar con qué fin? ¿Cuál es el captcha diseñado para lograr en su sistema?

Parece que está diseñado para evitar bots, bajo la premisa de que los bots pueden jugar "más rápido" que los jugadores normales. Pero también ha limitado la cantidad de acciones que un usuario puede tomar por día, lo que logra el mismo objetivo. Entonces el captcha parece redundante.

Te animo a que mires los frentes alternativos de Kingdom of Loathing . Utiliza un sistema similar de turnos por día, y tiene varios frontends alternativos populares como KoLmafia , que en muchos sentidos no se pueden distinguir de "botar" el juego. La mayoría de los jugadores sienten que estos se suman al juego, en lugar de eliminarlo, incluso para jugadores casuales. Facilitan las acciones por lotes, automatizan algunas de las partes más lentas y ofrecen más opciones para la interfaz de usuario en el juego.

Si ya tienes controles en tu juego para asegurarte de que las IA no pueden simplemente jugar más rápido que los humanos, y al tener turnos por día, tienes ese control, entonces te sugiero que intentes fomentar la automatización de tu juego, como si tu diseño fuera equilibrado, solo puede mejorar la experiencia del jugador.


1
Muy buena idea! los giros por día son engañosos, y fue mi culpa. Actualizaré la pregunta para elaborar.
Stephen

Cuanto más pienso en esto, más me gusta. Tendré que pensarlo un poco más y dejar que la pregunta se desarrolle aquí un poco.
Stephen

1
Como ejemplo, los sistemas de combate automatizados de KolMafia fueron tan genuinamente útiles que realmente integraron un macro sistema de combate en el juego real.
coderanger

Recuerdo en RuneScape que hay preguntas simples hechas por un Genio, si las respondes bien, te dará un regalo.
Jonathan Connell

3

Nunca me molestaría en jugar un juego que requiera captchas: son realmente una práctica terrible que debería evitarse.

Tu juego parece tener problemas más profundos que eso de todos modos: idealmente, un juego no debería dar ninguna ventaja a un bot estúpido, por lo que sería inútil usar un bot estúpido en primer lugar. Si no puede lograrlo, ese es un problema de diseño que no tendrá una solución real, solo soluciones alternativas más o menos válidas.

Con "bot estúpido" me refiero a bots que no toman ninguna decisión significativa y en su lugar simplemente "cultivan" (eso es lo que sucede aquí). Los bots inteligentes (como los aim-bots o los juegos de ajedrez) son un asunto completamente diferente.

Aún así, suponiendo que te sientas cómodo con la idea de hacer un juego con fallas de diseño, todavía hay espacio para mejoras.

Acepte el hecho de que no puede detener un bot realmente determinado y, en cambio, concéntrese en lo único que puede hacer: hacer que sea inútil usar un bot. Si las personas no tienen ninguna razón para usar un bot ... no los usarán (y si lo hacen de todos modos, no importará).

Una posible solución es permitir un inicio de sesión por semana en lugar de uno por día. Si las personas se olvidan de iniciar sesión durante más de una semana, es poco probable que estén realmente interesados ​​en jugar de todos modos, por lo que no usarán bots para seguir ganando créditos. Si, por otro lado, hay alguien tan jodido que hace un bot que se conecta una vez a la semana y luego regresa tres meses después para atacar a personas al azar, bueno, acabas de encontrar a alguien tan decidido que de todos modos te habría descifrado, lo que sea sistema que eligió (a menos que elija un sistema no defectuoso, por supuesto).

pd: ¡no cometas el error de poner más esfuerzo en solucionar defectos de diseño y luego resolverlos en primer lugar!


1
"Idealmente, un juego no debería dar ventaja a un estúpido bot", buen consejo +1
Stephen

¿Un buen consejo, pero no alcanzable por la humanidad?
Kzqai

Totalmente alcanzable, solo tienes que hacer un diseño de juego real en lugar de codificar cosas al azar. Costos de calidad.
o0 '.

2

No prohibiría un CAPTACHA fallido durante una hora, eso parece duro, simplemente evitaría que avancen hasta que completen con éxito el CAPTACHA y permitan que se muestre una nueva imagen de CAPTACHA.

También solo mostraría el captcha si realizaban solicitudes demasiado rápido, almacenaba un DateTime en cada solicitud y luego lo comparaba con la siguiente solicitud, si es inferior a 2-4 segundos, muestra el CAPTACHA, de lo contrario, deje ellos se van. Tendrá que determinar qué intervalo razonable es para su juego, servidor y ancho de banda.

También puede hacer un CAPTACHA "forzado" cada X veces que se realiza una acción, esto evitará incluso un script automatizado con un pauseincorporado para que no active el límite de tiempo CAPTACHA.


Correcto. Todas estas son ideas válidas para hacer que un CAPTCHA sea más fácil de usar y, por supuesto, implementaría conceptos como estos si sigo la ruta CAPTCHA. Lo que estoy buscando son buenas alternativas, si las hay.
Stephen

Escribe tu juego en Flash o Silverlight de tal manera que un bot tenga más dificultades para controlar tu aplicación de forma remota.
Nate

No sé mucho al respecto, pero KingsOfChaos.com tiene un sistema muy similar al tuyo (puntos / vueltas cada minuto), puedes ver cómo lo implementan.
Nate

2

Si los jugadores gastan puntos para atacar a otros jugadores y los puntos son limitados, me parece que el abuso obvio es crear varias cuentas.

Si logras limitar con éxito a las personas a una sola cuenta, entonces el problema con los bots para mí sería que, bajo tu sistema, las personas pueden despedirlos cuando están dormidos o en el trabajo.

Entonces, dadas las limitaciones: (1) ninguna ventaja para los bots (2) recompensa a las personas por iniciar sesión varias veces al día

Me parece que lo ideal es limitar el número de acciones que pueden usar durante un día a un número razonable.

Por ejemplo, podría decidir que alguien podría iniciar sesión razonablemente varias veces durante un período de 8 horas y ajustar el sistema de manera adecuada. O alguien podría verificarlo antes de ir a la escuela / trabajo por la mañana, verificarlo cuando lleguen a casa, verificarlo nuevamente después de la cena y verificarlo antes de acostarse.

Determine qué está haciendo su usuario 'ideal' y luego haga que el sistema de puntos lo recompense.


Construiría un sistema que recompensara gastar una gran cantidad de puntos de una sola vez. Para hacer esto, tendría una tasa de recarga variable en los puntos. Cada vez que gastas puntos, el tiempo de recarga para obtener el siguiente punto aumenta ... así que si un bot gasta puntos tan rápido como los obtiene, tomará más y más tiempo obtener el siguiente, mientras que si una persona gasta todo En el momento en que acumularon durante la noche antes de salir de la casa por la mañana, los habrán recuperado para cuando lleguen a casa del trabajo / escuela (8-12 horas más tarde).


Nunca pensé en una tasa de recarga variable basada en el uso. Eso suena genial a primera vista. Tendré que pensar en eso. TBH, recompensa al jugador casual y castiga al jugador duro / duro, así que no sé.
Stephen

2

En un juego, recomendaría reemplazar "captcha" por "mini-juego de rompecabezas". La diferencia es el nivel de diversión involucrado. Realmente hay pocas razones para un captcha en un juego, a menos que hayas probado un minijuego personalizado y que todavía esté siendo botado. En cuyo caso, haga falta tácticas más inteligentes.


1

Según lo sugerido por Tchalvak, iría a la ruta del 'minijuego de rompecabezas', sin embargo, recompensaría algunos puntos por pasarlo para hacerlo más fácil de usar

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.