Age of Wonders 4 from Triumph Studios

Exploring Triumph Studios' strategic integration of Nakama in the development of Age of Wonders 4, highlighting the game’s real-time and asynchronous gameplay capabilities, seamless scalability, and enhanced player connectivity.

The challenge

Deliver smooth and consistent network connections as the central tech solution for PDX games.

Platforms

Steam/PC

CCU

50,000+

Genre

Real-time strategy, 4X

Featured image

The stakes are high for any studio when launching a new title. For Triumph Studios, the stakes were even higher with the launch of Age of Wonders 4, the latest entry in the critically acclaimed Age of Wonders series. For the nearly 25 year old franchise with a large and passionate fan base, the studio needed to ensure a smooth launch and a stable backend to support the game.

Just a couple weeks following the game’s release, we sat down to speak with Arno van Wingerden, Technical Director and Co-founder of Triumph, and Michel Paulissen, lead backend developer for Age of Wonders 4, about the game’s development and early success, as well as their decision to adopt Nakama, and Heroic Labs, as the backend solution for their games.

Nakama Proven for Scaling and Stability

Earlier titles in the Age of Wonders series had relied upon Triumph’s custom backend solutions. Where the gameplay previously relied on peer-to-peer networking and suffered from persistent networking issues and customer complaints, Age of Wonders 4 was designed to be a multiplayer game with a dedicated server backend.

“We no longer wanted to deal with the risk and maintenance burden [of maintaining our own backend], and Nakama was recommended by other teams within Paradox.” - Arno van Wingerden, Technical Director and Co-founder of Triumph

For the game’s release - the most successful in the history of the series - the backend needed to be able to handle the initial surge of players, as well as the long-term growth of the game. The studio needed a solution that could scale with the game’s success, and that could be easily maintained by their small team, just 10 programmers across the entire studio.

That initial surge was a big one as excited fans rushed to play the game on launch day:

Active User Sessions from Launch
Active User Sessions on Launch Day

Even with this demand on the infrastructure, Nakama was able to handle the load without any issues:

Active User Sessions from Launch
Load Balancer Requests/Second on Launch Day
Active User Sessions from Launch
Nakama CPU Utilization on Launch Day
Active User Sessions from Launch
Database CPU Utilization on Launch Day

As the game’s popularity continued to grow following the launch, Nakama was able to scale to support the game’s growth. “Another great benefit to using Nakama is we no longer have to deal with complaints about players unable to connect,” said Arno, “We’ve had no complaints since launch.”

Using Nakama for Real-Time and Asynchronous Gameplay

Age of Wonders 4 takes full advantage of Nakama’s powerful capabilities, most notably it’s low-level Stream functionality. While Nakama is well equipped to handle real-time multiplayer gameplay with it’s socket based Match functionality, the developers of Age of Wonders 4 wanted to offer asynchronous gameplay as well.

To do this, Triumph decided to combine the power of Protocol Buffers, an open-source mechanism for serializing structured data in a lightweight and efficient way, and Nakama’s Stream feature to create a custom real-time protocol that could be used to transmit game state across the wire. This allowed the team to normalize access patterns between the client and server as well as automatically generate the client and server code needed to utilize it.

Once the protocol was defined, the developers created custom stream subjects to receive and relay real-time match data to players who had subscribed to the streams (Streams were also used to facilitate the Lobby and Voting systems). Online game clients send Remote Procedure Calls to the server to transmit their game actions, which are then relayed via the stream. This transmission of game state was backed by Nakama’s Storage Engine to ensure game state was persisted for asynchronous players to seamlessly rejoin the match at a later time. For players who are not online when a turn is taken in game, an email notification can be sent to keep them up to speed and prompt them to return to the game and check in on the action. This ensures a continuous and coherent experience, no matter when or how players choose to participate in the match.

The marriage of Nakama and Protobuf in Age of Wonders 4 demonstrates a masterful blend of technology and creativity in game development. The team’s approach to ensuring seamless communication between the game client and server, coupled with the provision for real-time and asynchronous gameplay, underscores the importance of leveraging robust technologies for enhancing player experience. Age of Wonders 4 sets the benchmark in its effective use of Nakama for multiplayer gameplay.

Growing with Nakama

“We're very happy with Nakama, it's great for the type of games we're building.” - Arno van Wingerden, Technical Director and Co-founder of Triumph

Nakama is built to serve as “central tech” for games studios, providing a stable and scalable backend that can be easily integrated into any game. This is exemplified by how Nakama has been able to simplify the development process for not only Triumph, but other teams within Paradox Interactive, Triumph’s parent company.

It was the recommendation of other teams within Paradox that led Triumph to adopt Nakama for Age of Wonders 4. The studio was able to get up and running with Nakama quickly, making use of the well-designed APIs to quickly integrated many of Nakama’s suite of features. Owing to Nakama’s status as central tech within Paradox, the Triumph team was even able to “borrow” some of the features that other teams had already built for their own games - for example the authentication features in Crusader Kings - rather than having to build them from scratch.

Now able to rely on Nakama and Heroic Labs for their games’ backend, the studio has been able to focus on what they’re building next. Asked about the backend for their next games, Michel said “[we’re] definitely going to use Nakama again.”

About Triumph Studios

Founded in 1997, Triumph Studios is a Dutch game studio with approximately 40 employees. They are the creator of the Age of Wonders and Overlord series. In 2017, Triumph was acquired by Paradox Interactive, a Swedish game developer and publisher.

Speak to the Heroic Labs team

Do you have any questions about this case study or would you like to find out more about any of our products or services?