30% lower infrastructure costs and enhanced user experience

Working with cloud providers as a game developer or publisher to set up your video game’s multiplayer seems easy, at least on the surface. Many popular options, such as the Google Cloud Platform (GCP) or Amazon Web Services (AWS), are easily accessible and quick to partner with, making them an ideal first vendor for many game developers and publishers.

Developers and publishers might also be familiar with common accompanying tools and services such as AWS’ Elastic Kubernetes Service (EKS), which makes initial onboarding and running compute instances for games simple. There is additional appeal in the virtualized infrastructure offerings of public cloud providers, alongside add-ons such as databases and services dedicated to building and hosting games.

However, while these easy-to-use services might be a good entry point for many, developers and publishers have often highlighted how these standard solutions are not nearly always the best in performance or cost. There is also the perennial problem of vendor lock-in with public cloud companies, with clients often compromising on service or performance to avoid the hassle of moving to a more optimized infrastructure strategy.

In this case study, we explore Alta’s strategic decision to include bare metal provider i3D.net in their infrastructure for A Township Tale, complementing their existing public cloud resources. This move, often deemed too complex and inefficient by many, has proven to be a cost-effective solution for Alta, delivering long-term benefits for both the company and its popular game. By utilizing i3D.net’s systems to handle base loads, while continuing to leverage the public cloud for burst capacity, Alta has optimized its infrastructure for peak performance and cost savings.

About Alta

Alta is a virtual reality (VR) game developer and publisher known for the game, A Township Tale — a persistent open-world RPG title that allows players to craft, build and mold the world around them. The game brings the traditional elements of RPGs such as character creation and decision-making but takes it a step forward by hosting a persistent world with survival elements — which means that there is building and crafting, with the changes players make on the world staying in place, all of that in VR.

While VR games have made big strides in the past decade, there is still an element of mystery and a lack of understanding of where the VR industry stands in the wider world of gaming. Console or PC titles tend to focus heavily on graphics or sound, but VR titles look to do things differently to stand out. A Township Tale is one of the first VR titles to bring elements of RPG and survival genres onto virtual platforms and has found immense success as a result.

How Alta managed its infrastructure before joining i3D.net

Players of A Township Tale can join and play on any open server of their choosing, with up to 7 friends within the same persistent world. To support this from an infrastructure side, Alta decided to utilize AWS as their provider for compute resources and additional services, such as Amazon EKS (K8s) to conduct container orchestration automation tasks to determine the number of compute resources needed to keep up with player demand.

1. K8s with high public cloud fees and inconsistent player experience

While A Township Tale’s infrastructure requirements are not out of the ordinary, hosting a multiplayer game with persistent worlds still brings challenges and more complications compared to a session-based multiplayer. A persistent multiplayer game requires the backend to know how many players are looking to play on each server at any given time. The game would need to communicate with the compute fleet of needed resources at the right time and automatically spin up these resources to ensure it keeps up with the number of concurrent users (CCUs), looking at the CCU and readying up the needed resources accordingly. Alta initially decided to leverage K8s for this purpose. But in hindsight, this resulted in higher public cloud fees than initially expected, with an inconsistent player experience.

2. Incorporating standardized solutions

K8s and other standardized solutions work well for smaller instance numbers or games with lower concurrent user (CCU) numbers, but once a title explodes, some well-known services — not optimized for specific use cases — can end up being more trouble than they are worth. This is what the Alta team had to contend with when their game gained more popularity and onboarded more users over time. With the game scaling up quicker than expected, there was a dearth of platform specialists needed to run solutions such as Kubernetes and customize them to manage both cost and player experience hand in hand. Additionally, some of the traditional mechanisms that work well with K8s to bring costs down, such as spot-instance compute, do not scale well to persistent servers and degrade player experience. It became clear that automated and standardized solutions were no longer the answer. A rethink was sorely needed.

3. Inefficient scaling and its costs

Leveraging K8s on the public cloud led to an unplanned problem, where overnight, Kubernetes automation used the biggest instance in the cluster, responding to a spike in CCUs, blowing up Alta’s public cloud invoice. While scaling through cloud providers is easy — once your game demands more compute resources, they may be there for you if you’re still within your quota and regions aren’t sold out — it does come with a significant cost. These costs tend to rise exponentially with increased use.

An additional facet to consider is that after the initial increase in users, the developer could also see a drop in CCU or a general trend toward stable numbers once a player base is established. This means that the cloud providers’ facility to instantly scale up will no longer be needed with such frequency, and stability can allow developers to make more accurate calculations of all numbers, from CCU to the amount of instance types needed per day, alongside expected monthly costs incurred through using a network and infrastructure provider.

After an initial surge in CCUs, the baseline stabilized over time. With A Township Tale having a stable concurrent user base, the Alta team analyzed the technical setup and its associated costs and decided it was time for a change.

Enhancements following i3D.net hosting

1. 30% savings on infrastructure costs

Alta’s platform team decided to focus its resources on finding a permanent answer to their orchestration problem and decided to create one of its own, which would replace Amazon EKS. This would also require the publisher to seek out a new infrastructure partner, for which they contacted i3D.net.

i3D.net’s cost-effective instance types and global coverage helped Alta make its decision. i3D.net offers its own orchestration solution, but its network and systems are also agnostic to integrating with software developed and managed by studios.

Alta assigned two platform developers to work on this public cloud migration for a full two months. Even though the time and resources are precious, especially for an indie developer such as Alta, they calculated that the resources spent for these two months would end up with a positive return on investment (ROI) due to the savings on infrastructure they’d be benefitting from in the future. This was only possible because i3D.net offers a better cost-to-performance ratio compared to the public cloud.

“The amortization of these costs (incurred to develop an orchestrator and include i3D.net in our complement of hosting providers) needs to be looked at from a medium- and long-term perspective. We worked out that we would end up saving up to 30% on costs as a result of the inclusion of i3D.net to provide base load capacity, even after spending time and resources on developing an orchestrator of our own from scratch.”

Altaプラットフォーム責任者 ジェームス・レイノルズ氏

2. Improving memory usage and running 50% more instances on i3D.net compute resources

Apart from making significant savings on costs, Alta also saw significant improvements in their CPU load per instance following the migration. By working with i3D.net’s bare metal cloud and forgoing the virtualization layer necessitated due to using K8s on the public cloud, Alta saw its CPU load increase by as much as 60%. This, combined with an observable improvement of memory use per game instance, they were able to run 50% more instances on i3D.net compute resources.

“If we have a node that could take 50 servers a week, we are now able to run closer to 100 servers on that. Memory is about half as impacted and CPU performance is up by about 60% and suddenly the amount of capacity we can allocate to a single instance from i3D.net is up by 50% compared to our projections. We have nearly doubled the capacity than we thought we were getting when we signed the contract, which is a pretty cool place to be in because we have extra capacity with no additional costs.”

Altaプラットフォーム責任者 ジェームス・レイノルズ氏

In short

Alta’s decision to incorporate i3D.net’s systems alongside AWS showcases the intricacies faced by game developers and publishers when managing multiplayer games. Although prevalent cloud providers like AWS and GCP present convenient starting points, they might not always be the most suitable options in terms of performance and financial efficiency, particularly for rapidly scaling multiplayer games over extended periods.

By integrating i3D.net’s infrastructure, Alta achieved a cost-effective and high-performance solution, effectively doubling its capacity for the same costs. This added capacity and performance improvements positioned Alta to accommodate the needs of its growing player base while maintaining a more predictable cost-to-performance ratio, thereby securing the future success of A Township Tale.

Ready to experience true low-latency and boost player experience?

Get firsthand experience by requesting a free test server.

Get a Free Test Server
Company Description
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.