An Epic cross-play journey: Paragon, Fortnite, and what comes next

June 16, 2021
Cross-play has emerged as one of the defining trends in gaming of the past few years.
 
Not long ago, the idea of major platform holders enabling their users to play with friends seamlessly on competing platforms seemed like a pipe dream. Now, it’s not just a reality, it’s becoming the industry norm, and Epic Games has been at the forefront of championing this change. 

This industry shift took a major step forward in September 2018 when Fortnite became the first game to unlock full cross-play between mobile, PC, and all major consoles. In January 2019, shortly before developer Psyonix joined the Epic family, Rocket League followed suit.

Epic’s goal with cross-play for Fortnite was to create one community for what would become the world’s biggest game, and in doing so they took the opportunity to expand the arsenal of tools available for game development.

“With Epic Online Services, we are giving back to the development community by sharing our expertise and successes, for free, as we have done for years with Unreal Engine,” said Epic CEO Tim Sweeney. “Cross-play is a huge part of what we have to offer with Epic Online Services, and it’s been built on our experience developing Fortnite into the extraordinary game it is today.”

In 2021 Epic looks to expand the Epic Online Services toolset with new features, but first, let's go back to the beginning.

What most people don’t know is that Epic’s journey to cross-platform compatibility didn’t start with Fortnite, but with Paragon, its multiplayer online battle arena game.

In 2017, Paragon supported just PC and PS4. The smaller-scale made early research and development on cross-play much more manageable. The team was able to successfully leverage Paragon’s live environment to test cross-platform matchmaking, cross-platform authentication but also cross-platform progression with a profile system. They also built live service monitoring systems that enabled them to identify issues like poor matchmaking times and security flaws in the wild.

“We got a taste of charting and telemetry to keep track of how the game was doing,” said Josh Markiewicz, Lead Software Engineer at Epic Games. “Why did the game crash? Why are some people never finding a match? Instrumenting the code was critical, you're effectively flying blind without it. Especially with Paragon, where we had our first exposure to skill-based matchmaking. Getting those e-sports outliers who are the best of the best to matchmake quickly required a lot of insight into the performance of our matchmaking code.”

Specific lessons were also learnt about toxicity in the player-base. Epic found that enabling people to play with friends across platforms created stronger grounds for positive gameplay experiences and in turn reduced toxicity overall.
About a year after Paragon’s launch, the team started to ramp up for the launch of Fortnite

“Under the hood, Fortnite’s online back end was exactly the same as Paragon’s, just more,” Greg Latcovich, Engineering Director recalls. “With Fortnite available on multiple platforms, the scope of achieving cross-play grew, too. With more players on more platforms, whole new challenges arose and chief among them was facilitating cross-progression so players could pick up their game across multiple devices and platforms.”

The two games shared online technology, and Fortnite started with the same code initially, but that quickly began to change as Fortnite evolved. The services available today as part of Epic Online Services are an evolution of this code base.

The challenge with cross-progression in Fortnite was to provide users with a single identity for progression and friend connections across all platforms. This starts with players logging into or creating a new Epic account.
“If it’s the first time a player is logging into Fortnite, the game does its best to determine if the player already has an account to limit unnecessary account creation,” said Don Eubanks, lead UI programmer at Epic Games. “For most platforms this is pretty straightforward by linking the account to the platform’s proprietary account system.”
 
For mobile and web-based logins, Epic opted to support additional cross-platform login methods, such as log in by Facebook, Google, general email and password combination, and others, and all the logic of account linking rests on Epic’s back-end services. Today Epic Online Services offers an out-of-the-box solution for cross-platform login with Epic Account Services.
 
Enabling players to play together with friends across platforms in a party was another challenge that presented itself.
“Most platforms typically offer their own form of parties,” Eubanks told us, “but utilizing any one of these has limitations. Console parties tend to be game agnostic, offer only voice chat and exclude other console, computer or mobile users from participating. In the case of mobile platforms, they don’t always offer party support, explain how to access a party, or why the player might want to.”
 
Fortnite’s party system started with an XMPP-based approach because it was a widely adopted standard at the time. It was open source, plug-in extensible and was rolled out in Paragon before later being adopted by Fortnite. Over time however, weaknesses started to show, despite all the work done to customize integration with Epic’s authorization, chat, and friend services.
 
“It used a star pattern for general communication, which is a sort of peer-to-peer-to-peer structure. So, when a user changes something locally, they must send a message to every other user informing them of the change. That worked fairly well with small numbers but cracked as the numbers grew,” said Eubanks.
 
In 2019, Epic’s Party Service was born, supporting 16-player parties. The new system overhauled Fortnite’s approach to security, client authority, persistence, and scale. The system controls membership information and is fully integrated with console APIs, which is necessary to support bootable invites and display the correct information in the native dashboard’s friends lists. This Party Service will become available as part of Epic Account Services during the second half of 2021. 

The next challenge was voice chat. After all, voice chat is probably one of the most important tools for people playing multiplayer games, not only to talk with friends, but to coordinate and play together effectively.
 
Epic plans to make voice chat available to all game developers for free during the second quarter of 2021. The service is currently in private testing in Fortnite, supporting features such as local mute and only enabling voice connections from authorized party members. 

What came out of those early years of Paragon and Fortnite development was a suite of powerful tools that became the foundation of Epic Online Services.
 
Just as Paragon paved the way for Fortnite, Epic continues to use its work on Fortnite to create and validate new features for Epic Online Services, testing thoroughly before releasing to the developer community. Our learnings will inform the future of Epic Online Services, and as they do, the number of tools available to all developers for free continues to grow.
 
You can sign up today and try out the services at dev.epicgames.com.

    Also from Epic Online Services

    Choose from free services including voice, achievements, matchmaking, live ops, and more. Game services support all platforms, all stores, and all account services—including your own—on the engine of your choice.