jeudi 31 octobre 2013

Les outils externes créés par les joueurs

Une problématique rarement anticipée est celle des outils externes créés par des joueurs de votre communauté. En effet les jeux web étant assez populaires dans la communauté geek travaillant dans l'informatique (développeurs et cie), il n'est pas rare de voir certaines personnes passionnées élaborer des outils sophistiqués. Or de tels outils peuvent parfois un effet néfaste sur le jeu, d'où le besoin de prévoir ce cas de figure et d'élaborer des règles claires dans la charte.


Quelques exemples d'outils


Les joueurs peuvent être à l'initiative d'outils de natures extrêmement variées, on peut citer par exemple :
  • un wiki regroupant des connaissances sur le jeu, son univers, son gameplay, etc
  • un plugin pour navigateur,
  • un site disposant d'un parser permettant d'extraire des données à partir du contenu de votre jeu : logs de combat, position des joueurs, etc.
  • une application pour téléphone mobile,
  • un robot (ou "bot") qui se connecte tout seul au jeu, avec la possibilité parfois de réaliser automatiquement certaines actions (attaquer, se soigner),
  • etc

 

A l'origine, souvent une bonne intention ?


Je pense que ce genre d'outils externes est habituellement le fruit d'une envie d'implication de la part d'un joueur passionné. Ce dernier appréciant votre jeu, il aura envie de l'enrichir à sa façon, en proposant un outil qu'il juge intéressant pour tout joueur. Cela part donc d'une bonne intention. Hélas un joueur n'aura pas toujours les moyens d'anticiper les effets qu'aura son outil sur le jeu, ou bien il ne fera tout simplement pas l'effort d'analyse au préalable... 

Mais il existe évidemment des cas où le créateur de l'outil cherche avant tout de tirer profit de son outil, en obtenant par exemple un avantage sur les autres joueurs. Il va alors le garder pour lui (et ses pairs) sans le rendre publique. Car si tout le monde y avait accès, cela lui ferai perdre l'avantage qu'il en tire, évidemment. J'ai par exemple découvert l'existence de certains outils pour mon jeu des mois, voir des années, après leur création. Il est évident que lorsqu'un petit groupe de joueurs jouit d'un avantage sur d'autres, ils vont faire le nécessaire pour rester très discrets et le préserver au possible...


Impact d'un outil sur le gameplay


Il peut sembler étrange au premier abord d'imaginer qu'un petit outil dont un joueur est à l'origine peut mettre en péril le gameplay d'un jeu. Voici un petit exemple pour illustrer cette problématique.

Vous avez créé un jeu d'assassins orienté autour de la recherche d'une cible : les joueurs évoluent sur une carte et dispose tous du nom d'un joueur à abattre. Sauf qu'ils ne savent normalement pas où cette dernière se trouve et évolue donc dans votre monde à sa recherche. Chaque joueur est donc un chasseur mais aussi une proie (car il est la cible d'un autre joueur), le but étant de tuer sa cible sans se faire tuer auparavant.

Et vient un matin où vous lisez sur votre forum un sujet annonçant la création par un joueur du site ouestmacible.fr. Ce dernier fournit la localisation de chaque joueur dans votre jeu. On entre un nom et la position du joueur s'affiche, magique ! il suffit d'aller le cueillir et récolter les points d'expérience ! 

Logique, les joueurs se frottent les mains, félicitent, remercient le créateur de l'outil. Pour eux, c'est la fin de la galère à rechercher pendant des jours la position de "BGoss92" ou "Le0naBigB0ob5" sur la carte.

 
Oui mais voilà, si chaque joueur a la position de sa cible, vous - créateur - voyez rapidement que le gameplay n'est plus vraiment le même, ce n'est plus ce vous aviez prévu... Sans cet aspect de recherche de la cible, votre jeu a perdu de l'intérêt et risque vite d'entraîner une lassitude et donc des abandons de joueurs. Dans les jeux vidéos, la trop grande facilité d'un gameplay engendre souvent l'ennui et l'abandon.

Dans cet exemple assez simple, on voit bien qu'un outil peut perturbé un gameplay en ajoutant ou supprimant un de ses aspects (ici la recherche de la cible).

Comment ?


Un tel outil est très facile et rapide à faire, il suffit de mettre en commun ce que voit chaque joueur et de créer une base de données dans la quelle on stocke la position de chaque joueur. Chacun voyant une petite partie de la carte, rassembler tous ces morceaux permet de la recomposer entièrement (comme un puzzle). Concrètement, il s'agit de demander aux joueurs de faire régulièrement un copier/coller des joueurs qu'ils voient (la détection) et de le mettre sur le site/outil ouestmacible.fr (via un bête formulaire). 

L'outil, un parser, va analyser la détection (le texte brut issu de votre jeu) et en extraire tous les couples (joueur - position), à la manière d'une expression régulière. Il suffit ensuite de mettre tout cela en base de données avec la date et l'heure (pour la fiabilité de la position dans le temps). Hop, si la majorité des joueurs font ça tous les jours, vous pouvez obtenir pas loin de 100% des positions de manière fiable (à quelques heures près).


Que faire face à un outil indésirable ?


Donner la position de chaque joueur, il est évident que si vous vouliez le faire, il vous suffirait d'une bête requête SQL puisque vous avez déjà tout sous la main, dans votre base de données... si vous ne l'avez pas fait il y avait bien une raison...

Oui mais voilà, maintenant il y a ce satané ouestmacible.fr que tous les joueurs utilisent et apprécient. Dans votre jeu c'est la foire, les joueurs localisant facilement leur cible, certains se font tuer en quelques heures et en ont ras le bol. D'ailleurs il y a déjà quelques posts de râlerie sur le forum...

Mieux vaut prévenir que guérir


Si vous décidez de taper du poing sur la table, ce sera plus facile si vous pouvez vous appuyer sur des règles clairement définies vis à vis des outils externes dans votre charte (à la manière d'un socle pseudo juridique). Il est donc utile, voir indispensable, de prévoir une politique sur le sujet...

Penser à bien définir ce qui est autorisé, toléré et interdit.

 

Vous pouvez par exemple tolérer les outils :
  • dont le code source est publique,
  • qui ne perturbe pas le gameplay et l'équilibrage entre les joueurs,
  • n'a pas d'impact sur la charge du serveur de jeu,
  • ne réalise pas d'actions automatisées en se substituant au joueur,
  • ne stocke pas de données issues du jeu,
  • etc.
Pensez également à mettre en avant les conséquences (sanctions) si il y a violation de la charte (ban, suppression de compte, etc.). Demandez à être consulté avant qu'un outil soit publié, voir même avant son développement.



A l'amiable



Il y a des chances que le créateur de l'outil l'ait fait sans envie de nuire. Il n'est donc pas forcément indispensable de vous braquer et de mener une guerre contre lui directement. En général contacter le joueur de manière calme et posée afin de lui expliquer la situation et le problème que son outil pose peut suffire à arranger la situation. Heureusement d'ailleurs, dans la plupart des cas c'est ainsi que ça se passe...

Selon la nature de l'outil et du problème, vous pouvez essayer de trouver un terrain d'entente. Par exemple demander une modification mineure de l'outil, proposer de le rendre "officiel" et de le rattacher à votre jeu, etc.


Fire with fire


Si les négociations échouent et que le joueur ne veut pas modifier son outil, ce qui peut arriver, le conflit est malheureusement inévitable. Après tout, un outil peut demander des semaines de développement et son auteur pourrait ne pas accepter l'idée de jeter son travail à la poubelle, et ça se comprend. Mais vous ne pouvez pas laisser votre jeu être perturbé voir être mis en péril par un outil ou un site externe.



 


Dans la plupart des cas la solution sera alors technique. Par exemple dans le cas d'un outil de parsing (comme notre cas de ouestmacible.fr) il faudra analyser son fonctionnement afin de l'enrayer. Donc ici rendre impossible la copie de la détection des joueurs car si les joueurs sont prêts à prendre 2s pour faire une copier(depuis le jeu)/coller(dans l'outil), ils ne vont probablement pas prendre le temps de faire la saisie manuellement. Vous pouvez également perturber le parsing en rendant l'affichage plus complexe ou en modifiant fréquemment la manière dont les informations sont affichées, etc. Le but étant de rendre impossible d’extraction des données.

Vous pouvez enfin modifier la charte et déclarer l'utilisation de l'outil comme étant interdite (triche) et susceptible de sanctions, ce qui découragera la majorité des joueurs à l'utiliser. Dans ce cas il faut néanmoins s'attendre à une petite révolte au sein de votre communauté car il est difficile de retirer un outil à des joueurs habitués à l'utiliser (c'est du vécu).

Je n'ai jamais eu besoin d'aller plus loin et de m'intéresser au vrai cadre juridique dans ce genre de cas...


Des risques en tout genre


Contrôler et réguler les outils qui existe c'est indispensable pour préserver votre gameplay (et donc votre jeu) mais c'est également important vis à vis de vos joueurs.

On a vu que certains outils peuvent avoir un imapct sur l'équilibrage et l'équité entre les joueurs.

Demander la publication des codes sources de tout outil permettra par exemple de vérifier qu'il ne contient rien de louche. Ceci afin d'éviter les tentatives de piratage de compte (outil qui récupère en douce certaines informations sur le joueur), d'installation de trojans, de tricherie en tout genre ... Certains joueurs justifient par le terme "espionnage" des actions vraiment très limite et n'hésitent pas à publier des outils avec des backdoors afin de récolter les infos sur les joueurs les utilisant (déjà vu).

Certaines personnes peuvent être tentées d'automatiser certaines actions via des robots. Il est par exemple possible d'envisager un script permettant de se connecter automatiquement au jeu, vérifier les points de vie et de se soigner si besoin. Il existe pas mal d'outils afin d'automatiser des actions sur un site web, normalement ils sont utilisés pour l'intégration continue et les tests dans le milieu professionnel. Au delà de la question de l'équilibrage, si vos 10 000 joueurs utilisent tous un robot qui se connecte automatiquement toutes les 2 minutes, votre serveur ne va pas apprécier et votre bande passante va exploser. 

 

En bref, il vaut mieux garder l’œil ouvert pour vérifier un petit peu ce qui se passe dans votre communauté et les outils qui pourraient y circuler. Cette tâche n'est pas toujours facile à cause de l'aspect transmission "sous le manteau" de certains outils borderline entre les joueurs.

Encouragez et encadrez les initiatives des joueurs, elles aboutissent parfois sur des projets très intéressants (wiki, fansites communautaires, guides, tutoriaux, etc) qui représentent une réelle plus value à votre propre jeu et à sa communauté. Méfiez-vous néanmoins des joueurs peu scrupuleux à leurs outils douteux, et pensez à établir des règles claires dans la charte de votre jeu.

Bon courage ;-)

4 commentaires:

  1. J'ai déjà été confronté à ça, un joueur a créé un script très complet et pointu qui automatise TOUTE la procédure pour gagner la monnaie ingame sur mon jeu.
    Sachant que c'était un jeu de gestion et que seul l'attente ralentissait la progression, ce bot pouvait tourner dans un onglet et s'occupait des upgrades et de récolter le fric ^^

    Je pense que j'ai mal réagi (remise à zéro des comptes qui l'utilisaient après un avertissement avec un script de détection simple client-side) mais cela mettait en lumière de gros défauts de gameplay.

    Cette expérience et cet article me permettront de mieux me préparer et mieux réagir si je sors un autre jeu, mais je ne pense pas qu'il y ait toujours une solution technique pour répondre à ce genre de bots, quand c'est client-side ; en plus j'avais installé un système de tokens qui se renouvellent à chaque requête.

    Un joueur déterminé arrivera toujours à créer un script pas forcément détectable qui améliore plus ou moins la jouabilité à son avantage.

    Merci pour ces billets très intéressants et bonne soirée !

    RépondreSupprimer
    Réponses
    1. Effectivement c'est parfois très dur de détecter et contrer certains bots... D'ailleurs même les gros MMO en client riche du style WoW ont toujours du mal à s'en débarrasser, c'est pour dire... :-p

      Supprimer
  2. Salut,

    Je suis d'accord dans l'ensemble Mais avec un ajout : Et si on inverser l'interdiction de l'outil ? Un exemple concret => Ogame.
    Quelles avantages ont peut en retirer ? Ben une communauté plus active sur le jeu, c'est toujours bon à prendre.

    N'oubliez pas que ces outils vous font de la pub gratuitement, et qu'ils offrent aussi l'avantage de montrer que le jeu est bien actif. Les encourager tout en les modérant peut-être une solution plus que raisonnable.

    Les compromis ont la vie belle dans ce cas, l'autre développeur ne mettra pas les informations que vous jugez critiques, et d'un autre côté vous lui sortez un code plus propre qu'il peut traiter facilement via son site, voir même un bouton qui copie directement le nécessaire pour l'utilisateur. Ou vous le prévenez de toute modification. Bref pour peu d'effort, vous garder un minimum de contrôle si cela marche.

    Personnellement je préfère toujours l'entente, surtout qu'à la base, ce genre de service répond à un réel besoin du joueur.

    RépondreSupprimer
    Réponses
    1. Il y a des outils qui apportent quelque chose au jeu, par exemple j'en ai autorisé certains et je travaille main dans la main avec leurs auteurs. Ils sont même présents sur la homepage. Effectivement cela répond en général aux attentes des joueurs mais parfois cela nuit au gameplay donc il vaut mieux en interdire certains... Enfin, il faut voir au cas par cas en somme.

      Supprimer