
Comment ajouter un système de matchmaking à un jeu de tir à la première personne multijoueur (FPS)
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 première personne.
C'est également le seul système de matchmaking (à notre connaissance) avec des règles de matchmaking basées sur la latence pour offrir 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 nécessaire, nos guides d'intégration vous accompagnent à chaque étape.
Lorsque votre jeu est en ligne, étant donné que notre système de matchmaking est entièrement géré, vous n'avez pas besoin de gérer l'infrastructure, les bogues, les pannes, la montée en charge ou la gestion de la base 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 de tir à la première personne (FPS) multijoueur
-> Cet article est basé sur la documentation Matchmaking. Si vous rencontrez des problèmes ou des divergences, veuillez vous référer au guide original, car ils sont plus fréquemment mis à jour.
L'exemple suivant vous aidera à tester le flux principal de matchmaking pour les joueurs, à savoir :
Créer l'instance de matchmaker sur le Cluster d'Hébergement partagé,
Définir les règles et paramètres dans votre Configuration de matchmaker,
Et enfin, tester le flux des joueurs et gérer les Tickets Joueurs avec notre API.
Il y a cinq étapes pour implémenter notre matchmaker dans votre jeu :
La première étape consiste à créer un compte et utiliser notre exemple de jeu FPS. Voilà, vous êtes (techniquement) à mi-chemin ! Il ne vous reste plus 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. 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 aborde la fonction de chaque fonction de règles de matchmaking (« Explorer la Configuration »).
L'étape 3 (« Examiner les Détails de l'Instance ») couvre votre matchmaker personnel et spécifique pour s'assurer qu'il est déployé et fonctionne avec la conception de votre jeu.
L'étape 4, comme le nom l'indique (« 4. Tester l'API des Tickets »), concerne entièrement le test des demandes de matchmaking des joueurs reçues par le matchmaker, appelées tickets.
L'étape 5 (« Intégrer le Matchmaking dans votre Jeu ») met en évidence comment intégrer le matchmaker dans le projet de votre moteur.
Si vous avez des difficultés de dépannage, notre Centre d'Apprentissage approfondi propose des conseils supplémentaires de dépannage.
1. Configuration du Niveau Gratuit
Inscrivez-vous pour votre compte gratuit Edgegap, et naviguez vers la page de tableau de bord du Matchmaker.
À partir de là, cliquez d'abord sur Créer un Matchmaker, puis saisissez :
Un nom pour votre matchmaker – qui est purement pour votre propre référence, par exemple
quickstart-dev,Ensuite, téléchargez l'exemple simple suivant en tant que configuration JSON ci-dessous pour votre jeu FPS :
(petit rappel, assurez-vous de changer le nom de l'application et la version pour qu'ils correspondent à votre Application et Versions !)
S'il n'apparaît aucune erreur de validation, appuyez sur Créer et Démarrer et attendez que le processus se termine. Cela entraînera le démarrage d'un nouveau cluster gratuit, avec votre matchmaker Simple Example.
Vous pouvez maintenant passer à l'étape suivante.
2. Explorer la Configuration
Règles Uniques pour les Jeux FPS
Spécifiquement pour les jeux FPS, vous pouvez définir plusieurs Profils de Matchmaking pour des règles et paramètres spécifiques aux modes de jeu :
restreindre le rang dans une différence entre deux joueurs pour des jeux plus décontractés,
restreindre la différence de rang pour n'autoriser que des adversaires du même rang pour les jeux classés,
permettre aux joueurs de fournir leurs préférences de carte et choisir une carte convenant à tous,
ajouter une UI de Sélection de Hub pour restreindre les adversaires à des Balises de Ping spécifiées,
restreindre la latence du matchmaking à un seuil maximum pour éviter de faire correspondre des joueurs éloignés,
restreindre la latence du matchmaking à une différence maximum pour maximiser l'équité des ping,
allouer plus de CPU ou de mémoire en utilisant différentes Versions d'Apps lorsque plus de joueurs sont autorisés,
Rejoindre en Groupe pour des salons préfabriqués ou pour remplir des équipes sans dépasser les tailles d'équipe.
Commencez avec les conditions idéales, et étendre les restrictions pour assurer des matchs rapides :
relâchez lentement les restrictions de latence au fil du temps pour trouver plus de joueurs,
augmentez lentement la différence de rang autorisée pour trouver plus de joueurs,
augmentez le temps entre les expansions pour les plus hauts rangs (challengers), car moins de joueurs sont disponibles.
Créer des tickets avec un rang plus élevé pour des matchs de promotion, pour faire correspondre avec des adversaires plus coriaces.
Définissez des profils séparés pour les tricheurs afin de s'assurer que les tricheurs signalés ou les joueurs avec un grand nombre de rapports de modération n'affectent 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.mineur.patch :
majeurles versions incluent des changements majeurs nécessitant une révision de l'intégration,les versions
mineuresincluent des améliorations importantes rétrocompatibles,les versions
patchincluent des correctifs de bugs et des améliorations mineures.
Certaines 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 client).
Pour nous assurer que les plantages inattendus des clients ou les tickets abandonnés ne restent pas et n'occupent pas vos ressources de matchmaker, les tickets seront annulés après ticket_expiration_period entraînant le changement de leur statut en CANCELLED et ensuite supprimés définitivement 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 Versions d'Apps avec la quantité prédéfinie de ressources CPU et de mémoire (RAM) requises.
Les Règles de Matchmaking dans le jeu de règles initial doivent être respectées pour que les joueurs soient regroupés ensemble, 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_countouteam_size.
Règle du Nombre de Joueurs
C'est une règle spéciale définissant combien de joueurs doivent correspondre pour initier l'assignation :
team_countse réfère au nombre d'équipes, 1 équipe peut être utilisée pour des modes coopératifs ou chacun pour soi,team_sizese 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








