What is a Backend Game Engine?

Chris C

Chris C

What is a backend game engine In Blog 1920x1080px v.1.0Blog-1920x1080px

This series is intended to inform you of the Pragma game engine capabilities and how its novel design gives you all the benefits of a custom, in-house backend without the associated risks and overhead of building one.

The effort required to ship online games has increased in cost and complexity for the past 20 years. Budgets and timelines continue to grow, resulting in tremendous execution risk for studios and publishers. Finding the fun and building something compelling for players has always been difficult. With the additional complexity of shipping a social, online, multiplayer game, things have only gotten harder.

On the gameplay side, we’ve seen standardized game engines replace the home-grown tools game devs relied upon in the past. While each engine has its strengths and weaknesses, they are all designed to offer a suite of tools that handle complex problems such as rendering, lighting, sound, VFX, physics, and so on. They don't, however, prescribe the game design, gameplay, or features that make the game what it is. The goal of a game engine is to solve complex problems for game devs while getting out of the way of the creative process of building a compelling and delightful experience for players.

While some Games Backend as a Service offerings have existed for the last decade or so, none have been designed as an engine. Instead, they sought to offer a set of preconceived features that they hoped were useful to game devs, providing a take-it-or-leave-it approach whereby a studio is often forced to choose between compromising their game design to fit within the provided featureset, or else abandoning the tool and build the solution themselves.

Having spent more the past 15 years working on some of the largest online games in the world, I have continually observed the pattern of publishers building out a large central tech org whose purpose is to solve the online services problem for studios. The same problems are encountered as the central tech team struggles to meet the demands of each studio they support, and the studios get increasingly frustrated at being blocked by a group outside the core game team. Often the result is that the studio gives up on the central tools and builds their own solutions from scratch. In other cases, the central tech org dedicates full-time resources to specific games, ultimately failing to realize the dream of saving time and cost by build a shared set of tools.

When we set out to start Pragma, we had to answer some key questions raised by this central tech problem:

  1. How do we stay out of the studio's way and allow them to solve their own problems

  2. How do we provide value that reduces cost and speeds up dev time?

  3. How do we help studios with varying degrees of experience operate an online game sustainably and cost-effectively?

Pragma’s core conceit takes direct inspiration from game engines while striving to address these key questions. Instead of offering restrictive, canned features that provide a take-it-or-leave-it approach that forces game teams to compromise on their vision, we set out to build the first backend game engine. Instead of rendering and lighting, Pragma’s foundation provides cross-platform accounts, analytics and, metrics pipelines, rich player inventory, progression and content tools, admin tools, and sophisticated matchmaking flows that can power far more interesting experiences than the naive, client-authoritative “matchmaking” offerings provided by off-the-shelf tools. Additionally, the engine foundations, such as networking, authentication, data storage, caching, app, and database scaleout, are all available to author services and features Pragma has yet to dream up, giving studios full control of their game development while solving complex technical challenges that create serious launch risk in terms of scale and stability.

Pragma provides a set of tools that enable studios to build and ship online games faster and cheaper than building the solution from scratch. It was designed from day one to provide source-level access—meaning the code, architecture, and patterns were built from the beginning to be extended, built upon, and customized. This is distinct from service providers who will allow source access when demanded by a studio, but only as a risk mitigation step, and without an architecture designed for extension and customization, the result is little more than adopting the burden of debugging complex code not written for consumption by a community of engineers.

Here is an overview of the key concepts that capture our vision for Pragma.

Improved Speed, Features, and Cost

Building a backend from scratch is an expensive and ambitious undertaking. While a simple stack may help with basic internal playtesting, building scalable solutions that are ready on launch day is another thing altogether. One factor is not knowing how many players will show up. Is it worth spending years of engineering and millions of dollars to build out a platform capable of scaling to millions of players? What happens when the game resonates with players and far more show up to play than expected? Will players give the game a second chance if server issues and instability plague the launch (Payday 3, Anthem)? Even pedigreed studios struggle to pull off a successful, stable launch. While some games make it to the other side and still enjoy success, how many games miss their shot when players give up and go back to the mainstays they know will provide a solid, stable experience?

It’s a difficult choice to decide between putting more budget into the core game dev and hoping launch issues don’t plague the game or investing millions to develop a robust backend when there’s a chance the players won’t show up. Would those resources have been better spent making the game more fun?

Developing the services to power a rich online game involves years of engineering that are comparable in complexity and scope to the engineering required for the core game. This requires that teams start early and sufficiently fund the backend services team, even while many components of the backend are non-differentiating and just need to be solid and scalable. Non-differentiated features include cross-platform accounts, payments + fulfillments, data pipelines, and game server orchestration. In addition to the engineering costs, ensuring a stable launch requires months of load testing, stress testing, and sophisticated observability and operability solutions, not to mention tools such as player account management, player support, and infra and dev ops tooling. This hardening effort and rich tooling aren’t required during development when the backend is only required for dozens or small hundreds of players and, therefore, is often left until the last minute. It’s simple enough during development to restart a server, reset the database, and write simple cheat APIs to enable QA to test various parts of the system. However, these solutions won't prepare the game for launch, and when these launch preparedness steps are skipped, there is a tremendous risk.

Pragma strives to be the last implementation of these core services, which are continually rebuilt by each studio for each game. The engine is composed of foundations, services, and features. Undifferentiated features like accounts are offered out-of-box and only require simple configuration to unlock a cross-platform accounts stack. Importantly, the same foundations also provide customizable services such as Pragma’s player data and matchmaking systems. The needs of each game are unique, so for these problems, Pragma solves networking, transport, storage, and caching while leaving the game logic up to the team. Pragma also provides readymade solutions for features that the studio elects not to differentiate on, such as patterns for basic quests, missions, and similar progression features. This enables teams to develop production-grade features in weeks compared to months (or years) while still leaving the studio in the driver's seat.

Further, by investing tremendous amounts of engineering effort into the core architecture, based on our collective experience shipping some of the world’s largest and highest-scale games, Pragma significantly reduces launch day risk. In addition to the hardening we continually perform on the core tech, we make these same load testing and stress testing tools available to game teams, allowing them to vet their custom game features as needed.

The result is a significant decrease in development cost and production-grade features coming online extremely quickly, which results in a much richer feature set with fewer backend devs, all while reducing launch risk. This is possible as an engine; Pragma provides a technology suite that fully covers the undifferentiated features while significantly decreasing the dev time and resourcing required to create rich game features that no off-the-shelf tool could provide.

Wanna learn more? Check out the rest of the ‘Introduction to Pragma’ series:

Please reach out to us if you’d like to know more about Pragma by emailing us at info@pragma.gg

Other posts

Contact Us

Pragma is currently working with a select group of studios in development.

A great underlying platform is essential in bringing players together. Pragma's technology lets us focus on the creative side of game development while offloading much of the complexity of shipping at scale.

Nate Mitchell

Founder of Mountaintop Studios and Oculus