Répartition configurable
La répartition configurable est l'option de répartition la plus avancée de League Dispatcher. Elle vous permet de définir des attributs de joueurs, de créer des règles personnalisées et d'ajuster les poids pour contrôler exactement comment les joueurs sont regroupés. Elle est conçue pour les organisateurs expérimentés qui ont besoin de plus de contrôle que les algorithmes standards.
Ceci est une fonctionnalité avancée. La plupart des ligues seront bien servies par le Fair Random ou l'Elo. Utilisez la répartition configurable uniquement si vous avez des besoins spécifiques — comme le regroupement manuel par niveau, l'équilibre des genres ou l'évitement de joueurs — que les autres algorithmes ne couvrent pas.
Comment ça marche
Les organisateurs définissent des « Attributs des joueurs » — des tags clé-valeur comme Niveau de jeu (A/B/C), Genre (M/F) ou Groupe d'évitement (rouge/bleu). Chaque joueur se voit attribuer une ou plusieurs valeurs par attribut. Ensuite, les organisateurs créent des règles qui indiquent à l'algorithme comment utiliser ces attributs lors de la formation des groupes.
Lors de la répartition, l'algorithme évalue toutes les combinaisons possibles de joueurs et attribue un score à chacune selon l'ensemble des règles actives simultanément. La combinaison avec le meilleur score global est sélectionnée. Les règles sont des préférences souples avec des poids configurables — le système produit toujours une répartition valide, même si toutes les règles ne peuvent pas être parfaitement satisfaites.
Attributs des joueurs
Les attributs sont des métadonnées clé-valeur assignées aux joueurs par l'organisateur. Ils sont statiques — ils ne changent pas en cours de jeu. Exemples : Niveau de jeu (A/B/C), Genre (M/F), Groupe d'évitement (rouge/bleu) ou Groupe de covoiturage (nord/sud). Les joueurs peuvent avoir plusieurs valeurs par attribut — par exemple, un joueur entre deux niveaux peut être tagué A et B.
Les attributs se configurent dans la page Gérer les joueurs et terrains, sous l'onglet Attributs. Définissez votre vocabulaire (nom de l'attribut + valeurs possibles), puis assignez les valeurs à chaque joueur. Les attributs persistent entre les soirées de jeu — pas besoin de les réassigner à chaque session. Sur la page de jeu, vous pouvez filtrer les onglets Non disponibles et Tous les joueurs par valeur d'attribut grâce à la barre de filtres.
Types de règles
Trois types de règles contrôlent comment les attributs influencent le matchmaking. Chaque règle cible un attribut et possède un poids qui détermine son importance.
Séparer
Répartit les joueurs ayant la même valeur d'attribut sur différents terrains. Par exemple, appliquez Séparer au Niveau de jeu (A/B/C) pour obtenir un mélange de niveaux sur chaque terrain. Également utile pour l'évitement de joueurs : assignez les joueurs en conflit au même groupe d'évitement, et Séparer les maintient éloignés.
Regrouper
Garde les joueurs ayant la même valeur d'attribut ensemble sur le même terrain. Par exemple, appliquez Regrouper au Niveau de jeu pour que les forts jouent avec les forts et les débutants avec les débutants. Aussi utile pour le covoiturage : gardez les joueurs qui voyagent ensemble sur le même terrain pour qu'ils terminent en même temps.
Équilibrer
Distribue les valeurs d'attribut aussi également que possible sur chaque terrain. Par exemple, appliquez Équilibrer au Genre (M/F) pour viser 2H/2F par terrain au lieu de 3H/1F. Idéal pour les attributs à deux valeurs où une répartition égale est importante.
Système de poids
Chaque règle a un poids de 0 à 100 qui contrôle la force de son application. Un poids de 80 ou plus signifie que la règle est fortement appliquée. Entre 40 et 79, elle est modérément appliquée. Entre 1 et 39, c'est une préférence légère. Un poids de 0 désactive la règle.
Plusieurs règles se combinent — l'algorithme les équilibre toutes simultanément. Il n'y a pas de hiérarchie de priorité rigide. Les règles avec des poids plus élevés dominent naturellement, mais les règles à poids plus faible influencent quand même le résultat. Cela permet d'exprimer des préférences nuancées comme « séparer fortement les niveaux, équilibrer modérément le genre et légèrement préférer garder les covoitureurs ensemble ».
Poids intégrés
Quatre préférences intégrées sont disponibles en plus de vos règles personnalisées. L'équité d'attente (poids par défaut 80) priorise les joueurs qui attendent depuis le plus longtemps. La variété des partenaires (poids par défaut 50) évite de répéter les mêmes paires de joueurs des matchs récents. La proximité Elo (poids par défaut 0, désactivée) regroupe les joueurs avec des classements Elo similaires. Les parties jouées aujourd'hui (poids par défaut 0, désactivée) égalise le nombre de parties jouées par chaque joueur dans la session en cours.
Les quatre sont ajustables. Mettez n'importe lequel à 0 pour le désactiver complètement. Sans règles personnalisées et avec les poids intégrés par défaut, l'algorithme se comporte de manière identique au Fair Random.
Exemple concret : comment l'algorithme attribue les scores
Voyons exactement comment l'algorithme évalue les combinaisons de joueurs. Cet exemple montre comment les règles et les poids se traduisent en décisions de score concrètes.
Les joueurs
Une ligue avec 8 joueurs disponibles prêts à jouer sur deux terrains de 4 joueurs :
| Joueur | Niveau | Genre |
|---|---|---|
| Alice | A | F |
| Bob | A | M |
| Carol | B | F |
| Dave | B | M |
| Eve | A | F |
| Frank | B | M |
| Grace | A | F |
| Hank | B | M |
Les règles
L'organisateur a configuré deux règles : Équilibrer("Niveau") à poids 100 — veut une répartition égale A/B sur chaque terrain. Équilibrer("Genre") à poids 100 — veut une répartition égale M/F sur chaque terrain.
Comment l'algorithme décide
L'algorithme génère toutes les combinaisons valides de 4 joueurs et attribue un score à chacune. Score plus bas = meilleur. Voici deux terrains possibles que l'algorithme compare :
Option A : Alice (A,F), Eve (A,F), Carol (B,F), Bob (A,M)
Trois femmes et un seul homme, trois A et un B — déséquilibré sur les deux dimensions.
| Règle | Calcul | Pénalité |
|---|---|---|
| Équilibrer("Niveau") | A=3, B=1 → (3-1) = 2 | 2 × 100 = 200 |
| Équilibrer("Genre") | M=1, F=3 → 3-1 = 2 | 2 × 100 = 200 |
| Pénalité totale des règles | 400 | |
Option B : Alice (A,F), Bob (A,M), Carol (B,F), Dave (B,M)
Deux A + deux B, deux M + deux F — parfaitement équilibré sur les deux dimensions.
| Règle | Calcul | Pénalité |
|---|---|---|
| Équilibrer("Niveau") | A=2, B=2 → 2-2 = 0 | 0 × 100 = 0 |
| Équilibrer("Genre") | M=2, F=2 → 2-2 = 0 | 0 × 100 = 0 |
| Pénalité totale des règles | 0 | |
L'option B obtient un score de 0 (parfait), l'option A obtient 400 (fortement pénalisée). L'algorithme choisit l'option B. La même logique s'exécute simultanément pour toutes les règles, les poids intégrés et chaque combinaison possible de joueurs — produisant les meilleures affectations de terrain.
Évitement de joueurs
Gardez les joueurs en conflit séparés sans règles de paires dédiées. Créez un attribut « Groupe d'évitement » avec des valeurs comme « rouge » et « bleu ». Assignez les joueurs en conflit à la même valeur de groupe, puis ajoutez une règle Séparer avec un poids élevé (ex. 90). Les joueurs impliqués dans plusieurs cercles de conflits peuvent avoir plusieurs valeurs — par exemple, un joueur dans les groupes d'évitement « rouge » et « bleu » sera tenu à l'écart de tous les membres des deux groupes.
Exemple de configuration
Une ligue de pickleball avec 16 joueurs et 4 terrains : Niveau de jeu (A/B/C) avec une règle Séparer à poids 70 assure une diversité de niveaux sur chaque terrain. Genre (M/F) avec une règle Équilibrer à poids 50 vise une répartition égale des genres. Groupe d'évitement (rouge) avec une règle Séparer à poids 90 maintient les joueurs en conflit éloignés. L'équité d'attente à 80 et la variété des partenaires à 50 complètent la configuration.
Idéal pour
Les ligues qui veulent un contrôle précis sur le matchmaking. Les organisateurs gérant des conflits ou des incompatibilités entre joueurs. Les ligues à niveaux mixtes souhaitant un regroupement équitable mais personnalisable. Toute ligue où les algorithmes universels ne conviennent pas — la répartition configurable vous permet de définir exactement ce qui compte pour votre groupe.