Matchmaking
Voici un flux simplifié qui montre comment utiliser le matchmaking et MPSD avec PlayFab Party :- Les joueurs créent des sessions MPSD et s’y rassemblent ; ces sessions représentent les groupes qui souhaitent jouer ensemble d’une session de matchmaking à l’autre. Les joueurs se rassemblent dans ces sessions à l’aide des fonctionnalités d’invitation et de jonction de XBOX.
- Ces groupes de joueurs soumettent des tickets au service de matchmaking, qui rassemble les groupes de joueurs compatibles dans une session de matchmaking. Cette session de matchmaking est elle-même représentée par un nouveau document de session que les joueurs rejoignent ensuite. Les joueurs doivent également écouter les modifications apportées à ce document de session.
- Une fois la session de matchmaking finalisée et la liste des participants verrouillée, le titre doit désigner l’un des membres de la session de matchmaking pour configurer le réseau PlayFab Party. Une stratégie simple pour sélectionner le créateur du réseau Party consiste à utiliser le premier membre du document de session MPSD de matchmaking.
-
Le membre sélectionné crée le réseau avec une
PartyInvitationinitiale qui limite l’accès au réseau aux seuls membres de la session de matchmaking. Une fois la création du réseau terminée avec succès, le membre sélectionné doit publier le descripteur de réseau et l’invitation Party obtenus dans le document de session, sous forme de propriété de session, afin que les autres membres puissent les utiliser. -
Lorsque chaque membre constate la mise à jour du document de session, il peut utiliser le descripteur de réseau et l’invitation pour se connecter au réseau et le rejoindre.
Nous avons présenté ici un flux permettant d’intégrer le matchmaking et MPSD à PlayFab Party. Les idées essentielles de ce flux peuvent être étendues à d’autres flux MPSD qui pourraient vous intéresser, mais la présentation de tous les flux possibles dépasse le cadre de cette documentation. Pour plus d’informations, consultez la documentation MPSD complète.
Invitations de plateforme
Voici un flux qui montre comment intégrer les invitations de plateforme XBOX à PlayFab Party :-
PlayerA crée un document de session MPSD, écoute les modifications de la session et crée un réseau Party. Une fois la création du réseau Party terminée, PlayerA publie le descripteur de réseau et une invitation initiale (si nécessaire) dans le document de session MPSD.
- Lorsque PlayerA souhaite inviter PlayerB sur le réseau Party, PlayerA envoie une invitation de plateforme à PlayerB via l’interface utilisateur du jeu ou de la console.
- PlayerB reçoit l’invitation de plateforme, qui comprend un « handle d’invitation » que PlayerB peut utiliser pour trouver le document de session MPSD de PlayerA.
- PlayerB rejoint le document de session et écoute les modifications.
-
PlayerA constate que PlayerB a rejoint le document de session. PlayerA crée une nouvelle invitation que PlayerB pourra utiliser et publie cette invitation dans le document de session
-
PlayerB voit l’invitation publiée dans le document de session et l’utilise pour rejoindre le réseau Party.
Les invitations créées via PartyNetwork::CreateInvitation deviennent non valides si le PartyLocalUser qui les a créées quitte le réseau. Par conséquent, si un nouvel utilisateur s’ajoute à un document de session mais que l’utilisateur qui l’a invité quitte le réseau, il est recommandé que le nouvel utilisateur se retire du document de session et attende d’être réinvité par un autre utilisateur.
Jonction en cours de partie
La jonction de sessions de jeu en cours est très similaire au scénario des invitations de plateforme. La principale différence est qu’au lieu que PlayerA envoie un « handle d’invitation » à PlayerB, PlayerB obtient un « handle de jonction » lorsqu’il lance une jonction en cours de partie depuis l’interface utilisateur de la plateforme. À l’aide de ce « handle de jonction », PlayerB rejoint le document de session et écoute les modifications. PlayerA répond en créant une nouvelle invitation Party pour lui et en la publiant dans le document de session. PlayerB voit cette nouvelle invitation à côté du descripteur de réseau et l’utilise pour rejoindre le réseau Party.Les invitations créées via PartyNetwork::CreateInvitation deviennent non valides si le PartyLocalUser qui les a créées quitte le réseau. Par conséquent, si un nouvel utilisateur reçoit une invitation Party par le flux de jonction en cours de partie, mais ne peut pas l’utiliser parce que l’utilisateur qui l’a créée est parti, il est recommandé que le nouvel utilisateur se retire du document de session et le rejoigne plus tard. Cela permettra à un autre membre de la session de relancer le flux et de générer une nouvelle invitation Party pour cet utilisateur.
Déconnexions et nettoyage
Si un joueur quitte un réseau Party ou en est déconnecté d’une autre manière, il doit également se retirer de toutes les sessions MPSD associées à ce réseau Party. Les déconnexions d’un réseau Party qui ne sont pas initiées par une opération PartyNetwork::LeaveNetwork sont considérées comme fatales. Après une déconnexion fatale, un joueur peut essayer de se reconnecter et de se réauthentifier auprès du réseau, mais il doit également rejoindre de nouveau la session MPSD. Si la connexion d’un joueur à une session MPSD est temporairement interrompue, il peut être déconnecté de cette session. Les joueurs peuvent tenter de rejoindre de nouveau la session, mais en cas d’échec, ils doivent se retirer volontairement du réseau Party en appelant PartyNetwork::LeaveNetwork.Les mécanismes et heuristiques qui détectent les déconnexions des réseaux Party et des sessions MPSD sont différents. Même dans les scénarios où un joueur sera déconnecté à la fois du réseau Party et de la session MPSD, ces événements de déconnexion sont indépendants et il n’est pas garanti qu’ils se produisent à des moments proches. Les titres doivent gérer le scénario dans lequel un joueur n’est déconnecté que du réseau Party ou que de la session MPSD.
