Génération de matchs
Bases de la génération de matchs
Le moteur de génération de matchs de PickleSync est conçu pour créer l'expérience de jeu la plus équilibrée et agréable possible. Le système prend en compte plusieurs facteurs, notamment les niveaux de compétence, l'historique de jeu, la disponibilité des terrains et les préférences des joueurs pour générer des affrontements optimaux.
Génération rapide de matchs
Pour une création immédiate de matchs, utilisez le bouton Générer des matchs sur le tableau de bord de votre programme :
- Sélectionnez la date et l'heure de votre session
- Choisissez le nombre de terrains disponibles
- Spécifiez le nombre de tours que vous souhaitez jouer
- Cliquez sur Générer et PickleSync s'occupe du reste
Le système sélectionnera automatiquement les joueurs disponibles, équilibrera les niveaux de compétence entre les terrains et s'assurera que les joueurs ne répètent pas trop souvent les mêmes partenaires. Les matchs générés apparaissent instantanément dans votre calendrier.
Paramètres avancés de matchs
Pour un contrôle plus fin de la génération de matchs, accédez au panneau de paramètres avancés :
{
"algorithm": "balanced_skill",
"rounds": 4,
"courts": 6,
"skill_variance": 0.3,
"avoid_recent_partners": true,
"partner_rotation_frequency": "high",
"gender_balance": "preferred"
}
Ces paramètres vous permettent d'ajuster précisément la façon dont les matchs sont créés. Par exemple, régler skill_variance à 0.3 garantit que la compétence combinée des équipes sur le même terrain ne diffère pas de plus de 0.3 points d'évaluation.
Algorithmes de matchs
PickleSync propose plusieurs algorithmes de génération de matchs optimisés pour différents types de programmes :
Algorithme d'équilibrage des compétences
L'algorithme par défaut priorise la création de matchs où les quatre joueurs sur un terrain ont des niveaux de compétence similaires. C'est idéal pour le jeu compétitif où des parties serrées sont souhaitées.
function generateBalancedMatch(players) {
// Trier les joueurs par évaluation de compétence
const sorted = players.sort((a, b) => a.skill - b.skill);
// Créer des matchs avec une variance de compétence minimale
return createMatchPairs(sorted, { maxVariance: 0.3 });
}
Cet algorithme examine toutes les combinaisons possibles de joueurs et sélectionne les arrangements qui minimisent les différences de compétence tout en maximisant la variété des partenaires.
Algorithme de jeu social
Pour les programmes décontractés axés sur l'interaction sociale, cet algorithme priorise la rotation des partenaires et s'assure que chacun joue avec de nouvelles personnes :
function generateSocialMatch(players, history) {
// Prioriser les joueurs qui n'ont pas été partenaires récemment
const partnerships = analyzePartnershipHistory(history);
// Générer des matchs favorisant les nouvelles combinaisons
return createMatchPairs(players, {
prioritizeNewPartnerships: true,
skillBalance: "relaxed"
});
}
Algorithme de tournoi à la ronde
Pour le jeu en ligue où chacun devrait éventuellement jouer avec tous les autres, l'algorithme de tournoi à la ronde fait tourner systématiquement les joueurs à travers tous les partenariats possibles :
function generateRoundRobin(players, round) {
const schedule = createRoundRobinSchedule(players);
return schedule[round];
}
Contraintes de matchs
Définissez des règles et contraintes spécifiques que le système de génération de matchs doit respecter :
- Plafonds de compétence : Différence de compétence maximale autorisée entre les joueurs sur le même terrain
- Restrictions de partenaires : Joueurs qui ne doivent pas être mis ensemble
- Affectations de terrains : Réserver des terrains spécifiques pour certains niveaux de compétence
- Équilibre des genres : Assurer les ratios de double mixte lorsque applicable
- Restrictions de temps : Tenir compte des joueurs ayant une disponibilité limitée
Configurez les contraintes dans les paramètres du programme pour garantir que les matchs répondent à vos exigences spécifiques :
{
"constraints": {
"max_skill_difference": 0.5,
"reserved_courts": {
"court_1": "skill_level >= 4.0",
"court_6": "skill_level <= 3.0"
},
"partner_restrictions": [
["player_123", "player_456"]
]
}
}
Ajustements manuels
Bien que les algorithmes de PickleSync soient sophistiqués, vous pouvez toujours effectuer des ajustements manuels :
- Glisser-déposer : Réorganisez visuellement les joueurs entre les terrains
- Verrouiller des matchs : Empêchez des affrontements spécifiques d'être modifiés lors de la regénération
- Échanger des joueurs : Échangez rapidement des joueurs individuels entre les terrains
- Ajouter/Supprimer : Ajustez le nombre de terrains ou de joueurs dans une session
Les ajustements manuels sont préservés lors de la regénération des matchs restants, vous donnant un contrôle total sur le calendrier final.