Voltar para Notícias para desenvolvedores

Criando uma experiência multijogador de VR

24 de maio de 2022PorNavyata Bawa

As experiências multijogador vêm se tornando uma parte cada vez mais importante do ecossistema de VR. Com esses recursos, as pessoas podem se encontrar, enviar convites e jogar juntas com mais facilidade em diferentes jogos e aplicativos. Na série de vídeos e publicações do blog Building Your Multiplayer VR Experience, que é dividida em quatro partes, apresentaremos os recursos multijogador do SDK da Plataforma no Quest, explorando a amostra do SharedSpaces em código aberto criada no Unity. Além disso, demonstraremos como você pode usar a amostra para desenvolver o seu próprio aplicativo multijogador. Para assistir ou escutar conteúdo sobre o tema, confira este vídeo no canal do Meta Open Source no YouTube.

Na publicação do blog de hoje, falaremos sobre os recursos multijogador do SDK da Plataforma e o que é possível criar com eles. Também apresentaremos a amostra do SharedSpaces no Unity do App Lab para mostrar os recursos multijogador em ação.

Recursos multijogador

Com os recursos multijogador do Quest (destinos, presença do grupo, convites, link de convite, lista de participantes e muito mais), os usuários podem se encontrar, enviar convites e jogar juntos nos aplicativos de VR. Os recursos aprofundam as interações sociais no aplicativo e permitem que os fãs mais dedicados convidem outras pessoas para jogar também. Isso cria experiências únicas, aproximando jogadores e amigos no aplicativo.

Destinos

Os destinos, que consistem nos locais que as pessoas visitam no aplicativo, são essenciais para os recursos multijogador no desenvolvimento do Quest. A figura a seguir apresenta três destinos do SharedSpaces. Na próxima publicação, apresentaremos as etapas para você configurar os destinos do aplicativo.

Presença do grupo

A presença do grupo mostra informações sobre o aplicativo acessado por uma pessoa, indicando se há uma partida, se ela está em um destino específico, se outros usuários podem participar e muito mais. Para saber mais sobre os recursos de destinos e presença do grupo, confira a documentação sobre diversos cenários de casos de uso e descubra como eles podem ser usados no aplicativo.

Deep links

Com os deep links, os desenvolvedores podem direcionar os usuários a uma experiência específica. Quando alguém inicia o aplicativo para se juntar a um amigo ou navega para um destino, o deep link inclui informações sobre o destino desejado, além de um lobby ou uma partida.

O primeiro passo para permitir uma experiência multijogador é integrar destinos, presença do grupo e deep links. Na próxima publicação, ensinaremos a criar uma versão da amostra do SharedSpaces no Unity e a configurar esses recursos no aplicativo.

Convidar para o aplicativo

O jogador pode convidar amigos e usuários com quem jogou recentemente para lobbies existentes de forma integrada a partir do menu do Quest em jogos compatíveis.

Uma notificação aparecerá para a pessoa convidada em VR e no aplicativo Oculus para celular, chamando-a para se juntar à experiência.

Consulte a página de documentação para saber mais sobre as APIs de Aplicativo e como usá-las na sua experiência.

Link de convite

Também é possível usar um link de convite para ir a um destino com um grupo de amigos no aplicativo Oculus para celular.

O link de convite usa a API de Presença do Grupo para garantir que todos sejam direcionados à mesma sessão. Consulte a página de documentação para saber mais sobre links de convite.

Lista de participantes

Na lista de participantes, os usuários podem ver quais amigos também estão no jogo. Os usuários listados aparecem na mesma identificação da sessão no lobby, quando a presença do usuário atual é definida pelo jogo. Na amostra do SharedSpaces, os nomes dos participantes ficam disponíveis no painel da lista. No exemplo a seguir, a lista de participantes apresenta os usuários que estão jogando e os que foram convidados por você.

Amostra do SharedSpaces no Unity

Agora que já apresentamos alguns recursos multijogador do SDK da Plataforma, veremos uma amostra de projeto chamada SharedSpaces, que exibe alguns dos recursos em ação. Analisaremos a versão do Unity da amostra. Para encontrar a versão do Unreal, acesse o App Lab.

Primeiro, explicaremos como funciona a amostra do SharedPaces no Unity. Ela usa estas três camadas de rede:

  • O SDK da Plataforma, que permite definir os destinos, a presença, o lobby e a partida.
  • A camada de transporte, o SDK de Photon, que é responsável pela comunicação entre usuários que compartilham um espaço.
  • Os recursos de rede, que são fornecidos pelo Netcode do Unity para o SDK de GameObjects.

A figura a seguir ilustra as três camadas.

Instalando a amostra

Agora que você já sabe um pouco sobre como o aplicativo SharedSpaces funciona, baixe a amostra no App Lab e teste-a no headset do Quest.

Executando a amostra

Ao iniciar o aplicativo no headset, você notará que está em uma sala chamada Lobby. Um personagem colorido representa o jogador, e você pode movimentá-lo usando os controles. O controle esquerdo move o jogador, e o direito move a câmera. Assim, você pode ver o cenário ao seu redor e escolher aonde ir. Quando pressionado, o botão Y faz o jogador pular.

O painel de depuração à direita mostra o status dos destinos, a camada de rede e informações sobre quem entra na sala. À esquerda, você verá três destinos privados em que pode entrar; à direita, verá um destino público.

No canto superior esquerdo, aparece a opção de convidar amigos para participar da experiência. Esse é o recurso Convidar para o aplicativo, apresentado anteriormente.

No canto superior direito, é possível ver a lista de participantes, que mostra informações sobre a presença do grupo. Esse é o recurso de Lista de participantes do SDK da Plataforma em ação.

Atrás de você, há uma oficina de pintura. Nela, você tem a opção de mudar a cor do personagem. Também é possível fazer isso pressionando o botão X do controle.

Abaixo à esquerda e à direita, há uma opção de fazer perguntas a você e aos seus amigos para obter mais informações sobre os jogadores.

Cenário de teste da amostra

Agora que você já conhece o espaço, tente entrar em um dos destinos. A sala Roxa é um destino público, em que todas as pessoas podem entrar a partir de qualquer lobby. Vamos voltar ao lobby.

De volta ao lobby, tente entrar em outra sala. As salas Vermelha, Azul e Verde são privadas. Para entrar nelas, você precisa de um convite.

Antes de você entrar em uma sala privada, é possível enviar convites para as pessoas se juntarem a você. Vá ao painel "Invite friends" para ver a lista de amigos disponíveis e convidar alguém da lista. Como você iniciou a experiência, o seu nome aparece como cliente principal e organizador do lobby.

Uma notificação será exibida na tela da pessoa convidada para avisar que ela pode se juntar a você. Se ela aceitar o convite, você a verá no seu lobby. A partir de agora, vocês compartilham a identificação do lobby nessa sessão.

Agora você pode iniciar uma partida privada na sala Azul. Ao entrar na sala Azul, talvez você veja que o seu amigo já está lá. Como o seu amigo entrou primeiro, ele é o organizador da sala, e você é um usuário conectado a ele. Vocês também compartilharão a mesma identificação de sessão da partida, correspondente à sala Azul. Ao sair dessa sala, vocês dois retornarão ao seu lobby, já que compartilham a mesma identificação do lobby.

Se você tivesse convidado o seu amigo enquanto estava na sala Azul, e ele estava no próprio lobby, depois de aceitar o seu convite, a identificação de sessão da partida dele mudaria para a da sala Azul. Porém, a identificação do lobby dele seria a mesma de antes. Nesse caso, se vocês dois saíssem da sala Azul, cada um retornaria ao próprio lobby.

Essa foi uma explicação rápida sobre o aplicativo do SharedSpaces no Unity. Examinamos alguns recursos multijogador oferecidos pelo SDK da Plataforma, bem como o funcionamento deles no SharedSpaces no Quest. Na próxima publicação, ensinaremos a criar uma cópia desta amostra e orientaremos sobre o download dela no Github, bem como a criação e a execução no headset do Quest.


Sobre a série

Nesta série, apresentaremos os recursos multijogador do SDK da Plataforma no Quest, explorando a amostra do SharedSpaces em código aberto criada no Unity. Esta é a primeira de quatro publicações que compõem a série de vídeos Building your multiplayer VR experience.

Para saber mais sobre os recursos multijogador do SDK da Plataforma e o funcionamento da amostra do SharedSpaces, confira esta sessão do Connect sobre a criação e a expansão de aplicativos multijogador para o Quest. Além disso, teste a amostra no seu headset acessando o App Lab. Confira a documentação sobre os recursos multijogador para saber como usá-los nos aplicativos.

Para saber mais sobre o Meta Quest, acesse o site, inscreva-se no canal do YouTube ou siga o nosso perfil no Twitter e no Facebook. Se você quiser compartilhar perguntas, sugestões ou feedback, use os fóruns para desenvolvedores.

Para saber mais sobre o Meta Open Source, acesse o site, inscreva-se no canal do YouTube ou siga o nosso perfil no Twitter e no Facebook.