O que você está procurando?
Hero background image
CASE STUDY

Criando Zenith: A Última Cidade

Aprenda como a Ramen VR conquistou "gamedev no modo difícil" e uniu jogadores no primeiro MMO VR cross-platform do mundo.
Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.
Vá aos bastidores de Zenith: A Última Cidade neste vídeo sob demanda.
Assista ao stream do criador

Zenith: A Última Cidade

Como uma pequena equipe remota cria um MMO em VR? Com uma plataforma de desenvolvimento flexível, programação multithread, ferramentas robustas de DevOps e o apoio de uma comunidade ativa, a Ramen VR lançou um jogo multiplataforma bem otimizado que está encantando os jogadores e inaugurando uma nova era de jogos.

O desafio

Criando um MMO VR de alto desempenho e sucesso para todas as principais plataformas VR

Plataformas

PlayStation®VR, PlayStation®VR2, Quest, Quest 2, Rift, SteamVR

Membros da equipe

22

Local

Remoto

Destaque: Ramen VR

Fazendo uma aposta ambiciosa

Andy Tsen e Lauren Frazier se conheceram no Oculus Launch Pad em 2016, onde se uniram por um interesse compartilhado em MMOs e anime isekai. A dupla viu uma oportunidade de combinar esses gêneros e criar uma nova experiência imersiva de MMO em VR. Em 2019, eles pediram demissão, fundaram a Ramen VR e começaram a trabalhar em Zenith: A Última Cidade.

Arte principal de baú do tesouro de Zenith

Os resultados

  • Lançou um MMO VR com uma equipe de apenas 15 pessoas
  • Conquistou um sucesso estrondoso com o primeiro lugar no Quest e Steam no lançamento
  • Levantou mais de $45 milhões em financiamento de investidores até agora
  • Eliminou a perda de dados do projeto com o Unity Version Control
“Trabalhando com Zenith: A arte do ambiente de The Last City, houve muitas mudanças e muitos arquivos grandes. O Unity Version Control lida com o envio e recebimento dessas mudanças com muita facilidade.”
JESSICA SWEENEY / RAMEN VREnvironment Artist
“Quando Zenith foi lançado, foi o jogo número um em todas as plataformas em que foi lançado. Acho que é porque tivemos uma ideia divertida, uma ótima equipe e ferramentas poderosas para nos ajudar a realizá-la.”
LAUREN FRAZIER / RAMEN VRCTO
Obter adesão sobre uma visão arrojada

Obter adesão sobre uma visão arrojada

Fazer Zenith foi um salto de fé: Tsen e Frazier financiaram o desenvolvimento inicial do próprio bolso. “O nome do nosso estúdio vem de tudo que podíamos pagar para comer na época,” brinca Tsen.

Um investidor-anjo mudou tudo. Em breve, a Ramen VR foi inscrita no programa de aceleração Y Combinator e levantou $280K em 45 dias com uma campanha de Kickstarter recorde. Os apoiadores ficaram impressionados com o escopo do projeto e a determinação do estúdio em fazê-lo acontecer.

“Ninguém que já construiu um MMO antes tentaria fazer isso,” diz Tsen. “Startup, VR, MMO, multiplataforma – é desenvolvimento de jogos no modo difícil!”

Como encontrar as ferramentas certas

Como encontrar as ferramentas certas

Tsen e Frazier haviam colaborado anteriormente em um projeto Unity premiado – um VR MOBA, Conjure Strike – e estavam confiantes de que poderiam enfrentar algo ainda mais ambicioso.

“Sabíamos o quão difícil seria construir um jogo dessa escala em VR, mas também achávamos que havia uma diferença entre o quão difícil as pessoas pensavam que era e o quão difícil realmente era,” diz Tsen. “Essa diferença eram plataformas e ferramentas como Unity, que possibilitam a criação de conteúdo em uma escala muito maior com uma equipe muito menor.”

A Ramen VR lançou Zenith com uma equipe de 15, mas agora eles têm 22 membros principais na equipe. Ao selecionar novas ferramentas de desenvolvimento, eles se certificam de que são personalizáveis, facilmente integradas, funcionam bem com sistemas existentes e são acessíveis para colaboradores técnicos e não técnicos.

Como criar uma base com o DOTS

Como criar uma base com o DOTS

Como jogos baseados em sistemas, os MMOs exigem fundações técnicas fortes e escaláveis. No início do desenvolvimento, a Ramen VR organizou os sistemas de Zenith usando MonoBehaviors, mas executar lógica centenas de vezes em centenas de GameObjects idênticos era ineficiente. Eles aproveitaram o framework Entity Component System (ECS) da Unity, um pilar chave da Data-Oriented Technology Stack (DOTS), para evitar as desvantagens da programação orientada a objetos.

“Um MMO é uma ótima aplicação para ECS,” observa Frazier. “Zenith requer milhares de Entidades coexistindo ao mesmo tempo, e ECS nos permite operar em grande escala.”

Escolhendo os fluxos de trabalho certos

Escolhendo os fluxos de trabalho certos

No novo fluxo de trabalho, cada GameObject “ator” (jogadores, mobs, colecionáveis) tem uma Entidade ECS correspondente. O ECS percorre os GameObjects e verifica as tags relevantes, acionando a lógica sempre que são encontradas.

“Foi bom poder escolher o fluxo de trabalho apropriado para a situação. Poderíamos ter feito Objetos puros ou Entidades puras – mas eu não acho que você deveria ter que escolher,” diz Frazier.

Como evitar os limites de taxas

Como evitar os limites de taxas

O ECS também ajudou com desafios de infraestrutura. Mais de 120.000 jogadores se inscreveram para testar a versão alpha de Zenith, e a Ramen VR subestimou a pressão que isso colocaria em seus servidores. Quando um grande número de jogadores se desconectou, os servidores excederam os limites de armazenamento e os jogadores perderam dados de salvamento. Para resolver isso, a equipe criou uma tag ECS para rastrear o progresso das missões. “Nosso sistema ECS verifica as tags, e quando encontra uma, a coloca em uma fila, a retira a cada X segundos e a grava em armazenamento externo,” explica Frazier.

Otimização de visuais entre dispositivos

Otimização de visuais entre dispositivos

Zenith é um MMO multiplataforma, então otimizar gráficos para todos os principais dispositivos de VR foi crucial para garantir que o jogo alcançasse o maior número possível de jogadores. Criar jogos em VR significa desenhar o dobro de GameObjects, em maior resolução, em taxas de quadros mais altas, para garantir boa imersão e reduzir o enjoo em VR. Então, eles optaram pelo Universal Render Pipeline (URP).

“O Universal Render Pipeline foi a melhor escolha para nós porque estávamos lançando no PC, Android (Oculus Quest) e PSVR,” diz Frazier. “URP nos permitiu construir para todas as plataformas de VR.”

Reduzindo os custos de renderização

Reduzindo os custos de renderização

Com a renderização Single Pass Instanced do URP, a Ramen VR pôde renderizar visuais para ambos os olhos em um só lugar, economizando tempo de CPU e GPU e melhorando o desempenho. A personalização também foi um ponto positivo. “Editamos os shaders padrão (Simple Lit, Unlit) para responder a mudanças do nosso ciclo dia-noite – tornando as coisas mais laranja ou vermelhas ao pôr do sol, adicionando um tom azul à noite, e assim por diante,” diz Frazier.

O estúdio está feliz com o que conseguiu com o URP, mas espera levar os visuais de Zenith ainda mais longe em um lançamento futuro. “Muita da nossa qualidade original foi sacrificada devido a limitações de hardware – principalmente memória, mas também tempo de GPU,” diz Frazier. “Agora estamos tentando aproveitar coisas como texture arrays para recuperar parte daquela fidelidade perdida.”

Gerenciando arquivos do projeto

Gerenciando arquivos do projeto

Para garantir que possam entregar novo conteúdo continuamente e dentro do prazo, a Ramen VR usa Unity Version Control (UVCS) para gerenciar o projeto. “Isso nos permitiu melhorar nossa produtividade, melhorar nossos fluxos de trabalho e trabalhar colaborativamente de forma muito mais fácil,” diz o programador Jordan J.

O UVCS tem fluxos de trabalho duplos para artistas e engenheiros, e os membros da equipe podem escolher trabalhar de forma centralizada ou distribuída enquanto se comprometem com o mesmo repositório. “O fluxo centralizado significa menos acidentes e incompatibilidades entre local e remoto do que você vê com algo como o Git,” diz Frazier. A Ramen VR nunca perdeu dados do projeto desde que adotou o UVCS.

Reunindo jogadores

Reunindo jogadores

A implementação inteligente de ECS e a otimização visual com o URP significa que os jogadores podem aventurar-se juntos e explorar o enorme mundo de Zenith sem experimentar lentidão ou perder progresso. E uma pilha de tecnologia escalável e personalizável significa que a Ramen VR está preparada para continuar adicionando novo conteúdo a Zenith por muitos anos.

“O fato de estarmos usando o Unity reduz muito a complexidade de desenvolver para múltiplas plataformas.”
LAUREN FRAZIER / RAMEN VRCTO
“O Unity se tornou muito mais estável nos últimos anos – quando começamos a trabalhar, havia muitos recursos sendo lançados o tempo todo. Fomos muito precoces na adoção de ECS, DOTS, URP.”
ANDY TSEN / RAMEN VRCEO
Chamada de Zenith
Realize suas maiores ambições

Junte-se a desenvolvedores de todo o mundo que estão usando Unity para criar jogos de VR de sucesso.

Criando o MMO de VR Zenith: A Última Cidade | Unity