Nakama 1.0 Release — The Future of Games Infrastructure

Alim Jaffer
Heroic Labs Blog
Published in
5 min readAug 1, 2017
The Future is Now

Today we are very pleased to announce the 1.0 release of Nakama — the world’s first open-source, distributed server for social and realtime games.

When we sat down to build Nakama internally in 2016, we wanted to ensure that it would not only set the standard for modern gameplay, but that it would also be ready for realtime games, as well as eSports, all the while being cloud platform and engine agnostic.

With this milestone release we’re excited to mark Nakama as battle-tested at scale for your games with millions of active players. No more building of core game servers again and again for every new game — use Nakama to standardise your infrastructure around. This not only reduces the infrastructure burden on studios, it also levels the playing field meaning even small teams can build the games of their dreams today.

By making Nakama incredibly simple to operationalise — you only need to run the Nakama server and one database type (CockroachDB) — we’ve not only streamlined the process to getting your game ready for production, but we’ve managed incredible efficiency and performance gains by highly optimising the technology and developing a unique cluster platform to support games at a massive scale.

In a follow up post, you will be able to read about how we’ve benchmarked the system and the results we’ve managed with single nodes and across clusters of Nakama. As a sneak peek, we’ve achieved some incredible numbers with Nakama using an N1 standard instance on Google Cloud Platform as our baseline. At peak — a single instance has been able to sustain 11,000 concurrently connected users (CCU). Your CCU count will vary based on your type of game and gameplay requirements, but we only expect this number to improve moving forward as we further optimise the server.

Nakama 1.0

The official 1.0 release of Nakama is not just a stability marker; we’ve also included lots of goodies and new features.

There’s an embedded Lua scripting engine which allows you to write custom rules, code, and logic you need for your games. The server itself has first-class API’s for user accounts, matchmaking, in-game chat, leaderboards, social login, a social graph to build communities in your games and much more. Read the Change Log and see how far it has come since the initial public release.

There’s practically nothing you can’t build with Nakama — the playing field is now levelled and everyone can build beautiful modern social games.

Our Vision

Historically, the creation of backend infrastructure has involved large engineering teams to architect and design the system. Not to mention having to wake up at all hours to maintain it, difficulties in scaling up both in terms of engineering challenges and in cost, no wonder that it has been often treated as a ‘secret sauce’ in the industry available only to those with the right amount of resources to solve the numerous challenges presented in building a fault-tolerant distributed system.

This can be everything from running a highly complicated microservices architecture utilising 4 different databases to increase performance on certain queries, to monolithic blocks which simply cannot scale and act as a bottleneck to future growth. There are blockers everywhere, and the CAP theorem is a perfect example of this. Being forced to make gameplay-altering decisions as to whether a system should be Consistent, Available or Partition tolerant — which trade-offs will you make? What can you live without to suit your game? And so we said: Why can’t you have it all?

With complexity being the current status quo, we tasked ourselves to change it. We’ve built Nakama to be a high-availability games and app server storing a significant amount of data in-memory, our state-of-the-art clustering technology negates partition tolerance issues, and by using CockroachDB we solve the most common consistency problems.

We have a grand vision for Nakama — and that involves you. By virtue of being open-source we ask the community to become deeply involved with the technology and join us in growing it together. Please continue to submit bug reports, suggest fixes/contributions, and join us in our community channel to work together in building technology upon which great games are built.

Use Nakama and no longer worry about creating a new backend from scratch and agonizing if it will be able to handle scale at your world wide release. Use tech that has been battle tested by fellow developers and is becoming a standard within the industry.

Become a Nakama expert; as this technology proliferates amongst studios demand for skills will only grow for those well versed in it.

Enterprise Ready

Our Enterprise edition of Nakama utilise the latest in cutting edge research technology. With our proprietary clustering technology — online user presences, chat topics, ongoing matches, player data and more are shared across many Nakama nodes. This allows for players on one Nakama node to play with those on other nodes and can be scaled to run across hundreds of nodes in minutes to handle any sort of spike in usage such as being featured in an app store.

The server itself has can ‘self-heal’ in order to reconcile data after a network partition or any other disconnects which can happen in the cloud. Once the issue is resolved, the cluster reconnects and will handle the remapping of nodes and connecting players together. None of this requires any manual intervention on your part to set in motion or any extraneous data to clean up after the healing occurs.

For developers who do not wish to operationalise their own infrastructure, we offer a Managed Cloud solution. We will take care of your servers and handle backups, security, updates, scaling, and other server maintenance necessary to keep high uptime with large player bases. Our expert engineers will maintain your servers and guarantee your game availability.

This not only eases the burdens on developers and allows them to focus on building their games, but it also drives core revenue for us to grow and continue adding engineers to work on Nakama to offer new features and regular updates for everyone to take advantage of as part of the open-source game server. As we grow, so does Nakama and your games.

Where to Start

The future of Nakama lies in your hands. Head to the GitHub repo, download the correct binary for your OS, and begin testing and developing locally on your machine. The roadmap is publicly available on the issues tracker, allowing you to find out what is currently prioritised and where help has been requested from the community. Feel free to add your own feature requests.

This is where things get particularly interesting for all of us — as more users, developers and games launch on the technology, we’ll discover new edge cases, environments and different ways of pushing the system to the edge and back again. We want to thank those developers who have been with us since the initial release in January 2017 — your feedback and support throughout the development of this technology has been incredible and invaluable!

We welcome those who are just discovering Nakama, we look forward to you joining us on our journey to build beautiful, social games at scale together.

--

--