Comprendre la relation entre Lobby et Matchmaking
Lobby et Matchmaking fonctionnent en parfaite harmonie pour créer une expérience de matchmaking multijoueur cohérente pour votre titre.- Matchmaking rassemble un ensemble de joueurs souhaitant participer à une session de jeu.
- Une fois qu’un ensemble de joueurs a été identifié par le matchmaking, Lobby leur fournit un moyen de communication pour se coordonner afin de rejoindre ensemble une session de jeu.
- Les scénarios courants d’utilisation d’un lobby incluent le partage des informations de connexion au serveur de jeu, le partage des adresses IP des clients pour les jeux pair à pair et le partage des configurations des joueurs.
Lobbies arrangés
Les titres peuvent utiliser les « lobbies arrangés » (Arranged Lobbies) pour créer facilement des lobbies destinés aux joueurs regroupés par le matchmaking. Une fois que le ticket de matchmaking a réussi à associer un groupe de joueurs, il contient une lobbyArrangementString. Chaque joueur peut alors transmettre cette chaîne d’arrangement à PFMultiplayerJoinArrangedLobby pour rejoindre le même lobby.Exemple de scénario
Un joueur souhaite jouer avec d’autres personnes. Il lance une partie multijoueur, invite des amis et attend que d’autres joueurs le rejoignent.Spécifications de conception
- La partie est ouverte à tous.
- L’ensemble initial de joueurs est constitué au moyen du matchmaking.
- Le propriétaire du lobby peut inviter des amis à le rejoindre.
- Lorsque le nombre requis de joueurs est atteint, tous les joueurs du lobby reçoivent un message leur demandant s’ils sont prêts à commencer la partie. Ils disposent d’une minute pour répondre. La partie commence une fois que tous les joueurs ont confirmé qu’ils étaient prêts.
- Si des joueurs du lobby n’ont pas confirmé qu’ils étaient prêts, le propriétaire du lobby peut les retirer en tant que joueurs inactifs et utiliser le matchmaking pour trouver rapidement de nouveaux joueurs pour les remplacer.
- Lorsqu’un joueur est déconnecté de façon inattendue pendant la partie, le titre doit lui trouver un remplaçant au moyen du matchmaking, à l’aide du remplissage côté serveur (server backfill).
- À la fin de la partie, tous les joueurs reviennent dans le lobby. Les succès d’équipe sont attribués à tous les joueurs de façon égale. Ils peuvent rester pour commencer une nouvelle partie ensemble ou quitter le lobby.
Implémentation
Cette section décrit comment utiliser Matchmaking et Lobby pour implémenter les spécifications de conception.- Créer un lobby issu du matchmaking
- Envoyer des invitations à des amis
- Permettre aux joueurs de trouver et de rejoindre la partie
- Obtenir la confirmation des joueurs pour commencer la partie
- Retirer et remplacer les joueurs inactifs
- Gérer une partie terminée
Créer un lobby issu du matchmaking
Créez un lobby public pour un groupe de joueurs réunis par le matchmaking.- Chaque joueur crée un ticket de matchmaking avec les attributs de matchmaking spécifiés.
- Pour en savoir plus, consultez Spécifier les attributs des tickets.
- Tous les tickets créés sont ajoutés à une file d’attente de matchmaking pour être associés entre eux.
- Les tickets sont associés en fonction de règles.
- Les règles peuvent être définies dans la configuration de la file d’attente de matchmaking.
- Pour en savoir plus, consultez Configurer les files d’attente de matchmaking.
- Après le matchmaking, chaque joueur rejoint le lobby issu du matchmaking au moyen de la lobbyArrangementString du ticket de matchmaking.
- Lorsque vous rejoignez le lobby arrangé, spécifiez que l’accessPolicy du lobby est Public afin de l’ouvrir.
- Pour plus de renseignements, consultez Lobbies arrangés.
- Le premier joueur qui rejoint le lobby arrangé en devient le propriétaire.
- Les propriétés du lobby peuvent servir à spécifier la carte de jeu qu’une session de jeu compte utiliser.
- Pour plus de renseignements, consultez Propriétés du lobby.
- Utilisez les propriétés de recherche pour permettre aux joueurs de trouver ce lobby et cette session de jeu parmi tous les lobbies actifs de votre titre.
- Pour plus de renseignements, consultez Propriétés de recherche.
Envoyer des invitations à des amis
Permettez au propriétaire du lobby de sélectionner des amis et de leur envoyer des invitations.- Obtenez la liste d’amis du propriétaire du lobby
- Affichez une interface utilisateur de jeu permettant au propriétaire du lobby de sélectionner les amis à inviter
- Envoyez des invitations en jeu aux amis sélectionnés.
- Pour plus de renseignements, consultez Invitations de lobby.
Permettre aux joueurs de trouver et de rejoindre la partie
Configurez les propriétés de recherche du lobby pour permettre aux autres joueurs de le trouver- Affichez tous les lobbies dans l’interface utilisateur de votre jeu. Votre titre doit également permettre aux joueurs de saisir des termes de recherche.
- Utilisez PFMultiplayerFindLobbies avec les paramètres de recherche du joueur pour retourner la liste des lobbies correspondant aux critères.
- Lorsqu’un joueur choisit de rejoindre une partie, utilisez PFMultiplayerJoinLobby pour l’ajouter à la partie.
Obtenir la confirmation des joueurs pour commencer la partie
Informez tous les joueurs du lobby que la partie est prête à commencer- Lorsque le nombre requis de joueurs se trouve dans le lobby, affichez une interface utilisateur de jeu invitant les joueurs à confirmer qu’ils sont prêts à jouer.
- Permettez au propriétaire du lobby de consulter ces réponses de confirmation.
Retirer et remplacer les joueurs inactifs
Le propriétaire du lobby peut retirer les joueurs inactifs ou déconnectés et lancer le matchmaking pour combler les places restantes- Si un joueur se déconnecte ou ne répond pas dans le délai défini (une minute), utilisez PFLobbyForceRemoveMember pour le retirer.
- Le propriétaire du lobby utilise CreateServerBackfillTicket pour créer un ticket de matchmaking. Les tickets créés à l’aide de cette API sont prioritaires lors de la recherche. Cette approche minimise les perturbations du jeu. Pour en savoir plus, consultez Utilisation des tickets de remplissage côté serveur.
- Après avoir rejoint le lobby de remplissage, le propriétaire du lobby de la partie peut partager la chaîne de connexion du lobby d’origine avec les nouveaux joueurs de remplissage, qui peuvent alors rejoindre le lobby d’origine.
- Prolongez l’heure de début de la partie si nécessaire.
Gérer une partie terminée
Une fois la partie terminée, tous les joueurs reviennent à l’écran du lobby pour clore la session de jeu.- Les lobbies sont temporaires : toutes les données du lobby devant être conservées doivent l’être par chaque joueur à ce stade.
- Par exemple, certains scénarios de jeu peuvent tirer parti du traitement des données stockées dans les propriétés des membres pour les transformer en succès de joueur.
- Les joueurs qui souhaitent continuer à jouer avec le même groupe restent dans le lobby.
- Les joueurs qui souhaitent arrêter de jouer avec le même groupe quittent le lobby avec PFLobbyLeave et recommencent le processus avec un nouveau groupe de matchmaking.
