Le moyen le plus simple et le plus efficace pour classer et mesurer les compétences des joueurs dans un environnement multi-joueurs?


12

Je connais l'algorithme Truskill, c'est assez complexe mais efficace.

Ma question existe-t-il d'autres algorithmes / méthodes pour déterminer une compétence des joueurs pour une mesure précise pour le jeu compétitif multi-joueurs?


Un peu subjectif / large je pense, à quel genre de jeu pensez-vous spécifiquement? (Je ne vois pas de fps et de jeu de course partageant une méthode de classement simple). Peut-être que cela devrait être édité par wiki communautaire et transformé en une liste d'algorithmes / méthodes / middleware / quoi que ce soit?
Riley Adams,

La plupart des systèmes de classement utilisent des ratios de victoires, de pertes et de matchs. Ensuite, faites de la place pour des conditions spécifiques au jeu afin que la plupart des méthodes fonctionnent avec des ajustements mineurs.
Wight

1
Y a-t-il des problèmes de brevets avec TruSkill? Microsoft l'a construit et ils ne sont pas connus pour être conviviaux pour la communauté.
deft_code

2
Si vous évitez les algorithmes qui pourraient être brevetés, vous ne pourrez rien faire de pratique. Si vous savez que quelque chose est breveté et que vous l'utilisez de toute façon, vous pouvez vous retrouver redevable de plus de dommages si vous êtes poursuivi. Supposons donc que ce n'est pas breveté - c'est une marque déposée, alors ne l'appelez pas "TrueSkill" à moins que vous ne soyez sur Xbox Live.

2
Malheureusement, TrueSkill est breveté, donc son utilisation à quelque fin que ce soit peut être dangereuse pour vous.
Petr Pudlák

Réponses:


10

Je pense que demander «le plus simple et le plus efficace» est une exigence irréaliste, mais il existe certainement quelques bonnes approches. Plutôt que d'entrer dans les détails, je vais créer un lien vers un article:

http://www.lifewithalacrity.com/2006/01/ranking_systems.html

Cela couvre:

  • ELO
  • une variante ELO par Days of Wonder
  • TrueSkill (et glicko, sur lequel il semble être basé ou au moins similaire à)
  • Classement eGenesis (pour Tales in the Desert)

Dans l'ensemble, vous verrez qu'ils sont tous à peu près des variations sur le même thème - vous choisissez une valeur de départ ou moyenne pour un joueur, puis les valeurs sont utilisées pour prédire le résultat du jeu. La différence entre le résultat réel et le résultat prévu est utilisée pour modifier les scores de chaque joueur, et le processus se répète avec les scores ajustés. Étant donné que chaque modification des scores rend le résultat prévu plus précis, les scores convergent vers leurs «vraies» valeurs. (Cela suppose en fait qu'il s'agit d'un jeu d'adresse plutôt que de hasard, que la compétence en question peut être classée linéairement, etc.)


"le plus simple et le plus efficace" n'est qu'un truc pour éviter d'être forcé d'en faire un wiki communautaire.
Hendrik Brummermann

7

Cela dépend du jeu. Vous pouvez rencontrer quelques problèmes:

  • Pour les jeux qui ont une composante chance et une composante compétence (Bridge, Poker, Magic: the Gathering, etc.), la plupart des algorithmes ne tiennent pas compte du fait qu'un joueur plus faible peut parfois avoir de la chance. Si votre jeu entre dans cette catégorie, vous devrez travailler. En général, cela signifie déterminer quel pourcentage est la chance et quel pourcentage est la compétence (une astuce difficile, mais si vous avez déjà utilisé un algorithme basé sur les compétences comme Elo, vous pouvez exécuter des métriques sur les résultats pour déterminer la fréquence à laquelle l'algorithme prédit un bouleversement par rapport à la fréquence à laquelle il se produit réellement). Ensuite, vous devez changer l'algorithme, et exactement ce qu'il faut changer est probablement au-delà de la portée de cette question.

  • Pour les jeux où les matchs peuvent être manipulés (je peux choisir de jouer un match avec classement contre mon ami), vous devez mettre en place des protections supplémentaires pour empêcher les joueurs de lancer délibérément des matchs.

  • Pour les jeux où un joueur peut "sortir de l'entraînement" s'il ne joue pas régulièrement, le système pourrait impliquer une sorte de dégradation basée sur le temps. Le système Glicko est un mod d'Elo qui ajoute une variable "incertitude" au classement de chaque joueur, en fonction du nombre de jeux auxquels ils ont joué et de la façon dont ils les ont joués récemment; plus le classement d'un joueur est certain, moins il change d'un jeu à l'autre.

  • Les jeux multijoueurs (qu'ils soient gratuits pour tous, en équipe ou d'une autre structure de joueurs) nécessitent bien sûr un soin particulier. Certains jeux en équipe permettent de comprendre plus facilement la contribution de chaque individu par rapport à d'autres.

  • Demandez également quel est le but de votre système de notation / classement. Dans les jeux et les sports professionnels, le but est statistique: l'évaluation est utilisée comme prédicteur du résultat d'un match donné. L'objectif principal ici est la précision. Cependant, c'est rarement ce que veulent les joueurs; au lieu de cela, ils veulent de la progression, un sentiment qu'ils s'améliorent et gravissent les échelons (qu'ils s'améliorent ou non). En bref, il y a un compromis entre précision et plaisir que vous devez considérer.


Tout sur le design est toujours un équilibre =)
Wight

3

Qu'avez-vous trouvé compliqué à propos de TrueSkill ? Je pensais que c'était un algorithme simple avec juste la bonne quantité de boutons à modifier pour différents modes de jeu, et il se réduit à Elo lorsque le jeu est en tête-à-tête avec une grande certitude.

Si vous cherchez le moyen le plus simple de classer et de mesurer efficacement un joueur dans un environnement multijoueur - ma recommandation est TrueSkill.


Je cherchais juste une alternative qui peut être modifiée plus facilement. Comme ce qu'utilisait Starcraft 2. Mais TrueSkill est une bonne mesure, il est juste plus difficile d'inclure des mesures de jeu à la variance.
Wight

2

Qu'en est-il d'un système par paire comme elo ? Il est utilisé depuis des lustres dans les sports "normaux" avec d'excellents résultats.

Pour les matchs gratuits, vous pouvez les interpréter comme un groupe de matchs par paires et attribuer des points en fonction du classement relatif.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.