Forums » [rYY] Finale Tournoi Ying Yang #5 (Round #38284):

dabYo
dabYo
dYeu du mµmµ

[rYY] Finale Tournoi Ying Yang #5 (Round #38284)

Lors du round de la finale du Tournoi Ying Yang #5 l'équipe "Toi tu va me VC" a signalé avoir subit un dysfonctionnement concernant l'utilisation des objets du joueur punkosama. En cliquant dessus le NFC aurait répondu "objet inexistant".

Comme il s'agit d'une rencontre importante, j'en profite pour inaugurer un forum qui servira de compte rendu pour tous les signalements méritant considération.




les règles a écrit:

En cas d'anomalie, de comportement inattendu ou de bug de la part du système, chaque équipe doit continuer de jouer comme si cela n'avait pas eu lieu. Ce problème doit ensuite être signalé au plus tôt à l'équipe adverse ainsi qu'à un administrateur par message privé avec un titre explicite.

1) Est ce un dysfonctionnement ?

Comme c'est un message d'erreur, il n'y a pas de log ou de message écrit sur le serveur attestant de la demande. Il faut donc déterminer s'il est possible que cela se produise dans des conditions normales d'utilisation: en suivant les fournis par le NFC pour utiliser les objets au moment de l'utilisation (pas de "mettre en favoris" ou autre donc).

A priori ce bug a été signalé auparavant, qu'une et unique fois par Obin pour le round #37387. Son signalement suit exactement dans les mêmes conditions que le signalement de punkosama (inaction dû à l'impossibilité de prendre l'objet). Je n'avais pas réussi à démontrer que ce bug pouvait venir du site et pas du joueur, du coup, la solution adoptée avait été de demander l'accord à l'équipe adverse pour rejouer. (ce qu'ils ont refusé, considérant que le joueur adverse mentait et/ou s'arrangeait avec la vérité)

Deux signalements assez "loufoques" restent quand même assez inquiétant, et comme le dicton le dit, il n'y a souvent pas de fumée sans feu. Aussi j'ai retenté de trouver la raison d'un tel dysfonctionnement. En suivant cette fois une autre piste pour détecter le problème: considérer que le code qui s'occupe de l'utilisation des objets est complètement foireux. Pour saisir tout il faut comprendre comment cela se passe pour n'importe quel jeu du type de WoN: chaque joueur, objet, a un identifiant unique qui permet de l'identifier.

Donc quand un joueur va voir ses objets pour les utiliser, le NFC génère un lien qui lui permet d'utiliser l'objet en question. Chaque lien est différent car il comporte un identifiant différent pour chaque objet. Pour des raisons de sécurité, l'identifiant de l'objet n'est pas directement mis, mais il est codé afin de ne pas pouvoir être deviné/falsifié. Un peu comme quand vous faites un message codé où vous changez les lettres.

Bref, il y a donc une fonction "mathématique" qui vise à coder les identifiants. En gros, cela fait comme suit:
   

Code:

    encodage(id_objet, id_joueur) = id_objet_encodé
    decodage(id_objet_encodé, id_joueur) = id_objet

Avec des valeurs prises au hasard cela donnerait quelque chose du genre:   
   

Code:

    id_objet = 5
    id_joueur = 3923049
    
    encodage(5, 3923049) = 1403940394
    decodage(1403940394, 3923049) = 5

Les deux fonctions (encodage/décodage) doivent donc suivre la définition suivante:

Code:

    decodage(encodage(x, y), y) = x

Pour que les chiffres soient aléatoires il faut mettre des petites astuces qui font que ça n'est pas une fonction mathématiques pure et dure... et qu'elle peut s'avérer imparfaite. Si vous avez fait des maths à un niveau assez haut, vous savez que pour définir des variables il faut dire sur quel ensemble la variable est définie (R, Z, N, etc...)

Mon intuition était que si la méthode était parfaite lorsque je l'ai réalisée il y a quelques années, avec l'évolution des identifiants des joueurs (à chaque round le chiffre augmente de 8, les objets de 32... il y a eu plus de 30000 rounds!). J'ai donc fait des tests sur les plages d'identifiants concernant le round de la finale.

La méthodologie est la suivante: pour chaque joueur, essayer entre 50 et 500 fois de faire le calcul d'encodage/décodage pour chaque objet existant dans le round, et à chaque fois vérifier que la relation mathématique est conservée. En théorie 100% des tentatives devraient réussir.

Les résultats sont disponibles à cette adresse: https://docs.google.com/spreadsheet/ccc … sp=sharing

Comme on peut le voir, suivant l'identifiant du joueur, le bug a plus ou moins souvent lieu. L'identifiant 279704 aurait eu des chances d'avoir des bugs sur 100% des objets.

Il est logique que le bug n'ait pas toujours lieu vu que c'est un méthode avec de l'aléatoire, le résultat est donc différent à chaque actualisation, il est donc possible d'être potentiellement affecté par le bug sans jamais le voir. Seul Punkosama sur le round avait le problème sur la quasi totalité des objets.

Il y a donc bien eu un dysfonctionnement (pour info: il a été corrigé hier vers 17h)




les règles a écrit:

La présence d'une anomalie, d'un bug ou d'un comportement inattendu n'entraînera pas le rejeu systématique de la rencontre.

2) Ce dysfonctionnement a t'il influencé la rencontre ?

Déjà le problème a eu lieu très tôt dans la rencontre, à la 5ème minute avant tout meurtre. Donc on peut dire que si il a une influence il a possiblement changé la rencontre (attention, ça ne veut pas dire qu'il aurait forcément changé le résultat, personne ne peut le savoir).

Punkosama n'a pu prendre son saké qu'à la minute qui suit (6ème).

Soit on ne croit PAS l'équipe, alors on peut penser qu'elle avait prévu de prendre le saké puis de faire une DA à 3 joueurs à la minute qui suit, alors il est donc fort probable qu'il n'aurait pas pu s'en servir pour autant. Reste qu'il a perdu une action ce qui a forcément un impact sur le jeu et la pression exercée aussi tôt dans le jeu. (sur cette hypothèse l'impact est moindre)

Soit on croit l'équipe, qu'ils avaient à la base prévu un changement de cible, alors ils auraient pris le saké et fait une spé en DA, le saké ne pouvait pas être contré et le joueur ciblé était bel et bien mort. (j'ai vérifié) On pourra seulement constater que l'équipe adverse les a félicité pour leur "changement de cible", ce qui sous entend que la cette hypothèse est possible puisque l'équipe aurait l'habitude de changer de cible.

Conclusion: l'action est trop tôt dans le temps pour pouvoir conclure quel aurait été le résultat dans le sens inverse. Je rappelle aussi que le résultat final ne peut pas être utilisé comme argument pour dire qu'il aurait été forcément différent (si le bug empêche la spéciale à ce moment là, cela veut dire qu'il a pu s'en servir à un autre moment).




les règles a écrit:

En cas de présence de plusieurs personnes sur un même joueur, l'équipe sera considérée comme ayant provoqué le bug et déclarée perdante.

3) Y avait il plusieurs personnes sur les joueurs de chaque équipe ?

Pour éviter les bugs, il est demandé aux équipes de ne pas jouer à plusieurs sur les comptes. Si elles le font, elles doivent assumer d'être considérée comme ayant provoqué un dysfonctionnement quand il y'en a un. Ils arrivent que certaines équipes jouent volontairement à plusieurs notamment pour jouer le clic de façon plus sûre.

Regardons tout d'abord si l'équipe adverse étaient plusieurs, ce qui pourrait permettre de forcer le rejeu. Il s'agit d'un screenshot prise dans l'administration permettant de régler les litiges. Chaque connexion internet différente est liée à un trigramme et les couleurs changent pour voir au plus vite:

Cliquez pour afficher le texte caché. Attention, Spoil.


Cette équipe respect rigoureusement la règle, ce qui la protège de toute implication. (j'en profite pour dire que c'est beau, c'est rare de voir ça big_smile)

Passons ensuite au plaignant:

Cliquez pour afficher le texte caché. Attention, Spoil.


C'est beaucoup moins propre et on voit bien que le respect de la règle n'est pas là.

Il ne peut donc pas y avoir de rejeu forcé par l'administration du site...




4) Conclusions

* La première chose qu'on pourrait se demander c'est pourquoi j'ai expliqué tout ça ?

Peut être parce que j'en ai un peu marre qu'on m'accuse tout le temps de favoritisme quand je me force simplement à régler les choses au mieux. Donc voilà, ce message s'adresse à toute personne, pouvant ainsi voir comment sont réglés les conflits.

Si j'étais si malhonnête, j'aurai aisément pu cacher que l'équipe plaignante avaient été plusieurs (auquel cas j'aurai pu forcer le rejeu), ou alors, j'aurai pu aisément dire qu'ils avaient rêvé et qu'il n'y avait pas eu de bug.

* Est ce que je pense que la rencontre devrait être rejouée ?

Difficile question. D'un point de vue, oui, c'est toujours mieux le beau jeu. D'un autre point de vue, l'équipe qui a eu le bug a joué avec les règles, elle se doit d'assumer le fait d'avoir préféré jouer le clic.

* Est ce que personnellement, je demande à l'équipe adverse s'ils ont la grandeur de rejouer ?

C'est une rencontre importante, sur un Tournoi important. Personnellement je pense qu'une équipe acceptant de rejouer ne pourrait que montrer à quel point ils sont supérieurs aux autres joueurs.  Dans l'histoire de WoN elle ne sera pas la première à refuser.

Alors oui, tout les commentaire et la communauté va dire qu'eux ils rejoueraient sans frémier et tout. Mais seuls les Grands le feraient vraiment. Car d'expérience, les équipes qui acceptent de rejouer de leur propre gré se comptent sur les doigts de la main... En fait j'ai re-réfléchi à la chose, et je ne pense pas qu'il y en ait eu. Quand il y a rejeu, c'est uniquement parce que j'ai la possibilité de le forcer. Des histoires du genre il y en a eu beaucoup, on fini par les oublier, mais même sur le Tournoi Ying Yang (matchs assez rares) il y'en a eu, je pourrais en citer des dizaines parce que c'est moi qui passe mon temps à vous envoyer des messages privés en espérant trouver une solution qui convienne à tout le monde. (chose qui n'arrive pas souvent sad)

Reste qu'accepter de rejouer est toujours une preuve de noblesse.

* C'était pas un peu long ?
Peut être bien, mais comme c'est pas la taille qui compte...




PS: je présente mes plus plates excuses à l'équipe Family Gangsta Team qui a signalé le problème en premier lieu mais pour laquelle je suis parti sur une mauvaise théorie (en pensant que le problème était peut être du au navigateur et en testant la couche navigateur pour rien)




Pour éviter les dérives qui arriveront forcément je préfère fermer le topic...

Il n'y a pas de bug, circulez ! // Mangeur de Mammouths, lol !

Pied de page des forums