Skip to main content

The power of platform as a service at DIGIT

Kings of the Realm studio explains how it leveraged LiveOps tools to build a successful F2P game

With the F2P MMO market booming, there's a strong appetite among mobile and desktop gamers for sprawling virtual worlds they can join their friends in, but for games studios it's not just a question of turning up and making a profit - a crowded landscape means developers need to make some conscious choices to hit their long-term goals.

Here at DIGIT Game Studios, we're proud of putting together a successful F2P title with a relatively small team: we started over four years ago with a founding team of only four, but today we have an international staff of more than 50 and are continuing to grow, with all our team members working on mobile and cross-platform empire-building MMOs.

As a new studio entering a competitive market, the old adage of doing "more with less" was crucial right from the beginning. Based on our experience in other free-to-play studios ahead of our time at DIGIT, we knew full well that creating and launching a new F2P MMO game is only the start: operating a live game as a service is demanding and intensive, which means using the right tools and making the right decisions from the very beginning makes a huge difference.

One of those decisions we made early on was to build our own LiveOps Platform. As with any build-vs-buy decision, it's about determining if you can do a better job than what already exists in the marketplace, and if those benefits will continue to be felt long-term as technology advances. Greenfield projects using new technologies can often move faster than existing solutions, which tend to become complex and maintenance-intensive over time, and we've focused on several principles as key pillars for everything we build.

Today, that includes LiveOps, DevOps & Infrastructure, Build & Release Engineering, Test Automation, Analytics and Targeting, all part of the the DIGIT Platform. The more we invest in the platform, the more value it provides across all these areas.

Infrastructure Platform at DIGIT

Having a reliable infrastructure isn't optional if you want to keep MMO games running smoothly across the world, 24/7: since day one, we adopted a DevOps culture of 'you build it, you run it', and the initial Infrastructure was created by our first game server development team using solutions such as Chef and various AWS-specific products.

"As a new studio entering a competitive market, the old adage of doing 'more with less' was crucial right from the beginning"

When it came time to start work on our upcoming second game, we reviewed what we had, and what technologies the industry was adopting, and made another key choice: we were no longer happy with Chef, which was responsible for setting up our servers with the right software and configuration. Maintaining Chef-Recipes had become intensive work, and overall we considered Chef to be a single point of failure in our infrastructure architecture.

With that in mind, adopting a super-efficient containerised infrastructure using Docker was very appealing to us from both a business and technology perspective. We evaluated the new container service from AWS but realised that it was missing the tools we require to manage large container clusters - we needed another layer that makes container clusters accessible for game-dev teams.

We grew our platform team to create new infrastructure building blocks, to facilitate adoption, and to increase developer happiness. Our CTO's definition of done is "the user is using your solution frequently, successfully, and happily", so we created a containerised infrastructure, using Mesos and Marathon to run our Docker containers, as the latest iteration of infrastructure at DIGIT.

As a result of those decisions, we saw massive savings in terms of raw cost and maintenance, and avoided building up the legacy system situation which can quickly become a major pain point for any studio. By thinking of our infrastructure as a service used by our games, we can run a more efficient scalable backend, something we've spoken about extensively at industry events.

Containerised infrastructure not only allows us to consolidate all the parts of a single product but also consolidate services across all our products, therefore maximising resource usage, and minimising waste - following the infrastructure-as-a-service paradigm empowers our "you build it, you run it" culture, because each developer works with a production-like environment on their local machine.

Having a containerised infrastructure setup solves the well-known worry of whether something that runs on a developer machine will also run in production. What's more, having an easy to understand, easy to use, consistent, and codified infrastructure, one which undergoes code review regularly, has proved to be a great empowerment for our development and technical teams.

We're seeing other big players in the games industry move to a similar kind of cutting edge infrastructure - not that we believe that high performance infrastructure is solely for the use of big companies, of course!

LiveOps Platform at DIGIT

We've also been innovating with our LiveOps Service Platform, a modular collection of all shared "game-agnostic" online services that any multi-player game can have, and a crucial step in moving from supporting one game to supporting multiple games.

For example, every F2P MMO game needs an account system, plus services for tracking purchases, delivering translations, organising rankings and tournaments, providing customer support and more besides. The same technologies, if developed right, can be deployed across multiple titles, even if they're very different on the surface.

With that in mind, whenever we're building or integrating a backend system for one of our games, we make sure it's built in a generic enough way for future re-use across all our titles and across all platforms.

LiveOps tools have become an essential part of our game development process, and to provide games-as-a-service we have to embrace change and think creatively about how we deliver content - due to store approval processes, for example, we can't release a new mobile game multiple times per day. Therefore, we're developing web-based tools for data-driven, over-the-air updates: this allows us to create and change content and events inside a game at any time and frequency we need.

"Having a reliable infrastructure isn't optional if you want to keep MMO games running smoothly across the world, 24/7"

When you're dealing with thousands or even millions of players looking for a gaming fix, where any kind of downtime or delay in updates can mean losing users, that kind of nimbleness and flexibility is crucial.

There are benefits for our developers too: our LiveOps tools are all accessible via a single modular portal, with a uniform look and feel that helps with streamlining workflows and onboarding new staff. We are constantly evaluating our frameworks (currently Angular, D3 and Bootstrap) and apply best UX approaches to ensure that working with our tools is not only efficient, but also a pleasure. Even though these are internal tools, we give them just as much attention as external-facing products, and we think the strategy pays off.

Taking this flexible, upfront-invest approach for all our different systems gives us a pool of pre-made services that we only need to maintain once, but that are available for reuse across all our titles. By making it modular, and employing a DevOps mindset, we are able to adopt new technologies while adding new tools at the same time.

So whenever a single game calls for a new feature, we plan and implement it in such a way that will allow us to apply it across all our existing products: this makes sure that we can provide a steady flow of interesting feature updates to our existing games, in a nimble and flexible way, without lumbering our engineering teams with uninteresting, repetitive work.

What we've learned

As our platform evolved from being a single LiveOps service into providing all our game-agnostic services, we developed a number of pillars which guide us across all the decisions we've mentioned above:

- "Productification" of your internal tools goes a long way

- Treat other teams as your customers

- Adopt a service mentality across your company

- Subdivide problems by developing in a modular way

By seeing technology and tools as empowerment for our teams, removing software engineers from our content production process as much possible, and fostering the democratisation of technology, we think we've put ourselves into a good position to compete on a global stage.

We're still growing the studio, as we look to launch an ambitious mobile game next year to take advantage of the platform we've put in place. To find out what it's like to work at DIGIT and to see all of our open positions, check out our careers page.

- The DIGIT Platform Team