
Comment ajouter un système de matchmaking à un jeu multijoueur de tir à la troisième personne (TPS)
Le matchmaker d'Edgegap est un système de matchmaking entièrement géré et infiniment personnalisable qui regroupe de manière optimale les joueurs du monde entier – et son utilisation est gratuite pendant le développement de votre jeu multijoueur de tir à la troisième personne.
C'est également le seul système de matchmaking (à notre connaissance) avec des règles de matchmaking basées sur la latence pour fournir l'expérience multijoueur en ligne idéale pour votre jeu, quel que soit le moteur (Unity, Unreal, etc.) ou les services de jeu (EOS, UGS, PlayFab, Heroic Labs Nakama, Braincloud, etc.).
Comme notre matchmaker est basé sur des paramètres, il n'est pas nécessaire d'écrire du code. L'intégration est donc très simple et si besoin, nos guides d'intégration vous accompagnent à chaque étape.
Lorsque votre jeu est en ligne, comme notre système de matchmaking est entièrement géré, vous n'avez pas besoin de gérer l'infrastructure, les bugs, les pannes, l'évolutivité ou la gestion de bases de données. Nous nous occupons de tout pour vous, réduisant ainsi votre charge de travail DevOps à presque zéro.
Comment intégrer le matchmaking dans votre jeu multijoueur de tir à la troisième personne (TPS)
-> Cet article est basé sur la documentation de matchmaking. Si vous rencontrez des problèmes ou des incohérences, veuillez vous assurer de vous référer au guide original, car il est mis à jour plus fréquemment.
L'exemple suivant vous aidera à tester le flux principal de matchmaking des joueurs, à savoir :
Créer l'instance du matchmaker sur le cluster d'hébergement partagé,
Définir les règles et les paramètres dans votre configuration de matchmaker,
Et enfin, tester le flux des joueurs et gérer les tickets des joueurs avec notre API.
Il y a cinq étapes pour intégrer notre matchmaker dans votre jeu :
La première étape est de créer un compte et d'utiliser notre exemple de jeu TPS. Voilà, vous êtes (techniquement) à mi-chemin ! Vous n'avez qu'à intégrer le matchmaker dans votre jeu (voir étape 5).
Maintenant, vous ne devriez jamais suivre aveuglément un exemple JSON trouvé sur Internet, et il est donc fortement recommandé d'adapter les règles ci-dessus à votre jeu. L'étape 2 (“Explorer la configuration”) est notre “comment lire” qui traite de la fonction de chaque règles de matchmaking (“Explorer la configuration”).
L'étape 3 (“Vérifier les détails de l'instance”) couvre votre matchmaker personnel et spécifique afin de garantir qu'il est déployé et fonctionne avec le design de votre jeu.
L'étape 4, comme son nom l'indique (“4. Tester l'API des tickets”), concerne le test de la façon dont vos demandes de matchmaking des joueurs sont reçues par le matchmaker, appelées tickets.
L'étape 5 (“Intégrer le matchmaking dans votre jeu”) souligne comment intégrer le matchmaker au sein du projet de votre moteur.
Si vous rencontrez des difficultés, notre Centre d'apprentissage propose des conseils supplémentaires pour le dépannage.
1. Configuration de la version gratuite
Inscrivez-vous pour obtenir votre compte Edgegap gratuit, et accédez à la page du tableau de bord du matchmaker.
À partir de là, cliquez d'abord sur Créer un matchmaker et saisissez :
Un nom pour votre matchmaker – qui est uniquement pour votre propre référence, par exemple
quickstart-dev
,Ensuite, téléchargez le simple exemple suivant comme configuration JSON ci-dessous pour votre jeu TPS :
(rappel amical pour vous assurer de changer le nom
de l'application et version
pour correspondre à votre application et versions!)
Si aucune erreur de validation n'apparaît, appuyez sur Créer et démarrer et attendez que le processus se termine. Cela résultera en un nouveau cluster gratuit démarré, avec votre matchmaker d'exemple simple.
Vous pouvez maintenant passer à l'étape suivante.
2. Explorer la configuration
Règles de jeu TPS uniques
Spécifiquement pour les jeux de tir à la troisième personne, vous pouvez définir plusieurs profils de matchmaking pour les règles et paramètres spécifiques des modes de jeu :
restreindre le rang à une différence entre deux joueurs pour des jeux plus décontractés,
restreindre la différence de rang pour n'autoriser que les adversaires ayant le même rang pour les jeux classés,
permettre aux joueurs de fournir leurs préférences de cartes et choisir une carte appropriée pour tous,
ajouter une interface utilisateur de sélection de hub pour restreindre les adversaires à des balises de ping spécifiées,
restreindre la latence de matchmaking à un seuil maximum pour éviter d'apparier des joueurs éloignés,
restreindre la latence de matchmaking à une différence maximale pour maximiser l'équité du ping,
allouer plus de CPU ou de mémoire en utilisant différentes versions d'application lorsque plus de joueurs sont autorisés,
Rejoindre en tant que groupe pour des lobbies pré-créés ou pour remplir des équipes sans dépasser la taille des équipes.
Commencez avec les conditions idéales, et étendre les restrictions pour garantir des matchs rapides :
relaxer progressivement les restrictions de latence dans le temps pour trouver plus de joueurs,
augmenter progressivement la différence de rang autorisée pour trouver plus de joueurs,
augmenter le temps entre les expansions pour les rangs les plus élevés (challengers), car moins de joueurs sont disponibles.
Créez des tickets avec un rang plus élevé pour des matchs de promotion, afin de matcher avec des adversaires plus coriaces.
Définissez des profils de tricheur séparés pour garantir que les tricheurs signalés ou les joueurs avec un grand nombre de rapports de modération n'impactent pas négativement l'expérience des joueurs légitimes dans les matchs classés.
Versionnage sémantique
Chaque nouvelle version utilise le versionnage sémantique pour communiquer clairement l'impact des changements en interprétant le format majeur.minor.patch
:
majeur
les versions incluent des changements majeurs et nécessitent une révision d'intégration,mineur
les versions incluent des améliorations substantielles compatibles avec les versions antérieures,patch
les versions incluent des corrections de bogues et des améliorations mineures.
Certains déploiements peuvent entraîner des erreurs. Nous tentons de résoudre cela en réessayant le déploiement jusqu'à max_deployment_retry_count
fois automatiquement (sans confirmation du client).
Pour s'assurer que les plantages inattendus des clients ou les tickets abandonnés ne persistent pas et n'occupent pas les ressources de votre matchmaker, les tickets seront annulés après ticket_expiration_period
ce qui fait que leur statut changera en CANCELLED
et ensuite sera définitivement supprimé après ticket_removal_period
.
Le cœur de notre logique de matchmaking est configuré dans les profils de matchmaking. Chaque profil est une file d'attente de matchmaking complètement isolée, pointant vers les versions d'application avec une quantité prédéfinie de CPU et de ressources mémoire (RAM) requises.
Les règles de matchmaking dans l'ensemble de règles initial doit être respectées pour que les joueurs soient regroupés, chacune définie par trois propriétés :
nom de votre choix, par exemple -
taille de match
,type de règle, également connu sous le nom d'opérateur, par exemple -
player_count
,et enfin les attributs de l'opérateur, par exemple
team_count
outeam_size
.
Règle de nombre de joueurs
C'est une règle spéciale définissant combien de joueurs doivent s'accorder pour initier l'attribution :
team_count
se réfère au nombre d'équipes, 1 équipe peut être utilisée pour des modes coopératifs ou en solo,team_size
se réfère au nombre de joueurs par équipe.
Notre exemple simple démontre un jeu coopératif avec 2 joueurs.
Veuillez noter que la règle
