Valheim is a procedurally generated open world survival game that draws inspiration from Norse mythology. The game can be played both in single player and in co-op online multiplayer. It’s developed by Iron Gate AB in the heart of Skövde, Sweden. Valheim quickly became yet another of Skövde’s success stories in the games industry, having sold over 5 million copies in just the first month of early access on Steam.
As the game’s success story unfolded, the obvious next step was to bring the game to more platforms to reach a greater audience. However, being a small team, Iron Gate wanted to focus their time and effort on their area of expertise: continued work on amazing game content. Stalling development of the core game to battle the technical challenges of multi-platform support was simply not an option. This is where we at Piktiv entered the picture; solving these kinds of problems is right up our alley. We jumped at the opportunity to help Iron Gate bring such an ambitious game to more players.
Our task was to implement a new networking backend with crossplay support and to port the game to PC Game Pass and Microsoft Store. We worked closely and in parallel with Iron Gate and Fishlabs (the team working on the Xbox Series and Xbox One ports of Valheim) to make sure our solutions were what Iron Gate wanted and what Fishlabs needed. Along the way, we got to see for ourselves how deeply Iron Gate cares about their game and its player base.
Valheim’s online multiplayer is one of its most important aspects. It was understandably very important to Iron Gate to unify the player bases from all platforms with full crossplay support from day one. We investigated numerous networking solutions and eventually settled on PlayFab for matchmaking and PlayFab Party for relay networking, which met all of our criteria for supported platforms and features.
It was also important to Iron Gate that the transition to a crossplay networking backend would be seamless for their existing user base. Their users shouldn’t have to deal with creating a game account or similar annoyances. Previously, the game handled matchmaking between players only via the Steam friend’s list, so we had to find new solutions for quickly connecting players across platforms. We looked to Jackbox Games for inspiration and implemented a join code system for the crossplay networking backend. To make it easy to reconnect to previously joined servers, we reworked the “Join Game” menu to add two new server lists: favorite and recent servers.
The main goal of the PC Game Pass/Microsoft Store port of Valheim was for it to have feature parity with the Steam version of the game. On top of implementing the new crossplay networking backend, we implemented support for joining Xbox network friends via the Xbox Social window, implemented cloud save support via Xbox Live Cloud Storage and made sure the game complied with all platform requirements. We worked closely with Fishlabs to have our cloud save solution implemented in the Xbox Series and Xbox One versions of the game, so cloud saves are synchronized and intercompatible between the two platforms.
We also implemented a “Manage Saves” menu in the game. Managing backups used to require manually moving and renaming files in the file system, something that was impractical for local saves, difficult for cloud saves and would be impossible on console. The new menu lets users view, delete and restore backups as well as manage their cloud storage on all platforms, all from directly within the game.
Valheim version 0.211.7 was released on September 27th 2022 on Steam, bringing the crossplay networking backend, reworked “Join Game” menu and new “Manage Saves” menu to all existing users. The PC Game Pass/Microsoft Store version of Valheim was released on September 29th 2022.
Piktiv continues to work with Iron Gate on Valheim, improving networking stability, optimizing the game and making sure that the networking solution met the platform requirements for the Xbox Series and Xbox One versions.
Curabitur ultricies purus est, at fermentum ipsum sollicitudin nec bibendum erat eget.