Presented by Epic Games
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 allowing their users to play with friends seamlessly on competing platforms seemed like a pipedream. Now, it’s not just a reality, it’s becoming the industry norm, and at the forefront of championing this change has been Epic Games.
This industry shift took a major step forward in September 2018, 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.
"Cross-play has a direct and meaningful impact on matchmaking speed and quality for online games," Corey Davis, co-studio head at Psyonix told GamesIndustry.biz last year, laying out how cross-play benefits developers, as well as consumers.
"And it's so much easier to play with friends when you don't have to worry about who owns what device or console. You might stop playing a game entirely without an online friend to play with. Making every friend accessible to you, even if they're playing on a different platform, is a huge improvement to the user experience."
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 further 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 allowed 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 esports 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 backend 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 that 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 the game evolved. The Game Services available today as part of Epic Online Services are a further 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 backend 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 utilising 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 customise integration with Epic’s authorisation, 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 the Voice Chat Service available to all game developers from the second quarter of 2021 for free. The service is currently in private testing in Fortnite, supporting features such as local mute and only allowing voice connections from authorised party members. Epic Online Services’ voice chat will work on all platforms, with the audio built on top of open standard technologies, allowing voice chat to be extended to video, used in a browser and support player-to-player connections. Epic will be constantly improving and adapting the service as platforms and ecosystems change.
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, now with evolved versions of matchmaking, voice chat, and account systems.
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. It’s an area they continue to learn about, with those learnings informing the future of Epic Online Services. 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.