Skip to main content

Niveaux manuels à l’aide des classements

Dans ce didacticiel, nous allons apprendre à appliquer certaines propriétés du service Leaderboards pour créer un système de niveaux pour les joueurs. Pour comprendre comment créer un système de niveaux manuel basé sur les propriétés du service, nous allons partir d’un exemple. Imaginez un jeu où il faut éliminer des zombies, dans lequel les joueurs disposent d’un temps limité pour marquer le plus de points possible. Différentes stratégies permettent de gagner davantage de points, et des points sont également attribués lorsque le joueur ne subit aucun dégât. Dans cet exemple, les joueurs gagnent des points d’expérience en fonction de leurs performances à chaque partie. Nous voulons créer un système de niveaux pour identifier les meilleurs joueurs avec le rang « Sauveurs », tandis que les autres joueurs seront répartis entre différents rangs comme Bronze, Argent, Or, Platine et Diamant.

Créer un classement

La première étape consiste à créer une définition de classement qui inclut les éléments principaux pour classer les joueurs. Pour notre jeu de zombies, nous allons utiliser plusieurs scores. L’exemple suivant montre comment créer la définition de classement à l’aide du SDK C#.
Notre classement est maintenant défini avec trois scores différents. Pour plus d’informations sur la création de classements ou le fonctionnement du départage, consultez le guide suivant : Aller plus loin avec les classements.

Niveaux manuels

Une fois le classement correctement créé, nous pouvons définir la manière dont nous voulons créer nos niveaux. Tout d’abord, nous devons définir comment répartir la population de joueurs. En règle générale, plus le rang est élevé, moins il y a de joueurs. Avec ce principe en tête, voici comment nous allons définir nos niveaux.
  • Bronze : 0 à 35 % des joueurs.
  • Argent : 35 % à 60 % des joueurs.
  • Or : 60 % à 80 % des joueurs.
  • Platine : 80 % à 90 % des joueurs.
  • Diamant : 90 % à 99,5 % des joueurs.
  • Sauveurs : les 0,05 % meilleurs joueurs.
Comme ce processus est une approche manuelle d’un système de niveaux, la répartition des joueurs doit être stockée de la manière que le développeur juge appropriée. Pour récupérer les données, nous allons utiliser l’exemple suivant :
Cet exemple est l’une des nombreuses façons de récupérer des données à partir du classement. Dans la propriété Result de la réponse, nous trouverons une propriété appelée EntryCount qui nous indique le nombre de lignes que contient actuellement le classement. Ce nombre est différent de SizeLimit, qui représente le nombre maximal de lignes du classement. Pour déterminer le niveau d’un joueur, nous prenons sa position dans le classement et la divisons par la propriété EntryCount pour voir dans quel niveau défini il se situe. Exemples rapides :
  • Joueur en bas du classement : un joueur classé 8 500e sur 10 000 se situe dans les 85 % de la population et appartient au niveau Bronze.
  • Joueur au milieu du classement : un joueur classé 3 500e sur 10 000 se situe dans les 35 % meilleurs joueurs et appartient au niveau Or.
  • Meilleur joueur : un joueur classé 50e sur 10 000 se situe dans les 0,5 % meilleurs joueurs et devient un « Sauveur ».

Conclusions

Dans ce didacticiel, nous avons appris à effectuer les opérations suivantes :
  • Créer un classement.
  • Interroger les données d’un classement.
  • Créer une répartition manuelle en niveaux basée sur des centiles.
  • Associer la position d’un joueur à un niveau réel.

Voir aussi

Last modified on October 6, 2026