Volver a las novedades para desarrolladores

Crear una experiencia de realidad virtual multijugador

24 de mayo de 2022DeNavyata Bawa

Las experiencias multijugador tienen un papel cada vez más importante en el ecosistema de la realidad virtual. Gracias a las funciones multijugador, los usuarios pueden buscar, invitar y jugar juntos más fácilmente en distintos juegos y aplicaciones. En esta serie de publicaciones de blog y vídeos denominada Crear una experiencia de realidad virtual multijugador y formada por cuatro partes, exploraremos nuestra muestra de código abierto SharedSpaces creada en Unity para hablar de las funciones multijugador de Quest del SDK de la plataforma y te enseñaremos a usar la muestra para crear tu propia aplicación multijugador. Si te interesa aprender viendo o escuchando, mira este vídeo en el canal de Meta Open Source en YouTube.

En la entrada del blog de hoy, hablaremos de las funciones multijugador del SDK de la plataforma y de lo que puedes crear con él. También hablaremos de la muestra SharedSpaces de Unity de App Lab y veremos estas funciones multijugador en acción.

Funciones multijugador

Gracias a las funciones multijugador de Quest (destinos, presencia de grupo, invitaciones, enlace de invitación, listas, etc.), los usuarios pueden buscar, invitar y jugar juntos en las aplicaciones de realidad virtual. Estas funciones aumentan las interacciones sociales en la aplicación y permiten a tus mayores fans invitar a otros usuarios a unirse a ellos, lo que crea una experiencia multijugador única en la que los jugadores sienten que están físicamente con sus amigos en la aplicación.

Destinos

Los destinos son las ubicaciones a las que viajan los usuarios en la aplicación y son imprescindibles en las funciones multijugador del desarrollo de Quest. En la figura siguiente se muestran tres de los destinos de la aplicación de muestra SharedSpaces. En la siguiente publicación del blog, hablaremos de los pasos que hay que seguir para configurar los destinos de la aplicación.

Presencia de grupo

La presencia de grupo proporciona información sobre la aplicación en la que se encuentra el usuario: si hay un partido, si están en un destino concreto, si es posible unirse a ellos, etc. Para obtener más información sobre los destinos y la presencia de grupo, consulta nuestra documentación sobre distintas situaciones de casos de uso y sobre la mejor manera de usarlos en la aplicación.

Enlaces profundos

Los enlaces profundos permiten a los desarrolladores dirigir a los usuarios a una experiencia concreta. Cuando alguien inicia la aplicación para unirse a un amigo o navega a un destino, el enlace profundo incluye información sobre el destino deseado y sobre cualquier lobby o partido.

El primer paso para activar una experiencia multijugador es integrar los destinos, la presencia de grupo y los enlaces profundos. En la siguiente publicación del blog, hablaremos de cómo crear tu propia versión de la muestra SharedSpaces de Unity y de cómo configurarlos para la aplicación.

Invitación a la aplicación

Con la invitación a la aplicación, los jugadores pueden invitar fácilmente a amigos de Quest y usuarios con los que hayan jugado recientemente a lobbies existentes mediante el menú de Quest en los juegos compatibles.

Al enviar una invitación, aparece una notificación en la realidad virtual y en la aplicación para móviles de Oculus de la persona invitada que les invita a unirse a la experiencia.

Para obtener más información sobre las API de invitación a la aplicación y sobre cómo puedes usarlas en la experiencia, consulta la página de documentación.

Enlace de invitación

También puedes usar un enlace de invitación para acceder a un destino con un grupo de amigos mediante la aplicación para móviles de Oculus.

El enlace de invitación usa la API de presencia de grupo para asegurarse de que todos los usuarios van a la misma sesión. Para obtener más información sobre el enlace de invitación, consulta la página de documentación.

Lista

La lista ayuda a los usuarios a ver qué amigos están en el juego con ellos. Los usuarios que añade el juego están en el mismo identificador de sesión del lobby cuando el juego ha definido la presencia del usuario actual. En la muestra SharedSpaces, se puede acceder a la lista pasando a la ventana de la lista. En la imagen siguiente se muestra un ejemplo de la forma en que la lista muestra qué jugadores están jugando contigo y a quién se ha invitado para que se una.

Muestra SharedSpaces de Unity

Ahora que ya hemos hablado de algunas funciones multijugador del SDK de la plataforma, centrémonos en el proyecto de muestra llamado SharedSpaces, que muestra estas funciones multijugador en acción. Nos centraremos en la versión de Unity de esta muestra; no obstante, si te interesa la versión de Unreal, puedes encontrarla en App Lab.

En primer lugar, hablemos del funcionamiento de la muestra SharedSpaces de Unity. La muestra usa tres capas de redes:

  • Nuestro SDK de la plataforma, que nos permite definir los destinos, la presencia, el lobby y el partido.
  • Nuestra capa de transporte, el SDK de Photon, que se encarga de la comunicación entre los usuarios que comparten un espacio.
  • Las funcionalidades de redes que proporciona el SDK de Unity Netcode for GameObjects.

En la figura siguiente se resumen las tres capas de las que hemos hablado.

Descargar la muestra

Ahora que ya tienes las nociones básicas de cómo funciona la aplicación SharedSpaces, puedes descargar la muestra SharedSpaces de Unity en App Lab y probarla en las gafas Quest.

Ejecutar la muestra

Al iniciar la aplicación en las gafas Quest, verás que empiezas en una sala llamada Lobby. El jugador está representado por un personaje colorido que puedes controlar mediante los controladores. El controlador izquierdo desplaza al jugador y el controlador derecho mueve la cámara para que puedas ver fácilmente el mundo que te rodea y elegir a dónde ir. Si pulsas el botón "Y" del controlador, el jugador salta.

Una ventana de depuración situada en la parte derecha te informa sobre el estado de los destinos y la capa de redes, e incluye información sobre quién se une a la sala. En la parte izquierda, verás tres destinos privados a los que puedes entrar, y en la parte derecha verás un destino público al que puedes entrar.

En la parte superior izquierda, verás la opción de invitar amigos para que se unan a ti en esta experiencia. Se trata de la función Invitación a la aplicación de la que hemos hablado previamente.

En la parte superior derecha, verás una lista con información sobre la presencia de grupo. Esta es la función Lista del SDK de la plataforma en acción.

Detrás de ti, hay una tienda de pintura donde puedes cambiar el color del jugador. Otra opción es pulsar el botón "X" del controlador para cambiar el color del jugador.

En la parte inferior izquierda y derecha, verás una opción para preguntarte a ti y a tus amigos y obtener más información sobre los jugadores.

Escenario de prueba de la muestra

Ahora que te has familiarizado con el espacio, prueba a entrar en uno de los destinos. La sala violeta es un destino público al que puede entrar cualquier persona y se puede acceder a ella desde cualquier lobby. Ahora volvamos al lobby.

Cuando hayas vuelto al lobby, intenta entrar en otra sala. Las salas roja, azul y verde son privadas y necesitas una invitación para entrar.

Antes de entrar en una de las salas privadas, puedes invitar a alguien para que se una a ti. Ve a la ventana "Invitar a amigos" para ver una lista de los amigos disponibles e invita a un amigo de la lista. Como empezaste esta experiencia en el lobby, eres el cliente maestro y organizador del lobby.

El amigo que has invitado verá una notificación de que lo has invitado a unirse a ti. Si acepta la invitación de unirse, lo verás en el lobby. A partir de este momento, compartís el mismo identificador de lobby para esta sesión.

Ahora ya puedes iniciar un partido privado en la sala azul. Cuando entres en la sala azul, es posible que veas que tu amigo ha entrado antes que tú. Como ha entrado primero, es el organizador de la sala y tú estás conectado a esa persona. También tenéis el mismo identificador de sesión del partido que corresponde a la sala azul. Si sales de la sala azul, los dos volveréis al lobby, porque compartís el mismo identificador de lobby.

Si hubieses invitado a tu amigo mientras estabas en la sala azul y él en su propio lobby y hubiese aceptado la invitación, su identificador de partido habría cambiado y sería el mismo identificador de sesión que corresponde a la sala azul, pero su identificador de lobby habría sido el mismo que tenía antes. En tal caso, si los dos hubieseis salido de la sala azul, habríais vuelto a vuestros propios lobbies, que serían distintos.

Esta ha sido una guía rápida de la aplicación de muestra SharedSpaces de Unity. Hemos hablado de algunas de las funciones multijugador que el SDK de la plataforma ofrece y de su funcionamiento en la aplicación SharedSpaces de Unity en Quest. En la siguiente publicación del blog, hablaremos de cómo crear tu propia copia de esta muestra, incluido el proceso de descarga de GitHub y la creación y ejecución en las gafas Quest.


Información sobre esta serie

En esta serie, exploraremos nuestra muestra de código abierto SharedSpaces creada en Unity para hablar de las funciones multijugador del SDK de la plataforma en Quest. Esta es la primera entrada de blog de una serie publicaciones formada por cuatro partes que complementa la serie de vídeos Crear una experiencia de realidad virtual multijugador.

Para obtener más información sobre las funciones multijugador del SDK de la plataforma y sobre el funcionamiento de la muestra SharedSpaces, consulta esta sesión de Connect que trata sobre la creación y el desarrollo de aplicaciones multijugador para Quest. Para probar la muestra SharedSpaces de Unity, visita App Lab y ejecútala en tus gafas. Para obtener más información sobre cómo usar las funciones multijugador del SDK de la plataforma en tus aplicaciones, consulta nuestra documentación sobre las funciones multijugador.

Para obtener más información sobre Meta Quest, visita nuestro sitio web, suscríbete a nuestro canal de YouTube o síguenos en Twitter y Facebook. Si tienes alguna pregunta, sugerencia o comentario, contacta con nosotros en los foros para desarrolladores.

Para obtener más información sobre Meta Open Source, visita nuestro sitio de código abierto, suscríbete a nuestro canal de YouTube o síguenos en Twitter y Facebook.