Jeu basé sur un navigateur persistant: vers Captcha ou non vers Captcha?

12

Je travaille (de temps en temps) sur un pbbg qui est assez old school. Si vous avez déjà joué à Carnage Blender, vous avez l'idée.

Sinon, c'est une idée simple qui a été beaucoup faite: un joueur se voit attribuer un certain nombre de "points" chaque jour, et dépense ces points pour attaquer d'autres joueurs. Les points s'accumulent au fil du temps, jusqu'à un certain plafond.

Le système de points est conçu pour empêcher les sur-performants de dépasser complètement les joueurs occasionnels.

Dans le cas du mélangeur carnage, un système CAPTACHA empêche un utilisateur de "jouer" le système avec un bot ou un script conçu pour utiliser tous ses points chaque jour avec un minimum d'effort. De temps en temps un CAPTCHA aléatoire est affiché, et s'il n'est pas passé, l'utilisateur sera suspendu pendant une heure.

Ce que je me demande, c'est comment rendre cela plus convivial pour mon jeu. Je reconnais que je dois éviter les mauvais comportements comme celui-ci, et je pourrais facilement adopter la même approche CAPTCHA, mais existe-t-il une alternative plus conviviale?

La recherche initiale a révélé ASIRRA par Microsoft, mais l'ambiance moelleuse / mignonne ne fonctionne pas bien avec le thème de mon jeu.

MISE À JOUR
Ce qui m'intéresse le plus, ce sont les alternatives au CAPTCHA standard "épelez ce mot". Je veux essayer de garder le jeu aussi ininterrompu que possible pour les bons joueurs.

J'ai vu ce que j'appelle des CAPTCHA à usage unique, comme demander à un utilisateur "qu'est-ce que cinq plus six moins deux?" Mais cela nécessiterait trop d'efforts pour compiler une base de données de questions suffisamment grande pour déjouer les utilisateurs malveillants. D'autant plus que le CAPTCHA est destiné à être utilisé si souvent.

MISE À JOUR # 2
Comme Joe Wreschnig l'a souligné dans sa réponse, avoir un système CAPTCHA pour empêcher les bots de jouer plus vite que les humains est un peu redondant si les tours sont limités par jour. Je n'ai pas expliqué mon système de points à la lettre, et c'était ma faute. En réalité, 10 ou 20 points s'accumulent toutes les quelques minutes et plafonnent à 200. Ainsi, un joueur très compétitif pourrait revenir toutes les quelques heures et utiliser ses points. Je veux récompenser les gens qui aiment tellement mon jeu qu'ils reviennent si souvent. Si je les empêche de jouer jusqu'au lendemain quand ils obtiennent leurs points, je repousserais des joueurs qui autrement profiteraient de mon jeu en ligne. Cela empêche un joueur de dépenser constamment des points tout en lui accordant quelques points toutes les quelques minutes.

C'est ouvert aux abus.

Stephen
la source
1
Re Update # 2: Votre objectif décrit de votre système de points, simplifié: "Je veux récompenser les joueurs qui jouent en moyenne au moins 2,4 fois par jour." Pourquoi? Pourquoi vous en souciez-vous s'ils jouent 2,4 fois par jour au lieu d'une seule fois? Vous dites "je veux récompenser les joueurs qui aiment mon jeu", mais que je me connecte 5 fois par jour ou juste une fois, ce n'est pas une mesure de combien j'aime votre jeu. Réfléchissez à ce que vous faites réellement ici et pourquoi vous le faites. Ensuite, trouvez une manière différente de le faire afin que vous n'ayez pas à trouver un système de points 2,4 fois par jour qui ENCOURAGE vos joueurs à bot.
doppelgreener
1
J'espère que vous reconnaissez vraiment que , en exigeant 2,4 visites / jour pour le jeu optimal vous êtes encouragerez BOTTING car beaucoup de gens ne peuvent pas prendre cet engagement. Ce n'est même pas nécessaire: vous n'obtenez rien d'autre que des bots et l'aliénation de joueurs potentiels! Considérez Kingdom of Loathing, un jeu au succès phénoménal qui vous donne 40 tours / jour (boostable avec des objets). Avec un plafond de 200, vous pouvez attendre jusqu'à 5 jours à la fois. Kingdom of Chaos fait quelque chose de similaire. Aucun ne donne de récompense particulière pour un jeu fréquent, mais les deux ont quand même des joueurs qui se connectent plusieurs fois par jour.
doppelgreener
@Jonathan: Habituellement, la raison pour laquelle vous vous souciez si les gens se connectent x fois par jour en moyenne est que c'est ce dont vous avez besoin pour rentabiliser votre jeu en fonction des tarifs publicitaires que vous avez. La stratégie de monétisation de KoL consiste en des achats dans le jeu, donc cela ne s'applique pas.
1
@Joe: Je considérerais alors une stratégie alternative de publicité / monétisation, en gardant à l'esprit que lorsque je n'aliénerais pas les joueurs, je pourrais afficher plus de publicité dans l'ensemble en raison de la population de joueurs plus élevée. Si mon jeu est conçu avec succès, ceux qui se visite plusieurs fois par jour sera le faire de toute façon - parce qu'ils aiment le jeu et ils choisissent, non pas parce que les mécanismes de jeu sont les pressions sur la transparence en faisant (note: ce moyen Stephen est ne va pas récompenser "ceux qui aiment tellement mon jeu" , juste "ceux sur qui travaille mon mécanicien de pression" )
doppelgreener

Réponses:

8

"existe-t-il une alternative plus conviviale?"

Une alternative plus conviviale à quelle fin? Quel est le captcha conçu pour réaliser dans votre système?

On dirait qu'il est conçu pour empêcher l'embouteillage, en supposant que les bots peuvent jouer "plus vite" que les joueurs réguliers. Mais vous avez également déjà plafonné le nombre d'actions qu'un utilisateur peut entreprendre par jour, ce qui permet d'atteindre le même objectif. Le captcha semble donc redondant.

Je vous encourage à regarder les interfaces alternatives de Kingdom of Loathing . Il utilise un système de tours par jour similaire et dispose de plusieurs frontaux alternatifs populaires tels que KoLmafia , qui sont à bien des égards indiscernables de "mettre en bouteille" le jeu. La plupart des joueurs estiment que ceux-ci s'ajoutent au jeu, plutôt qu'ils ne le retranchent, même pour les joueurs occasionnels. Ils facilitent les actions par lots, automatisent certaines des parties les plus lentes et offrent plus d'options pour l'interface utilisateur dans le jeu.

Si vous avez déjà des contrôles dans votre jeu pour vous assurer que les IA ne peuvent pas simplement jouer plus vite que les humains - et en effectuant des tours par jour, vous avez un tel contrôle - alors je vous suggère d'essayer d' encourager l' automatisation de votre jeu, comme si votre conception était équilibré, il ne peut qu'améliorer l'expérience du joueur.


la source
1
Très bon aperçu! le nombre de tours par jour est trompeur, et c'était ma faute. Je mettrai à jour la question pour développer.
Stephen
Plus j'y pense, plus je l'aime. Je vais devoir y réfléchir un peu plus et laisser la question se développer un peu ici.
Stephen
1
Par exemple, les systèmes de combat automatisés de KolMafia étaient tellement utiles qu'ils ont en fait intégré un système de macro de combat dans le vrai jeu.
coderanger
Je me souviens sur RuneScape qu'il y a des questions simples posées par un Génie, si vous les comprenez bien, il vous fait un cadeau.
Jonathan Connell
3

Je ne prendrais jamais la peine de jouer à un jeu qui exige des captchas: c'est vraiment une terrible pratique à éviter.

Votre jeu semble avoir des problèmes plus profonds que cela de toute façon: idéalement, un jeu ne devrait donner aucun avantage à un bot stupide, de sorte qu'il serait inutile d'utiliser un bot stupide en premier lieu. Si vous ne pouvez pas y parvenir, c'est un problème de conception qui n'aura pas de vraie solution, seulement des solutions de contournement plus ou moins valides.

Avec "bot stupide", je veux dire des bots qui ne prennent aucune décision significative et au lieu de cela "ferme" (c'est ce qui se passe ici). Les robots intelligents (tels que les robots de but ou les robots d'échecs) sont une tout autre affaire.

Néanmoins, en supposant que vous soyez à l'aise avec l'idée de créer un jeu défectueux, il y a encore place à amélioration.

Acceptez le fait que vous ne pouvez pas arrêter un bot vraiment déterminé et concentrez-vous plutôt sur la seule chose que vous pouvez faire: rendre inutile l'utilisation d'un bot. Si les gens n'ont aucune raison d'utiliser un bot ... ils ne les utiliseront pas (et s'ils le font de toute façon, cela n'aura pas d'importance).

Une solution possible consiste à autoriser une connexion par semaine au lieu d'une par jour. Si les gens oublient de se connecter pendant plus d'une semaine, ils ne seront probablement pas vraiment intéressés à jouer, de sorte qu'ils n'utiliseront pas de bots pour continuer à gagner des crédits. Si, d'autre part, il y a quelqu'un de si foutu qui fait un bot qui se connecte une fois par semaine et revient ensuite trois mois plus tard pour attaquer des gens au hasard, eh bien, vous venez de trouver quelqu'un de si déterminé qui vous aurait fendu de toute façon, peu importe système que vous avez choisi (sauf si vous avez choisi un système sans défaut, bien sûr).

ps: ne commettez pas l'erreur de consacrer plus d'efforts aux défauts de conception de contournement que de les résoudre en premier lieu!

o0 '.
la source
1
"Idéalement, un jeu ne devrait donner aucun avantage à un bot stupide", bon conseil +1
Stephen
Un bon conseil, mais impossible à atteindre par l'humanité?
Kzqai
Totalement réalisable, il vous suffit de faire une conception de jeu réelle au lieu de coder des choses aléatoires. Coûts de qualité.
o0 '.
2

Je n'interdirais pas un CAPTACHA échoué pendant une heure, ce qui semble dur, je les empêcherais simplement d'avancer jusqu'à ce qu'ils terminent avec succès le CAPTACHA et permettent qu'une nouvelle image CAPTACHA soit affichée.

Je n'afficherais également le captcha que s'ils font des demandes trop rapidement, je stockais le a DateTime sur chaque demande, puis le comparais à la demande suivante, si c'est moins de 2-4 secondes, vous affichez le CAPTACHA, sinon laissez ils vont. Vous devrez déterminer l'intervalle raisonnable pour votre jeu, votre serveur et votre bande passante.

Vous pouvez également faire un CAPTACHA "forcé" toutes les X fois qu'une action est effectuée, cela empêchera même un script automatisé avec un pauseintégré afin qu'il ne déclenche pas le délai CAPTACHA.

Nate
la source
Droite. Ce sont toutes des idées valables pour rendre un CAPTCHA plus convivial, et bien sûr, je mettrais en œuvre des concepts tels que ceux-ci si je prends la route CAPTCHA. Ce que je recherche, ce sont de bonnes alternatives, s'il y en a.
Stephen
Écrivez votre jeu en Flash ou Silverlight de telle sorte qu'un bot aura plus de mal à contrôler à distance votre application?
Nate
Je ne sais pas grand-chose à ce sujet, mais KingsOfChaos.com a un système très similaire au vôtre (points / tours toutes les minutes), vous pouvez voir comment ils le mettent en œuvre.
Nate
2

Si les joueurs dépensent des points pour attaquer d'autres joueurs et que les points sont limités, l'abus évident me semble être de créer plusieurs comptes.

Si vous réussissez à limiter les gens à un seul compte, le problème avec les bots serait que, sous votre système, les gens peuvent les renvoyer lorsqu'ils dorment ou au travail.

Donc, étant donné les contraintes: (1) aucun avantage pour les robots (2) récompenser les gens qui se connectent plusieurs fois par jour

Il me semble que l'idéal est de limiter le nombre d'actions qu'ils peuvent utiliser au cours d'une journée à un nombre raisonnable.

Par exemple, vous pouvez décider que quelqu'un peut raisonnablement se connecter plusieurs fois sur une période de 8 heures et modifier le système de manière appropriée. Ou quelqu'un pourrait le vérifier avant d'aller à l'école / au travail le matin, le vérifier à son retour à la maison, le vérifier à nouveau après le dîner et le vérifier avant d'aller se coucher.

Déterminez ce que fait votre utilisateur «idéal», puis faites en sorte que le système de points récompense cela.


Je construisais un système qui récompensait la dépense d'un bloc de points en une seule fois. Pour ce faire, j'aurais un taux de recharge variable sur les points. Chaque fois que vous dépensez des points, le temps de recharge pour obtenir le prochain point augmente ... donc si un bot dépense des points aussi vite qu'il les obtient, il faudra de plus en plus longtemps pour obtenir le suivant, alors que si une personne dépense tout le point qu'ils ont accumulé pendant la nuit avant de quitter la maison le matin, ils les auront tous récupérés au retour du travail / de l'école (8-12 heures plus tard).

Meule
la source
Je n'ai jamais pensé à un taux de recharge variable en fonction de l'utilisation. Cela semble génial à première vue. Je vais devoir y penser. TBH, cela récompense en quelque sorte le joueur occasionnel et punit le joueur hardcore / die hard, donc je ne sais pas.
Stephen
2

Dans un jeu, je recommanderais de remplacer "captcha" par "mini-jeu de puzzle". La différence étant le niveau de plaisir impliqué. Il y a vraiment peu de raisons pour un captcha dans un jeu à moins que vous n'ayez essayé un mini-jeu personnalisé et qu'il soit toujours en bouteille. Dans ce cas, cela nécessite des tactiques plus intelligentes.

Kzqai
la source
1

Comme suggéré par Tchalvak, j'irais dans la voie du «mini-jeu de puzzle», mais je récompenserais quelques points pour l'avoir réussi afin de le rendre plus convivial

Edward Black
la source