
Creación de Zenith: La última ciudad
Zenith: La última ciudad
¿Cómo crea un equipo pequeño y remoto un MMO en VR? Con una plataforma de desarrollo flexible, programación multiproceso, sólidas herramientas DevOps y el apoyo de una comunidad activa, Ramen VR lanzó un juego multiplataforma bien optimizado que está deleitando a los jugadores y marcando el comienzo de una nueva era de juegos.
Creación de un MMO VR exitoso y de alto rendimiento para las principales plataformas VR
PlayStation®VR, PlayStation®VR2, Quest, Quest 2, Rift, SteamVR
22
Remoto

Hacer una apuesta ambiciosa
Andy Tsen y Lauren Frazier se conocieron en Oculus Launch Pad en 2016, donde se unieron por un interés compartido en juegos MMO y anime isekai. La pareja vio la oportunidad de combinar estos géneros y crear una nueva experiencia MMO envolvente en VR. En 2019, dejaron su trabajo, fundaron Ramen VR y comenzaron a trabajar en Zenith: La última ciudad.

Los resultados
- Lanzaron un MMO VR con un equipo de solo 15 personas
- Lograron un gran éxito con el primer lugar en Quest y Steam en el lanzamiento
- Recaudó más de USD 45 millones en financiamiento para inversionistas hasta la fecha
- Eliminó la pérdida de datos del proyecto con Unity Version Control

Obtener el compromiso con una Vision Audaz
Making Zenith dio un salto de fe: Tsen y Frazier financiaron el desarrollo temprano de su bolsillo. "El nombre de nuestro estudio proviene de todo lo que podíamos permitirnos comer en ese momento", bromea Tsen.
Un ángel inversionista cambió todo. Pronto, Ramen VR se inscribió en el programa acelerador Y Combinator y recaudó USD 280 mil en 45 días con una campaña de Kickstarter que rompió récords. Los patrocinadores quedaron impresionados con el alcance del proyecto y la determinación del estudio de hacerlo realidad.
"Nadie que haya creado un MMO antes intentaría hacer esto", dice Tsen. "Startup, VR, MMO, multiplataforma: ¡es el desarrollo de juegos en modo difícil!".

Encontrar las herramientas adecuadas
Tsen y Frazier habían colaborado anteriormente en un proyecto galardonado de Unity, un MOBA de VR, Conjure Strike, y confiaban en que podrían abordar algo aún más ambicioso.
"Sabíamos lo difícil que sería construir un juego de esta escala en VR, pero también pensamos que había una brecha entre lo difícil que la gente pensaba que era y lo difícil que realmente era", dice Tsen. "Esa brecha fueron las plataformas y herramientas como Unity, que permiten la creación de contenido a una escala mucho mayor con un equipo mucho menor".
Ramen VR lanzó Zenith con un equipo de 15, pero ahora tiene 22 miembros principales. Al seleccionar nuevas herramientas de desarrollo, se aseguran de que sean personalizables, se integren fácilmente, funcionen bien con los sistemas existentes y sean accesibles para los contribuyentes técnicos y no técnicos.

Cómo construir una base con DOTS
Como juegos basados en sistemas, los MMO requieren bases técnicas sólidas y escalables. En las primeras etapas del desarrollo, Ramen VR organizó los sistemas de Zenith utilizando MonoBehaviours, pero ejecutar la lógica cientos de veces en cientos de GameObjects idénticos fue ineficiente. Aprovecharon el marco de trabajo Entity Component System (ECS) de Unity, pila de tecnología basada en datos, para evitar los inconvenientes de la programación orientada a los objetos.
"Un MMO es una excelente aplicación para ECS", dice Frazier. "Zenith requiere que coexistan miles de entidades al mismo tiempo y ECS nos permite ejecutarlo a gran escala".

Elegir los flujos de trabajo adecuados
En el nuevo flujo de trabajo, cada GameObject «actor» (jugadores, multitudes, coleccionables) tiene una entidad ECS correspondiente. El ECS se ejecuta a través de GameObjects y busca etiquetas relevantes, lo que activa la lógica cuando se encuentran.
"Fue muy bueno poder elegir el flujo de trabajo adecuado a la situación. Podríamos haber hecho objetos puros o entidades puras, pero no creo que debas elegir", dice Frazier.

Evitar los límites de tasa
ECS también ayudó con los desafíos de infraestructura. Más de 120.000 jugadores se inscribieron para la prueba alfa de Zenith, y Ramen VR subestimó la presión que esto pondría en sus servidores. Cuando un gran número de jugadores cerraban la sesión, los servidores excedían los límites de almacenamiento y los jugadores perdían los datos guardados. Para resolver esto, el equipo creó una etiqueta ECS para hacer un seguimiento del progreso de la misión. "Nuestro sistema ECS revisa si hay etiquetas y, cuando las toma, las pone en una cola, las elimina cada X segundos y las escribe en almacenamiento externo", explica Frazier.

Optimización de imágenes en diferentes dispositivos
Zenith es un MMO multiplataforma, por lo que la optimización de gráficos para todos los principales dispositivos VR fue crucial para garantizar que el juego llegara a la mayor cantidad de jugadores posible. Crear juegos VR significa dibujar el doble de GameObjects, con mayor resolución y tasas de frames más altas, para garantizar una buena inmersión y reducir el mareo VR. Así que optaron por el canal de renderizado universal (URP).
"El canal de renderizado universal fue la mejor opción para nosotros porque lo publicábamos en PC, Android (Oculus Quest) y PSVR", dice Frazier. "URP nos permitió crear para todas las plataformas VR".

Reducción de los costos de renderizado
Con el renderizado Single Pass Instanced de URP, Ramen VR podía renderizar imágenes para ambos ojos en un solo lugar, lo que ahorraba tiempo de CPU y GPU y mejoraba el rendimiento. La personalización también fue una ventaja. "Editamos los shaders estándar (Simple Lit, Unlit) para responder a los cambios en nuestro ciclo día-noche, haciendo que las cosas fueran más naranjas o rojas al atardecer, agregando un tinte azul por la noche, etc.", dice Frazier.
El estudio está contento con lo que ha logrado con el URP, pero espera ampliar los efectos visuales de Zenith en una versión futura. "Gran parte de nuestra calidad original se sacrificó debido a limitaciones de hardware, principalmente la memoria, pero también el tiempo de GPU", dice Frazier. «Ahora estamos tratando de aprovechar algunas cosas, como las matrices de textura, para recuperar algo de esa fidelidad perdida».

Gestión de archivos de proyectos
Ramen VR utiliza Unity Version Control (UVCS) para administrar el proyecto a fin de garantizar que puedan entregar contenido nuevo de forma continua y a tiempo. "Nos permitió mejorar nuestra productividad, nuestros flujos de trabajo y trabajar de manera colaborativa mucho más fácilmente", dice el programador Jordan J.
UVCS tiene flujos de trabajo dobles para artistas e ingenieros, y los miembros del equipo pueden elegir trabajar de forma centralizada o distribuida mientras se comprometen con el mismo repositorio. "El flujo centralizado significa menos accidentes y desajustes entre lo local y lo remoto de lo que se ve con algo como Git", dice Frazier. Ramen VR nunca ha perdido los datos del proyecto desde que adoptó UVCS.

Reunir a los jugadores
La implementación inteligente de ECS y la optimización visual con URP significa que los jugadores pueden aventurarse juntos y explorar el enorme mundo de Zenith sin experimentar desaceleración ni pérdida de progreso. Y una pila tecnológica escalable y personalizable significa que Ramen VR está configurado para seguir agregando nuevo contenido a Zenith en los próximos años.

Únete a desarrolladores de todo el mundo que usan Unity para crear juegos VR exitosos.