Sponsored By

Embracing the future of open-source game servers with Nakama

Sponsored: Whether you're building a realtime intensive game with server authoritative physics to detect bullet pathing and collision or a Merge style game with deeply social player accounts, Nakama can do it all.

Game Developer, Staff

June 15, 2020

10 Min Read
Game Developer logo in a gray background | Game Developer

Presented by Heroic Labs

Written by Alim Jaffer the VP of Product at Heroic Labs, the creators of the popular open-source game server Nakama which powers multiple games in the Top 50 on mobile.

Every year gaming becomes increasingly connected, both socially and from a technical point of view. The underlying infrastructure and tools behind games grow ever more complex and indispensable to studios. The question you need to ask today is: who owns these toolchains and technology?

Not only is building for scale and managing it incredibly time consuming from a manpower perspective, the sheer cost of the underlying infrastructure can exceed all expectations if not optimized for scale. Game margins can be made or broken off this fact alone, particularly in the F2P space where monetisation is not guaranteed and player engagement may be through the roof compared to premium titles.

This is a bit of a chicken and egg scenario; studios require high performing infrastructure with complex social mechanics to attract a player base, but you also need that player base to keep the lights on and justify the investment within the technology itself. Games are made or broken within the first 1-2 weeks of launch, which is why Day 1 and Day 7 retention rates are so crucial in determining a titles future success; you simply cannot afford to have your infrastructure fail at these crucial moments.

Increased Expectations

Players now expect social interaction and features such as friends, clans/groups, tournaments, dynamic leaderboards, in-game chat, etc. as the baseline for modern gaming and are crucial to ensuring a retention rate that enables you to grow your community. These features used to be part of an elite set of titles and have now become part of the mainstream, practically mandatory for any modern title to compete in the growing market. Games have become their own variants of social networks, and players tend to be loyal to them.

Within our industry, I find one of the most interesting keywords is that of ‘communities’. This does not only apply to the tightly knit communities we help build within games, but the communities that surround the games themselves and tools within the industry. Electronic Arts recently announced that they would release the source code for Command and Conquer: Red Alert to enable the still dedicated community to easily mod and breathe new life into the game in conjunction with their upcoming remastered versions of it. Open-source game engines such as Godot have had over 1,000 individual contributors leave their mark, lending their time and energy to a tool that benefits everyone equally.

A Shift in the Industry

With more platforms embracing cross platform play - Fortnite being the first AAA title in which all of the major platforms got on board with - the arms race is on for services and social networks. From Steamworks to the recently announced Epic Online Services, Xbox Live, PSN, Discord, and a plethora of other offerings aimed at both consumers and developers - the battle is on to own as many players as possible.

Standardizing across a singular infrastructure enables you to have your own ecosystem and allow for cross-platform play across the increasingly fragmented space of these platforms and walled gardens. You can leverage not only the first-party social features from these stores and platforms, but build your own ‘meta’ ecosystem on top to enable cross-platform play across all stores as well as all your titles to provide ownership of your player base.

This is the future of gaming for players and communities; while they may not care which store they buy their favorite games from, they do very much care about staying connected with their friends. This is one of many reasons why players have been driven en masse to apps such as Discord; they have their community regardless of the walled gardens at play to stay connected.

By building your own distributed friends network within your games, you can allow them to remain agnostic to the platform they buy their game from, but still heavily invested in your games and services as a whole. This is an industry trend we’ve been keeping a very close eye on for years now and have designed our product roadmap around.

 A Velocity Advantage

With dozens of new studios being created monthly, many do not have the resources to compete with the entrenched competition; there are also many existing studios who want to move into new blue oceans quickly, without spending millions on internal development and building entire teams to build technology from scratch.

At Heroic Labs we help studios power titles that experience multi-million DAU (Daily Active Users) with deeply embedded social features and real time gameplay on a daily basis. With the current state of the world and many people spending more time at home, games that used to peak at 50,000 CCU are seeing 100,000 - 200,000+ CCU (Concurrently Connected Users) at peak usage as more people turn to gaming to fulfill their needs for social engagement and entertainment; this data holds true across both F2P titles and premium ones as people return to their favourite games.

Our Approach

We open-sourced our distributed game server Nakama back in January of 2017. Since then it has been downloaded by over 250,000+ developers and studios, launched 100’s of game titles, generated 100’s of millions in revenue for our partner studios, and powered over 250 million user accounts within our Heroic Cloud service.

Nakama is a cloud and platform agnostic game server written in Go that is designed to power all types of game play - from Battle Royales, to Match 3 puzzlers, cross-platform gameplay and so much more. Think of it as an engine that enables you to pick and choose which API’s you want to implement, as well as add your own via an embedded scripting engine written in both Go and Lua.

This scripting engine acts as a series of ‘cloud functions’ that you can call without having to load game state on the client. This is where Nakama mixes the paradigm of being a game server vs a gaming framework and manages to blur the lines to enable new ways of thinking. This opens up new possibilities and immense flexibility to build mechanics and user flows that would otherwise require a user to connect to a game server and wait for everything to load client-side first.

Nakama itself is built with the most performant tools and libraries available while maintaining its open-source philosophy. Nakama includes gRPC from Google (up to 7x faster than traditional REST implementations), Protobuf support, server-to-server calls for integrating with existing infrastructure, compatibility with Go plugins, and a realtime server authoritative multiplayer system with a mailbox-like system that is inspired by Erlang’s genserver.

As well, one of the core hotspots within gaming infrastructure is that of large amounts of data storage and database usage with 1000’s of operations per second being required at scale. Within Nakama there is a Redis-like internal cache that handles the vast majority of living data in-memory, which enables Nakama to require only a singular database type to service games with millions of players. Any Postgres-wire compatible database such as PostgreSQL, CockroachDB, AWS Aurora, etc. are compatible with Nakama which makes scaling and handling database infrastructure a breeze.

Whether you’re wanting to build a realtime intensive game with server authoritative physics to detect bullet pathing and collision, or you’re wanting to build a now-popular Merge style game with deeply social player accounts, tournaments, and rewards for your players - Nakama can do it all.

If a game engine sits at the heart of your game, Nakama acts as the nervous system keeping everything connected together in sync with low latency. It communicates with your game clients regardless of platform and relays information as needed to the database and your internal services so that you can perform customer service for players, do deep data analysis, and store player data to allow for play across multiple devices.

With Nakama being open-source under the permissive Apache 2.0 license you are guaranteed peace of mind regarding your games; no matter what happens, you maintain ownership over your technology stack. This is not an opaque black box, or some third party service where you are at the whims of their arbitrary decision making. It is a versioned and easily deployable product which has regular releases and promises around backwards compatibility and long-term support for releases. Nakama is a piece of technology that belongs to you, and all developers within the industry.

 

Our Role

We offer our Heroic Cloud to all developers wherein our team of expert engineers will manage all of your game server infrastructure for you such as load balancers, security, backups, SSL termination, and scaling so that your teams can focus on gameplay rather than developer operations and infrastructure. Our Heroic Cloud offers you access to the Nakama Developer Console as well as logging and metrics just as you would find within any popular cloud provider so that you can understand your usage patterns fully.

You will always exclusively own your data, and every game project is run on dedicated hardware meaning you do not share your resources with any other game or developer. This enables us to provision various environments for DEV, QA, PROD, and so on. With this deployment model you can easily export any and all metrics you desire via Prometheus to the ingestion system you use within your studio to do data analysis without impacting your production title.

As an open-core company our philosophy is that tools should be made available to all developers, regardless of team size or experience to enable any individual or studio to build the games of their dreams without restrictions or concerns about scaling for success. We work with everyone; from established AAA publishers, to 5-person studios launching their very first title into the market, and everyone in between.

As part of that philosophy we’ve taken further steps to promote open-source tools within the games industry; we are platinum sponsors of the open-source Godot Engine project, and we became the first corporate sponsors of the recently open-sourced Defold engine from King to give developers a plethora of choice when determining the tool chain that suits them best for their future plans.

Standardisation of technologies benefits everyone in the industry - many studios have standardized around their game engine of choice, in-house or popular offerings from engine providers, however many studios end up reinventing the wheel on their backend service for every new title or move into a new genre of gameplay. This costs time and engineering resources, both in onboarding new employees as well as building the technology itself, that could be spent on perfecting the game as well as adding risk for when titles scale for the very first time on untested technology.

The core competency of a successful games studio often revolves around focusing on player experiences first in order to build engaging gameloops, beautiful game design, and securing monetisation of the player base. Studios often do this by choosing the best tools available to them across a wide swath of offerings - from game engine, back end choice, ad monetisation, player segmentation, data science, and so on.

With our market maturing and having become the go-to source of entertainment for billions of people around the world, we are now in a place where we can build these new standards together as a mature and cohesive industry.

Let us know what you think. We welcome any and all feedback, contributions, and partnerships to help Nakama further grow to become the bedrock of game servers and infrastructure  services for the entire industry. Focus on building your games and wonderful player experiences, not reinventing the wheel and handling infrastructure.

---

If you’re interested in exploring the usage of Nakama in your games, feel free to reach out to us at [email protected] - we’d love to learn more about your project and how we can help.

Read more about:

Sponsor Resource Center
Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like