Un "genre" de championnat du monde
#1
Salut,

Je voudrais aborder un petit sujet qui me pose question en ce moment. Voilà c'est à propos de Hell-vs-Tech, anciennement Decksport.

Pour plusieurs raisons, j'envisage de restreindre le jeu au face à face, sans multiplayer en ligne, parce que :
- C'est un jeu où la vitesse compte beaucoup, un peu comme un Street Fighter des jeux de cartes, et je ne pense pas pouvoir atteindre un niveau d'instantanéité suffisant pour ne pas altérer le gameplay,
- Être physiquement en présence de l'autre joueur, ça change souvent la donne,
- C'est convivial,
- On peut imaginer un système de classement mondial que je m'en vais vous décrire de ce pas (nonchalant).

L'idée c'est que les joueurs peuvent se retrouver et disputer un match "officiel". Ils se connectent avec leurs identifiants et mots de passe, jouent le match, et le score du match est alors comptabilisé dans le classement mondial.

Ma question porte sur le moyen de comptabiliser les points. Idéalement, j'aimerais un système où un joueur ne peut grimper dans le classement au-dessus d'un autre joueur qu'en jouant, à un moment ou un autre, contre lui. Mais en même temps, je voudrais qu'il n'y ait pas de match obligatoire comme dans un championnat.

Vous croyez que c'est possible ?
Répondre
#2
Salut,

classer les joueurs entre eux si et seulement si ils ont joué un match va poser problème: si A a battu B, B a battu C et C a battu A, quel classement (circularité)? Tu pourrais partir sur un "classement en 2D" (dans l'exemple donné, on aurait donc un cercle), mais arrivé à 5 joueurs, tu vas coincer (on ne peut représenter un graphe complet de plus de 5 sommets sans qu'ils ne se croise, dis autrement, si tu mets A B C D E 5 joueurs sur une feuille de papier, tu ne peux pas relier tous les joueurs entre eux sans croiser au moins 2 traits).

Ca ne me semble donc pas possible comme classement vu ainsi :/
Répondre
#3
Tu peux implémenter un Classement Elo

Note que ça ne respecte pas ton idée de « j'aimerais un système où un joueur ne peut grimper dans le classement au-dessus d'un autre joueur qu'en jouant, à un moment ou un autre, contre lui » mais je trouve ça mieux.

En effet dans ton système si jean michel joue une fois à ton jeu en officiel, s'inscrit au classement, et ne revient jamais, alors personne ne pourrait plus monter au dessus de lui.
Répondre
#4
Le classement Elo m'a l'air... pas super. Le K me semble arbitraire. Faut que je réfléchisse.
Répondre
#5
(05-05-2020, 09:24 PM)Zero a écrit : Le classement Elo m'a l'air... pas super. Le K me semble arbitraire. Faut que je réfléchisse.

C'est normal que le K te semble arbitraire, ca l'est...

C'est un coefficient qui te permet de déterminer l'importance d'une partie sur le classement, si toutes les parties ont la meme importance, tu peut laisser k constant.
Répondre
#6
(05-05-2020, 09:24 PM)Zero a écrit : Le classement Elo m'a l'air... pas super. Le K me semble arbitraire. Faut que je réfléchisse.

c'est un classement qui a cependant fait ses preuves quand bien meme il a des défauts (comme tous les classements)
[WIP]projet Rivages
[WIP]projet Arthur (comme si ça suffisait pas d'un...)
Répondre
#7
Oui j'avais bien compris la signification du K, et qui suis-je pour remettre en question le système de classement des champions du monde des échecs, ces génies... ben Zero.

Allez, juste pour le plaisir.

On oublie l'histoire de l'obligation de jouer contre un joueur pour le dépasser au classement.

Plus l'adversaire est fort, plus on devrait gagner de points en gagnant contre lui. Mais en gagnant contre un adversaire moins fort, on devrait quand même gagner quelques points.

Si T est le nombre total de joueurs, et C1 et C2 le classement actuel des joueurs 1 et 2, alors les soustractions T-C1 et T-C2 donnent des résultats d'autant plus grands que le joueur est bien classé, qui pourraient être la base d'un calcul. On divise cette soustraction par T, parce que la quantité totale de joueurs ne devrait pas influencer le décompte.

Imaginons : tu ne gagnes des points que quand tu gagnes un match, si tu perds un match tu ne perds pas de points. Mais par contre, si tu passes plusieurs jours sans gagner de points (sans gagner de match), ton score commence à baisser : tu perds 1 point le premier jour sans victoire, 2 points le lendemain, puis 4 points, 8, 16, 32, 64, ...etc.

Bon, ça récompense beaucoup les gros joueurs... Mais ça incite aussi les bons joueurs à jouer contre des plus faibles. Qu'en pensez-vous ?

Après on peut garder en mémoire les hiscores des joueurs, comme au flipper, etavoir ainsi un classement "historique" à côté du classement actuel.
Répondre
#8
1 - C/T = 0, pour C = T (le dernier), donc personne n'aurait envie d'attaquer le dernier (ça ne rapporte rien), mais le dernier aura tout intérêt à attaquer n'importe qui dans tous les sens jusqu'à gagner... je ne sais pas ce que donne cette théorie dans la pratique 2

Je ne saurai trop spéculer sur le classement "le plus adapté", c'est relatif au jeu et à la communauté de joueurs. Je suis en revanche très sceptique (personnellement) quant à l'intérêt d'un jeu uniquement pour son classement :/ Dis autrement, perso, je m'en fous du ranking ("c'est parce que t'es nul"? ouais, probablement 2 )

Perdre des points car tu ne gagnes pas de match, j'hésite aussi... Quid du joueur qui veut rester 1er, crée donc un second compte bidon et l'attaque tous les jours, juste pour "figer" son classement et ne pas perdre de points? Je trouve aussi un peu dommage qu'un joueur qui ai délaissé le jeu (quelle que soit la raison) voit son classement disparaitre en si peu de temps (vu l'exponentielle que t'as, n'importe quel classement disparait dans la semaine voire les 15 jours au mieux). Qu'il descende et disparaisse peu à peu du "top 10" car les autres le pourrissent, ok, mais j'ai peur qu'un classement qui hurle "revenez jouez bande de c*n sinon je vire tous vos points!!" ne se termine par 99% des joueurs à 0 et 1% des joueurs à 50 points, car ce sont ceux qui viennent de s'inscrire.

Après, à voir, ça peut aussi très bien marcher, ca dépend du jeu et de sa philosophie 16

PS:
1-Cx/T donne un résultat qui ne dépend pas du classement des 2 joueurs *à la fois*: si le 1er affronte le 2e en boucle, il va bouffer du point en boucle... Ca risque au final de creuser les écarts de manière (là aussi) exponentielle
Répondre
#9
Bon, oui t'as raison c'est de la crotte de chameau effectivement.

Mais admettons que je parte sur un ELO, pourquoi placer le seuil à 2400 ? C'est ça que je pige pas. Et le K, pourquoi 40 et pas 35 ? Difficile de mettre un classement en place à priori...
Répondre
#10
(05-06-2020, 05:20 PM)Zero a écrit : Oui j'avais bien compris la signification du K, et qui suis-je pour remettre en question le système de classement des champions du monde des échecs, ces génies... ben Zero.

Allez, juste pour le plaisir.

On oublie l'histoire de l'obligation de jouer contre un joueur pour le dépasser au classement.

Plus l'adversaire est fort, plus on devrait gagner de points en gagnant contre lui. Mais en gagnant contre un adversaire moins fort, on devrait quand même gagner quelques points.

Si T est le nombre total de joueurs, et C1 et C2 le classement actuel des joueurs 1 et 2, alors les soustractions T-C1 et T-C2 donnent des résultats d'autant plus grands que le joueur est bien classé, qui pourraient être la base d'un calcul. On divise cette soustraction par T, parce que la quantité totale de joueurs ne devrait pas influencer le décompte.

Imaginons : tu ne gagnes des points que quand tu gagnes un match, si tu perds un match tu ne perds pas de points. Mais par contre, si tu passes plusieurs jours sans gagner de points (sans gagner de match), ton score commence à baisser : tu perds 1 point le premier jour sans victoire, 2 points le lendemain, puis 4 points, 8, 16, 32, 64, ...etc.

Bon, ça récompense beaucoup les gros joueurs... Mais ça incite aussi les bons joueurs à jouer contre des plus faibles. Qu'en pensez-vous ?

Après on peut garder en mémoire les hiscores des joueurs, comme au flipper, etavoir ainsi un classement "historique" à côté du classement actuel.

tu peut gagner des points elos en affrontant des joueurs moins bons, par exemple tu as un elo de 1600 et tu as un adversaire d elo 1500, on prend k = 20.

tu est censé avoir 64% de chances de gagner, la formule est :
Ancien_classement + k * (W - probabilité de victoire) 
avec W = 1 si tu gagne,W =  1/2 si il y a égalité et W = 0 si tu perd

donc si tu gagne, ton nouveau classement vaut
1600 + 20 * (1 - 0.64) = 1600 + 7.2 = 1607.2 points
tu a gagné 7 points
Répondre




Utilisateur(s) parcourant ce sujet : 1 visiteur(s)