CASE STUDY

Creating Zenith: The Last City

Learn how Ramen VR conquered “gamedev on hard mode” and brought players together in the world’s first cross-platform VR MMO.

Go behind the scenes of Zenith: The Last City in this on-demand video. Watch creator stream

Zenith: The Last City

How does a small, remote team create an MMO in VR? With a flexible development platform, multithreaded programming, robust DevOps tools, and the support of an active community, Ramen VR launched a well-optimized, multiplatform game that’s delighting players and ushering in a new era of gaming.

  • The challenge

    Creating a successful, high-performance VR MMO for all major VR platforms

  • Platforms

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

  • Team members

    22

  • Location

    Remote

Making an ambitious bet

Andy Tsen and Lauren Frazier met at Oculus Launch Pad in 2016, where they bonded over a shared interest in MMOs and isekai anime. The pair saw an opportunity to combine these genres and create a new, immersive MMO experience in VR. In 2019, they quit their jobs, founded Ramen VR, and began work on Zenith: The Last City.

Zenith treasure chest key art

The results

  • Launched a VR MMO with a team of just 15 people
  • Achieved breakout success with the #1 spot on Quest and Steam at launch
  • Raised over $45M in investor funding to date
  • Eliminated project data loss with Unity Version Control
Jessica Sweeney, Environment Artist, Ramen VR

“Working with Zenith: The Last City’s environment art, there’s a lot of changes and a lot of large files. Unity Version Control handles pushing and pulling those changes really easily.”

Jessica Sweeney, Environment Artist, Ramen VR
Lauren Frazier, CTO, Ramen VR

“When Zenith came out, it was the number one game across all platforms it launched on. I think it’s because we had a fun idea, a great team, and powerful tools to help us realize it.”

Lauren Frazier, CTO, Ramen VR
Финансирование за счет амбициозного видения

Getting buy-in on a bold vision

Making Zenith took a leap of faith: Tsen and Frazier funded early development out of pocket. “Our studio name comes from all we could afford to eat at the time,” jokes Tsen.

An angel investor changed everything. Soon, Ramen VR was enrolled in the Y Combinator accelerator program, and raised $280K in 45 days with a record-breaking Kickstarter campaign. Backers were impressed by the project’s scope and the studio’s determination to make it happen.

“Nobody who’s ever built an MMO before would try to do this,” says Tsen. “Startup, VR, MMO, cross-platform – it’s gamedev on hard mode!”

Finding the right tools

Finding the right tools

Tsen and Frazier had previously collaborated on an award-winning Unity project – a VR MOBA, Conjure Strike – and were confident that they could tackle something even more ambitious.

“We knew how hard it would be to build a game of this scale in VR, but we also thought there was a gap between how hard people thought it was and how hard it actually was,” says Tsen. “That gap was platforms and tools like Unity, which enable content creation on a much larger scale with a much smaller team.”

Ramen VR launched Zenith with a team of 15, but they now have 22 core team members. When selecting new development tools, they make sure they’re customizable, easily integrated, work well with existing systems, and are approachable for technical and non-technical contributors.

Building a foundation with DOTS

Building a foundation with DOTS

As systems-based games, MMOs require strong, scalable technical foundations. Early in development, Ramen VR organized Zenith’s systems using MonoBehaviors, but running logic hundreds of times across hundreds of identical GameObjects was inefficient. They leveraged Unity’s Entity Component System (ECS) framework, a key pillar of the Data-Oriented Technology Stack (DOTS), to avoid the drawbacks of object-oriented programming.

“An MMO is a great application for ECS,” Frazier notes. “Zenith requires thousands of Entities to coexist at the same time, and ECS allows us to run at scale.”

Choosing the right workflows

Choosing the right workflows

In the new workflow, every “actor” GameObject (players, mobs, collectibles) has a corresponding ECS Entity. The ECS runs through GameObjects and checks for relevant tags, triggering logic whenever they’re found.

“It was nice to be able to pick the workflow appropriate to the situation. We could have done pure Objects or pure Entities – but I don’t think you should have to choose,” says Frazier.

Avoiding rate limits

Avoiding rate limits

ECS also helped with infrastructural challenges. Over 120,000 players signed up to alpha test Zenith, and Ramen VR underestimated the strain this would put on their servers. When high numbers of players logged off, servers exceeded storage caps and players lost save data. To solve this, the team created an ECS tag to track quest progress. “Our ECS system checks for tags, and when it picks one up, it’ll put it into a queue, dequeue it every X seconds, and write it to external storage,” explains Frazier.

Оптимизация визуальных эффектов на разных устройствах

Optimizing visuals across devices

Zenith is a multiplatform MMO, so optimizing graphics for all major VR devices was crucial to ensure the game would reach as many players as possible. Creating VR games means drawing twice as many GameObjects, at higher resolution, at higher frame rates, to ensure good immersion and reduce VR sickness. So they opted for the Universal Render Pipeline (URP).

“The Universal Render Pipeline was the best choice for us because we were shipping on PC, Android (Oculus Quest) and PSVR,” says Frazier. “URP allowed us to build for all VR platforms.”

Снижение затрат на рендеринг

Reducing rendering costs

With URP’s Single Pass Instanced rendering, Ramen VR could render visuals for both eyes in one place, saving on CPU and GPU time and improving performance. Customizability was also a plus. “We edited the standard shaders (Simple Lit, Unlit) to respond to changes from our day-night cycle – making things more orange or red at sunset, adding a blue tint at night, and so on,” says Frazier.

The studio is happy with what they’ve achieved with URP, but hopes to push Zenith’s visuals further in a future release. “A lot of our original quality was sacrificed due to hardware limitations – mostly memory, but also GPU time,” says Frazier. “Now we’re trying to take advantage of things like texture arrays to regain some of that lost fidelity.”

Explore URP
Управление файлами проекта

Managing project files

To ensure they can deliver new content continuously and on schedule, Ramen VR uses Unity Version Control (UVCS) to manage the project. “It’s allowed us to improve our productivity, improve our workflows, and work collaboratively much more easily,” says programmer Jordan J.

UVCS has dual workflows for artists and engineers, and teammates can choose to work centralized or distributed while committing to the same repository. “The centralized flow means fewer accidents and mismatches of local versus remote than you see with something like Git,” says Frazier. Ramen VR has never lost project data since adopting UVCS.

Bringing players together

Bringing players together

Smart ECS implementation and visual optimization with URP means players can adventure together and explore Zenith’s massive world without experiencing slowdown or losing progress. And a scalable, customizable tech stack means Ramen VR is set up to continue adding new content to Zenith for years to come.

Lauren Frazier, CTO, Ramen VR

“The fact that we’re using Unity reduces a lot of the complexity of developing for multiple platforms.”

Lauren Frazier, CTO, Ramen VR
Andy Tsen, CEO, Ramen VR

“Unity has gotten a lot more stable over the past few years – when we first started working there were a lot of features being pushed out all the time. We were very early adopters of ECS, DOTS, URP.”

Andy Tsen, CEO, Ramen VR

Realize your greatest ambitions

Join developers around the world who are using Unity to build successful VR games.

Мы используем cookie-файлы, чтобы вам было удобнее работать с нашим веб-сайтом. Подробнее об этом можно узнать на странице, посвященной политике использования cookie-файлов.

Согласен