Revenir aux actualités des développeurs

Créer votre expérience VR multijoueur

Les expériences multijoueur ont pris de plus en plus d’importance dans l’écosystème VR. Les fonctionnalités multijoueur permettent aux utilisateurs et utilisatrices de trouver facilement d’autres joueurs et joueuses et de les inviter pour jouer ensemble dans divers jeux et applications. Dans cette série d’articles de blog et de vidéos en quatre parties intitulée Créer votre expérience VR multijoueur , nous allons examiner les fonctionnalités multijoueur du SDK de la plateforme dans Quest avec l’aide de notre exemple SharedSpaces Open Source créé dans Unity, et nous vous montrerons comment utiliser cet exemple pour créer votre propre application multijoueur. Si vous le souhaitez, vous pouvez également vous informer en regardant cette vidéo sur la chaîne YouTube Meta Open Source.

Dans l’article de blog d’aujourd’hui, nous allons passer en revue les fonctionnalités multijoueur du SDK de la plateforme et voir ce qu’elles vous permettent de réaliser. Nous examinerons également l’exemple Unity SharedSpaces d’App Lab et verrons les fonctionnalités multijoueur en action.

Fonctionnalités multijoueur

Les fonctionnalités multijoueur Quest, telles que Destinations, Group Presence, Invites, Invite Link, Rosters et bien d’autres, permettent aux utilisateurs et utilisatrices de trouver d’autres joueurs et joueuses et de les inviter pour jouer ensemble dans des applications de réalité virtuelle (VR). Ces fonctionnalités améliorent les interactions sociales au sein de votre application. Elles permettent à vos plus grands fans d’inviter d’autres utilisateurs et utilisatrices à les rejoindre, créant ainsi une expérience multijoueur unique en son genre où les joueurs et joueuses ont l’impression d’être physiquement présent·es dans l’application.

Destinations

Les Destinations sont des lieux où se rendent les utilisateurs et utilisatrices dans votre application. Elles sont essentielles pour les fonctionnalités multijoueur dans le développement de Quest. L’illustration suivante montre trois de ces destinations dans l’exemple d’application SharedSpaces. Dans notre prochain article de blog, nous verrons comment configurer les destinations dans votre application.

Group Presence

La fonctionnalité Group Presence (Présence du groupe) donne des informations sur l’application dans laquelle les utilisateurs et utilisatrices se trouvent : s’il y a une correspondance (match), s’ils/elles se trouvent à une destination précise, s’ils/elles peuvent se retrouver, etc. Pour en savoir plus sur les fonctionnalités Destinations et Group Presence, consultez notre documentation. Celle-ci regroupe différents scénarios et explique comment les exploiter au mieux dans vos applications.

Deep Links

La fonctionnalité Deep Links (Liens profonds) permet aux développeur·euses de diriger les utilisateurs et utilisatrices vers une expérience spécifique. Dès qu’un utilisateur ou une utilisatrice lance votre application pour rejoindre un·e ami·e ou accéder à une destination, le lien profond inclut les informations sur la destination voulue, et tout lobby ou toute correspondance (match).

La première étape permettant de lancer une expérience multijoueur consiste à intégrer des destinations, la présence du groupe et des liens profonds. Dans notre prochain article de blog, nous verrons comment créer votre propre version de l’exemple Unity SharedSpaces et comment la configurer pour votre application.

Invite to App

La fonctionnalité Invite to App (Inviter dans l’application) permet aux joueurs et joueuses d’inviter facilement des ami·es Quest et des utilisateurs ou utilisatrices avec lesquel·les ils ou elles ont récemment joué dans des lobbys existants via le menu Quest dans les jeux compatibles.

Lorsque vous envoyez une invitation, la personne invitée voit s’afficher une notification en VR et dans l’application mobile Oculus. Cette notification l’invite à rejoindre l’expérience.

Pour obtenir plus d’informations sur les API Invite to App et savoir comment les utiliser dans votre expérience, consultez la page de documentation.

Invite Link

Vous pouvez aussi utiliser la fonctionnalité Invite Link (Lien d’invitation) pour accéder à une destination avec un groupe d’ami·es dans l’application mobile Oculus.

Le lien utilise l’API Group Presence pour s’assurer que tous les utilisateurs et toutes les utilisatrices accèdent à la même session. Pour plus d’informations sur la fonctionnalité Invite Link, consultez la page de documentation.

Roster

La fonctionnalité Roster (Liste de participants) permet aux utilisateurs et utilisatrices de savoir qui participe au jeu avec eux/elles. Les utilisateurs et utilisatrices renseigné·es par le jeu se trouvent dans le même ID de session de lobby que l’utilisateur ou utilisatrice actif/active qui a été défini·e dans le jeu. Dans l’exemple SharedSpaces, la liste de participant·es est disponible en accédant au panneau correspondant. L’image ci-dessous montre un exemple de la manière dont la liste de participant·es indique qui joue avec vous et qui a été invité à vous rejoindre.

Exemple Unity SharedSpaces

Maintenant que nous avons passé en revue quelques-unes des fonctionnalités multijoueur du SDK de la plateforme, penchons-nous sur l’exemple de projet appelé SharedSpaces qui montre ces fonctionnalités en action. Nous utiliserons la version Unity de cet exemple. Si vous préférez la version Unreal, toutefois, vous pouvez la trouver sur App Lab.

Pour commencer, regardons comment fonctionne l’exemple Unity SharedSpaces. L’exemple utilise trois couches de réseautage :

  • Le SDK de notre plateforme, qui nous permet de définir les destinations, la présence, le lobby et la correspondance (match).
  • La couche transport, le SDK Photon, qui permet aux utilisateurs et utilisatrices d’un même espace de communiquer.
  • Les fonctionnalités de réseautage fournies par le SDK Netcode for GameObjects d’Unity.

L’illustration ci-dessous résume ces trois couches.

Installation de l’exemple

Maintenant que vous avez un aperçu du fonctionnement de l’application SharedSpaces, vous pouvez télécharger l’exemple Unity SharedSpaces sur App Lab et l’essayer sur votre casque Quest.

Exécution de l’exemple

Au lancement de l’application sur votre casque Quest, vous vous trouvez dans une pièce appelée Lobby. La personne qui joue est représentée par un personnage en couleur que vous pouvez contrôler à l’aide de vos manettes. La manette gauche permet de déplacer le joueur/la joueuse, et la manette droite bouge la caméra de sorte que vous pouvez voir facilement l’environnement dans lequel vous évoluez et vous déplacer comme bon vous semble. Le bouton Y sur la manette permet de faire sauter le joueur ou la joueuse.

Sur la droite, un panneau de débogage vous permet d’afficher le statut des destinations, la couche de réseautage et les informations sur les utilisateurs et utilisatrices qui rejoignent le salon. Sur la gauche, s’affichent trois destinations privées accessibles, et sur la droite, une destination publique est disponible.

En haut à gauche est affichée l’option qui vous permet d’inviter des ami·es à vous rejoindre dans cette expérience. Il s’agit de la fonctionnalité Invite to App abordée plus haut.

En haut à droite, vous pouvez voir une liste de participant·es contenant des informations sur la présence du groupe. Il s’agit de la fonctionnalité Roster du SDK de la plateforme.

Derrière vous, vous trouverez une section de peinture où vous avez la possibilité de changer la couleur de votre joueur ou joueuse. Vous pouvez également changer sa couleur en appuyant sur le bouton X de votre manette.

En bas à gauche et à droite, une option permet d’interroger vos ami·es et vous-même pour obtenir plus d’informations sur les joueurs et joueuses.

Exemple de scénario test

Maintenant que vous avez fait le tour de l’environnement, essayez d’accéder à l’une des destinations. Le salon violet (Purple Room) est une destination publique à laquelle tout le monde peut accéder depuis n’importe quel lobby. Retournons maintenant dans le lobby.

Essayez d’accéder à un autre salon. Les salons rouge, bleu et vert sont privés, et une invitation est nécessaire pour y entrer.

Avant d’entrer dans l’un de ces salons, vous pouvez inviter un autre joueur ou une autre joueuse à vous rejoindre. Accédez au panneau Invite friends (Inviter des amis) pour consulter la liste des ami·es disponibles et inviter l’un d’eux/l’une d’elles. Dans la mesure où vous avez lancé l’expérience dans le lobby, vous en êtes le oula client·e principal·e et l’organisateur ou organisatrice.

Une notification s’affiche pour informer votre ami·e que vous l’avez invité·e à vous rejoindre. Si cette personne accepte l’invitation, elle apparaît dans votre lobby. À partir de là, cette personne et vous partagez le même ID de lobby pour cette session.

Vous pouvez maintenant démarrer une correspondance (match) privée dans le salon bleu. Lorsque vous entrez dans le salon bleu, il se peut que votre ami·e y soit déjà présent·e. Dans ce cas, il/elle devient l’organisateur/organisatrice du salon et vous êtes connecté·es. Vous possédez le même ID de session de correspondance (match) correspondant au salon bleu. Si vous quittez le salon bleu, vous vous retrouvez ensemble dans votre lobby, car vous en partagez l’ID.

Si vous aviez invité votre ami·e alors que vous étiez dans le salon bleu et cette personne dans son propre lobby, et qu’elle ait accepté votre invitation, son ID de correspondance aurait été celui correspondant au salon bleu, mais son ID de lobby aurait été celui dont elle disposait avant. Dans ce cas, en quittant le salon bleu, vous seriez retourné·e·s chacun·e dans votre propre lobby.

Dans cet article de blog, nous avons fait un petit tour rapide de l’exemple d’application Unity SharedSpaces. Nous avons passé en revue quelques-unes des fonctionnalités multijoueur disponibles dans le SDK de la plateforme, et comment elles s’imbriquent dans l’application Unity SharedSpaces sur Quest. Dans notre prochain article de blog, nous verrons comment créer votre propre copie de cet exemple, y compris comment la télécharger depuis Github, puis la créer et l’exécuter sur votre casque Quest.


À propos de cette série

Cette série se penche sur les fonctionnalités multijoueur du SDK de la plateforme dans Quest en explorant notre exemple SharedSpaces Open Source créé dans Unity. Cet article de blog est le premier d’une série de quatre articles relatifs à la série de vidéos Créer votre expérience VR multijoueur.

Pour en savoir plus sur les fonctionnalités multijoueur du SDK de la plateforme et sur le fonctionnement de l’exemple SharedSpaces, consultez cette session Connect sur la conception et le développement d’applications multijoueur pour Quest. Essayez l’exemple Unity SharedSpaces en accédant à App Lab et en l’exécutant sur votre propre casque. Pour en savoir plus sur l’utilisation des fonctionnalités multijoueur du SDK de la plateforme dans vos propres applications, reportez-vous à notre documentation sur les fonctionnalités multijoueur.

Pour en savoir plus sur Meta Quest, consultez notre site web, abonnez-vous à notre chaîne YouTube, ou suivez-nous sur Twitter et Facebook. Si vous avez des questions, des suggestions ou des commentaires, n’hésitez pas à nous le faire savoir dans les forums destinés aux développeurs/développeuses.

Pour en savoir plus sur Meta Open Source, consultez notre site Open Source, abonnez-vous à notre chaîne YouTube, ou suivez-nous sur Twitter et Facebook.