SIMON ALLAEYS: Hi, everyone, and welcome to this talk
about everything you need to build a modern cross-play
enabled game.
First of all, as a quick introduction,
I'm Simon Allaeys, and I'm a Senior Director
on Epic Online Services.
My every day is focused on the mission
behind Epic's Online Services, which
is to connect all players with their friends
on any platform and any game.
Note today, in the first part of this talk,
I'll be covering why cross-play matters to you as a game
developer.
Then, I'm joined by my colleagues
Josh Markowitz and Don Eubanks, who
will take a more technical dive into the different components
Epic Online Services provides and into the future
of these services.
I'm diving in.
First of all, as an industry, we have many ways of defining what
is cross-platform, versus cross-play,
versus cross-progression, versus cross-save.
But as a player myself, none of this taxonomy really matters.
What you really want is to just be
able to log in with one account regardless of platform.
You want to access your saved games
or progression anywhere.
And most importantly, you want to just simply connect
with your friends no matter what device or platform
they or you are on.
You just want to have a great time.
And this is really cross-platform or cross-play
in a nutshell.
And as an industry or as a game developer,
why does this matter?
We have some case studies from Fortnite.
If you look back to the early days of Fortnite,
we observed a peculiar thing.
Each time we added a new platform, not only
did it bring in new players from that new platform,
but we also witnessed a lift of new players
and increased engagement across all other platforms.
And when we look back to the Fortnite's first season
of Chapter 2, we introduced a new game mechanic-- fishing.
And again, we observed something interesting.
This fishing really split the community.
And this was something we hadn't seen before.
Some players loved fishing, while some hated fishing.
But what we noticed is that it wasn't just
individuals who either liked or disliked fishing.
It was an actual split in the social graph, which
reflected the preferences of entire groups of friends
rather than just individuals.
And this inspired us to dig further
into how a player's preferences are reflected on their friends.
And it turns out engagements for you
as a player has a high correlation with the engagement
of your friends.
When we cohort to the engaged players,
who in this study play more than 50 rounds a Fortnite a month,
there's a big difference in likelihood of churn
when you play alone versus with friends.
If nearly all of those 50 plus games are played with friends,
you're 80% less likely to churn than if you were to play
all of those games alone.
And even if you just play a few of those games with friends,
you're already 50% less likely to churn.
We also see patterns in spending.
If you spend $50 in game, it's 8% more likely
your close friends will spend $50 in the game.
And if you started to enjoy the game
less and were 50% closer to churning,
that also means that all of your close friends
would move 9% closer to churn on average.
And now you might be wondering, as I talk about
cross-play, what's all this emphasis
on friendships and games?
But if you take a brief look back in history,
friendships have always been a big part of gaming.
From going to arcades to buying your first gaming device
and sitting on the couch with friends to then
becoming online connected to going mobile
and eventually to almost be living
online in virtual worlds, friendships
are a big part of gaming.
And if you look at today's 2.9 billion gamers worldwide,
many are connected to the internet.
But we do still find friends siloed in smaller ecosystems.
And this is where cross-play comes in.
Cross-play is critical to helping
keeping friends connected regardless
of the devices they own.
And then we look at more numbers.
The impact of cross-play is clear on not just
Fortnite, but also when we cross-reference
these trends in Rocket League.
It's clear that cross-play and engagement
are closely connected.
Across both games, we find that more than half of all players
play with their friends who are playing
on a different platform.
And those who cross-play with their friends
across different platforms play more days each week,
and they play more hours each day.
And they are far more likely to spend something in the game.
And as we said in previous slides, all of this
is contagious across friend groups.
And this in itself represents an enormous opportunity
for the industry.
We can only imagine what the industry growth might
look like if you were to remove all barriers between friends,
if you were to let all players play together
with all of their friends.
Our experiences with cross-play on both Fornite and Rocket
League have without a doubt told us
that connecting all platforms and all friends
will provide the next big growth spurt for gaming.
And this may very well take us from today's 2.9 billion gamers
to the next 2 billion.
And that's why you believe cross-play matters
and why we believe cross-play should be the new status quo.
And with this, I'd like to hand it over to Josh
to talk about what we've been building
with Epic Online Services in order
to help all developers achieve this goal.
Thank you.
JOSH MARKIEWICZ: Thanks, Simon.
Hi, I'm Josh Markiewicz,
the lead programmer for the EOS client SDK here at Epic games.
I've assisted with the online experience
since Unreal Tournament 3, improved Gears of War
experience by adding dedicated servers, and helped bring
cross-platform play to Paragon, where we learn quite a bit
about matchmaking, scalability, and running a life product.
I've been a part of the journey to scale Fortnite
to millions of players.
Cross-play can seem daunting at first.
Fortnite took years of trial and error.
So let's try to simplify it and give it a checklist.
We'll purely focus on the technical components
in this section.
There are a lot of business requirements and approvals,
but we'll leave those can of worms at the door for now.
Taking it from the top, we'd like
to break down our components and cross-play
online infrastructure into game services and account services.
Each platform delivers its own proprietary backend systems.
These, however, are not compatible with all platforms.
As a developer, you're going to need
to integrate and manage these services for each platform
separately, build your own set of platform-independent
services, or use Epic Online Services.
They also come with specific account requirements
and don't work across platforms.
This is the crux of the problem.
It's what defines the platform boundaries for players
and prevents cross-play with friends in your games.
As a game dev, you're going to need
to solve this problem-independent game
services and cross-platform account service components
for your game to be truly cross-platform.
We began implementing these things in Paragon.
Over time, we added most systems in one form or another.
Then, with Fortnite, things exploded,
and we had to deal with scale.
We had backend teams and client-side teams working
together to create the best systems within the limitations
of that scale.
Let's start with game services.
With Epic Online Services, we provide services for you
to ship on any platform.
Foundationally, all these services
work with any kind system, openID or otherwise.
They are open and modular, and we operate them for you.
These are vertical slices meant to stand on their own.
We're going to look a little deeper each
of these services, what they are, how they work,
and why you need them.
Starting with multiplayer, we have
matchmaking, which is a cross-platform pool of players.
And it's basic bookkeeping for what servers are doing
and where they can be found.
We have lobbies.
They're data relay service for a group of players.
It's a part of matchmaking but with a persistent connection
hosted by a backend the players connect with.
Attributes can be stored in the lobby
and for each individual user long before they're
connected to each other.
There's peer-to-peer networking.
It's often forgotten just how much firewalls
can restrict your player base.
This means players are unable to host matches,
causing friction and confusion early in the game.
Peer-to-peer provides a way to negotiate
how players can connect with each other
and offers a relay solution when players can't talk directly.
Additionally, some platforms have server farms here
for security reasons.
There's progression.
We have a standard features like cloud storage,
reading and writing stats, achievements, and leaderboards,
again, all platform agnostic.
There's inventory, which is a game-specific data schema
and hosted on the backend.
It works with various store fronts
to provide secure receipt validation
and fulfillment of offers based on an item catalog.
Then, there's account linking.
That's an important one to notice.
Think of account linking as a key ring you can attach
various identity providers to.
Without it, progression is locked to a single platform.
Epic Online Services by design is completely account agnostic
and supports many providers already.
Each platform can be recognized in the key ring
so progression's shared wherever you go.
There's moderation.
For example, anti-cheat.
Popular PC games traditionally attract people
looking to get an advantage.
And console players have a certain level and expectation
of trust in their games.
So in 2018, we acquired industry leading Easy Anti-Cheat,
and we offer that for free now.
The goal, of course, is to maintain fair play
across all platforms.
Player reporting and sanctions reach
across platform boundaries to keep
you aware of problems in your community
and keep your ecosystem healthy.
And finally, there's operations.
Title storage is a common data controlled by the dev.
All game clients can retrieve it and allow
you to dynamically change your live product any time you want.
Game analytics and telemetry allow
you to monitor various aspects of your game in real time.
So say you now have a cross-platform game backend,
be it with the game services, an Epic Online Services,
or your own proprietary services,
and you've now committed to building a cross-platform game.
You'll need to enable your players to log in
across available platforms, and when
it comes to account linking, have an agnostic account
provider act as a Rosetta Stone of sorts.
Using a common UX it should be transparent to users
that they are linking the account
and they only have to do it once.
From that point forward, this account
provides an external mapping to reach other linked platforms.
Additionally, having a common profile
makes it clear to your friends who you are no matter
what platform you play on.
And having some account management provide transparent
views into what connections have been made.
All this is done using the existing secure standards
implemented by the various other identity providers.
Building on top of an innovative identity, players
branch out and create their own social graph.
You have your friends list, a social graph with aggregation
across platforms.
And now, your players are connected.
One list with all the platforms so your interactions
exist in one place, it integrates
with native platforms.
We aren't trying to create a social graph.
We're simply connecting existing ones.
And now, you need to help them connect to see each other,
get them communicating.
With presence and invites across platforms,
anyone can join in on the fun.
You need parties to keep players together.
What's the social circle going to be doing for the evening
so they can coordinate play even when
they're not in the same game?
This all serves to increase engagement.
Our social overlay strives to keep
this in a common ease of use view
across games and platforms.
The goal is to handle complicated flows
and provide a UX that engages the player within the game.
Thanks to all the devs using Epic Online Services.
It's been a great journey so far.
It's come a long way since our online experience
with Gears of War.
And it's exciting to take what we've learned from Fortnite
and provide it to the entire game development community.
Our goal is to make EOS easy and accessible for all.
The SDK is designed to be available for all engines,
and should integrate simply, making
it accessible to different types of games, genres, and stories.
It's already shipping on these different platforms.
You can mix and match the features you need.
So bringing it all together, on the left,
we've discussed everything you need
to do services for your game.
You write it once.
You ship it everywhere.
You have the freedom ship anywhere, any time.
Prepare for and empower yourself with a cross-store world.
As mentioned in an early slide, even adding one platform
provides lifts to all platforms.
It's your choice and independence as a dev.
On the right is everything you need
to enable an expansion community--
one connected player base.
Players have frictionless access and the ability
to reach their friends.
Therefore, the community stays connected.
And that's what it is.
It's about enabling the community.
We believe this connectivity truly helps the industry
and gamers at large.
We've always wanted to do this.
And we want to share.
We think it's really powerful, and we hope you'll agree.
Always keep your friends connected no matter
what game they feel like playing on any given day,
or whatever platform they feel like playing on.
There's still lots of service to build, and we're not finished.
The industry's changed a lot since Online Services
were first introduced.
We've come a long way and hope to continue its evolution.
Here's Don to talk about the road ahead.
DON EUBANKS: Hi, I'm Don Eubanks.
I worked on social systems and features for Fortnite,
and I'm now one of the lead programmers for the EOS SDK
team.
As Josh said, I'm here to talk about the road ahead
for Epic Online Services.
To be clear, the word "road" here is not accidental.
What I'm laying out is a roadmap.
You heard Josh talk about some of our existing success
stories.
And those successes and feedback from industry developers
have helped us build this roadmap
to ensure we'll continue meeting the most
important needs for a wide variety of developers
and titles.
Josh gave you a glimpse into inventory,
which is built for any developer who
wants to be able to offer reliable item
fulfillment and storage.
With it you can get reliable cross-progression
using architecture similar to that which powers Fortnite.
Also coming is our custom game invite system.
This is meant specifically for developers and games
that already have their own matchmaking session or lobby
solution.
It allows those games to integrate cleanly and smoothly
with our social UI and reap the benefits of that
without having to migrate to an EOS offering.
Now, earlier, Simon talked about what
we discovered with Fortnite.
And if there's any main idea you take away today,
it should be that cross-play propels engagement.
If you can find ways to support more platforms,
more friends can participate, and fewer friends
end up being left out.
For us, that means a big part of the road ahead is social.
The backbone of all our social offerings
is Epic account services.
Epic account services is the same social ecosystem
players know from their experiences
in Fortnite, Rocket League, and the Epic Game Store.
A point of pride for us is that all the game services
we offer work no matter what underlying social system you're
building on.
Your players don't need to be logged in with
or even have accounts on Epic account services
for you to execute your game's vision across all platforms.
That being said, Josh discussed some
of the challenges we faced that we know other developers have
faced trying to build a cross-platform product,
especially a multiplayer one, without a thriving cross
platform social ecosystem to bring players together.
As you know, we already support seeing what friends are playing
through our present service.
Soon, that presence will be viewable with full localization
support.
We'll also be offering players the ability
to party up with their friends for play sessions.
And we want to minimize the amount of heavy lifting players
need to do in order to get together.
Parties make it easy to create and maintain
cross-platform communication and connection no matter
what game everyone is playing.
We're also looking at ways to allow developers
to build their games concept of clans, guilds, and communities
in general with configurable groups.
You've already seen examples of our social overlay
through many of the titles released on PC.
This overlay is going to be coming to even more platforms
so developers can trivially benefit
from a vibrant and evolving social interface
without having to build it themselves
that's consistent across platforms.
Now that we've talked about social, let's talk identity.
In our cross-platform future, it's more important than ever
to make sure that you have a consistent way for your friends
to recognize you, regardless of what platform
you're playing on.
Profile information and avatars are
a few of the new features on our list
to help users identify and express themselves.
We also want to ensure players have
full control over the information they share.
Along with enhanced identity features,
we're designing equally thorough privacy controls
that will let players control who can find them in search
as well as protect and limit exposure
of platform identities.
It's important for developers today
to have a good understanding of their audience
and be able to make sure that they're
taking all the necessary steps to protect
the parts of their audience that need parental consent in order
to play in their country.
Epic Online Services will be offering tools for developers
to set up their own verified parental consent flows.
These are the same industry-leading tools
provided by Super Awesome and are already
in use by some of the largest titles in the world.
These tools and services are not only free of charge,
but the parental verifications themselves
will also be performed at no cost to developers.
Like I said at the beginning, this is a roadmap.
Specific details can change, but I
hope you get a sense of the direction
we have and of our firm resolve to continue
providing top notch software and services.
The question we often get asked is,
why is Epic doing all of this?
And there's two major reasons.
The first is that we want there to be
a decentralized set of services for game development.
Having an interconnected-- not a siloed--
audience means everyone wins.
This is why so many of our offerings are a-la carte.
We want developers to be able to mix and match
the specific tools and services that are
appropriate for their titles.
And we want to help drive the creation of open industry
standards for the long term.
The second reason is that we want
to scale the industry into what we feel
is its next major growth phase.
This means accelerating the adoption and prevalence
of cross-platform gaming and the vibrant communities
that result. And we've seen firsthand
how that helps players build and maintain
close friendships that persist across game sessions
and experiences.
Speaking of scale, another goal is
to let developers shoot for the stars with their designs
with the confidence that their title will handle the best
kind of problem to have--
massive amounts of traffic and attention.
We know that supporting even basic cross-play
and cross-progression are tough problems.
And until recently, they've only been
available to companies that have the ability
to invest in persistent purpose-built backend
infrastructure, which often limited it
to games as a service.
With Epic Online Services, we're making
the tough problems easier but keeping the easy things easy.
But I suppose "why is Epic doing this"
is only part of the question we get asked.
The full question is, why is Epic doing this for free?
Epic Online Services are available
completely free of charge.
They're free of charge because we
want these services to be available and accessible
for any and all developers with the fairest possible terms.
And the fairest possible terms are completely free of charge.
If those sound like fair terms to you as well,
you can get started now.
As a reminder, it's free.
Actually free.
100% free.
The SDK is built to support your title, regardless
of engine, store, or platform.
We've built extensive tooling for self-service
and configuration to ensure you're always in control
of your title's functionality.
We've built our monitoring tools using
the collective wisdom of our tough as nails
Fornite live ops veterans.
That being said, you're not on your own either.
You'll also have access to support from both Epic
and the EOS community at large.