[Music] hi welcome to GDC virtual talk so my kids have been staying home this week just to be safe from coronavirus and what is the better time than to introduce them to Minecraft this week and they've been absolutely loving it so we have a we have an iPad we have a switch we have a we have a laptop and and they can play together and and they've been having a great time but I think like the best thing about the this whole experience for them is the fact that they can play together they can play with me they can play with each other and they can play with their friends the neighbors that is the beauty of it and that is the beauty of cross-platform is the fact that they can focus on playing and not worrying about what platforms what kind of porn souls they have and things like that hi my name is Raven Ari fiato I work in
Excel bite right now I've been in the games industry for quite a few years mostly in the online space online space is something I'm super passionate about and one of the topics I'm really really been passionate about this actually cross-platform I got a chance to work in cross-platform in 2014 when I was working in line at studios we were working on fable legends we were trying to get Xbox one and Windows 10 and we we were you know we got pretty far and that's when I realized that profit from gaming it's a topic that has been discussed for quite a bit in the consumer space or in the gamer space but not really in the game development communities there's there's not a lot of articles and an understanding of the basic things that is needed to make a cross-platform game now pro platform is on the rise there's been more and more games that's been
shipping with cross-platform features right I mean like all these games that you see they're all having some level of cross-platform features they have different scopes that have different implementation but the point is that it is gaining traction it is more accepted than the mainstream and here's an article from Anderson heroines blog but he's basically the the author is basically saying that like games historically speaking has been siloed and segmented by different platforms but now with with the rise of cross platforms what what the author is is noticing is that multiplayer games the growth of multiplayer games is even getting faster and larger because of it so that's pretty cool so why cross-platform from the gamers perspective is great just like my just like our kids like they don't have to worry about what device they're playing you what platform you're playing they
can just play they can just play they can connect with their friends they don't have to worry about if the friends is in the system platforms and things like that they can just play together and anywhere whereas for you for us for the game developers it is great because instead of having your user base to be segmented in different platforms now you have a large pool of players that you can build larger multiplayer sessions with and as you and I know fuller multiplayer sessions especially in the long tail of your games if your game has been out for a few years that's a positive thing because you can you can build a more rich multiplayer experience with fuller sessions all right so you might think all right that sounds really good so let's add cross-platform to our next game well I don't know about you but I really love Lord of the Rings in the Fellowship of the Rings if you
remember like Council of Elrond they were saying it's like let's make our next game to be cross-platform enabled and Boromir said one does not simply roughly it's because he knows that making a cross-platform feature games it's not straightforward it's kind of tricky so this is why I made this and in the GDC is is for you who are thinking of making your next game to have multiplayer features this is and if if you have shift games before you have dealt with submitting your games to the different platforms you know the platform capabilities so that will be a good basis for for this talk and also this is just to hopefully this can help you jump-start your research and planning so with that let's jump in here's nine things that you need to know about making a cross-platform games
enabled let's do let's talk about terminologies there's been a lot of terminologies everything starts with cross the string cross play cross progression across by what are the differences Pross play is what a lot of people think about when they're thinking about cross-platform it is basically getting people together into the same multiplayer session but the players can come from varying platforms so this is literally Xbox players can play with PlayStation players can play with Steam players can play with Epic Games player shortening cross progression is basically you play in one platform and then you can continue your game somewhere else this is that is loosely what the definition is it applies to both single-player and multiplayer games and the third one is crossed by cross bias it's all about your purchasing some stuff in one platform and then you
expect that those stuff that you bought in another game in some other platforms will available for you when you stop playing your game in another platform there is a cousin for this which is called Bupa which I will also talk about both bias the buy ones play anywhere so there's a founder start in the internet whoever wrote this jar to ever make this chart you guys you are awesome so thank you obviously this lists will grow but I think like is there is just the fact that people are really thinking about cross-platform so kudos to whoever did this number two let's talk about mastering your own online domain what I mean by that is that when you are shipping games in different platforms there are platform capabilities leather platform services that's available for you to use and they're great right I mean like Xbox Live you have your Steamworks they have
robust Cup abilities now if you want to make a cross-platform games unfortunately you cannot use most of those because the stats in steam is not compatible with stats in Xbox or stats in PlayStation so that's why it will look kind of more like this where basically you have your set of services your set of identity and stats and matchmaking and all that and then it links behind the scene it connects to the different platform services with service the service calls so what can you use from the first party platform you definitely have to use their identity and the account and we will talk more about that you also have to connect and use their e-commerce [Music] services especially if you're if you are intending to monetize your game with
in-app purchase and then the third one is basically anything that this anything that the platform requires you to use as an example if you ship games and Xbox one I'm sure that you know that you have to use their MP SD is there multiplayer session directory even though you have your own matchmaking service because they're using all that information that you put in the MP SD to power the dashboard information about whether you are in a session order that is joinable and you're rich presence and all that third one let's you gotta know your players this is one example I have a steam account I have an epic account i have an xbox playstation account have a switch account if i play the same game that has cross-platform capabilities how does the game know it is me and that is done by something that's called account linking account linking is just
basically you want to be able to link your common account with with the different varying platform accounts you you probably already seen some of these you've been using them like you know if you have Ubisoft you play account that's like you can go to their website and that's where you actually link the different accounts and also the same thing with epic games if you play call of duty the latest Call of Duty has cross-platform capabilities right and this is a one reddit post that I that I saw that actually is very relevant when you're looking for your friends in Call of Duty you have to use the Activision ID like even though you're playing an Xbox you cannot search your friends if they are playing in PlayStation with their PlayStation gamertag because the you know it's not going to know about it but what you can do is you can actually use the Activision ID to look them up
and this whole unified account system identity an account system is the fundament is there is the fundamental piece for the rest of your cross-platform games this is why like just the diagram it's basically if you're centralized account system that links to the other platforms you a couple of tips you want to consider compliancy early on with the gdpr CCPA there will be more so you have to take those into consideration early on you don't want that to bite you it at the Varia and also there will be new platforms coming so you want to have the ability to add new platforms as they come in this is one example on how to implement account linking to Steam right
so basically your your I am service is to want to basically exchange the token the steam token to your own token so that you can use that your client can use your token and to connect to the rest of your services now you can now you have identified now you have successfully identified the players with account linking the next thing you do is get them to play together right so this is the you know time to cross play in order for you to connect those guys into the same multiplayer sessions with all their friends you would need to build all these things like you need to build matchmaking and session management staff leaderboards it's all kind of depends on what your games need but you will need these kinds of services to get them together this is a typical matchmaking flow so basically you are you get your identity
and behind the scene that might actually feather it to the other platforms but then from from that point on you use your matchmaking service to get people into the same sessions a few notes about multiplayer and fun activities if you have the option to choose if you are in a position to choose your game engine make sure that the game engine that you're choosing is is friendly with cross-platform what I what I mean by that is it has already a built-in mechanism to do client server synchronization if you choose to build your own game engine absolutely you can do that but just keep that in mind and when when you want your clients to start connecting to the other players to play I would suggest not going with the direct peer-to-peer route especially the fact that you cannot use the built-in platform libraries like for instance the Xbox secure device Association secure
device address you cannot use it if you are making a cross-platform games it gets it gets pretty hairy especially when we're talking about console connecting to PC right and then you have to deal with the NAP restriction and all that so I I would I would suggest go with either dedicated server or you use some kind of relay server assistant peer to peer to build your to build your mesh and last but not least because you are now dealing with multiple powers essentially from from all your clients you know PCE consoles you want to have the simulation to be locked at some number 30 frames per second is the one that everyone seems to be using right now so use your simulation to be locked but have your rendering to be whatever you want right 60 frame per second 120 or even unlock all right tip number five
let them continue playing on the other platform I like a lot of people I'm a big fan of Witcher so I've played witcher in witcher 3 in play and playstation i've spent hundreds of hours and then when I pick up my switch I have to start over right because there is no way to continue my progression in another platform so you know this is this is I found a post that kind of captures the same same question the good news is they have implemented across progression across safe between steam and GOG to switch so I think that's fantastic that's great that's definitely a step in the right direction it didn't help me in particular because I was playing in PlayStation 4 but I think it's heading in the right direction so this is the this is the value that cross progression gives you right this is it's a quality of life for your players now
how do you store the crowd you know the data itself it's really up to your game do you want to store it that's a blob you want to store it as that's values you want to store it that's a string it's it's really kind of up to you but first and foremost you still need to identify that I'm playing and switch I'm playing in PlayStation I'm playing in steam they're all actually me right the the whole again it goes back to the unified identity now when you're talking about cross platform cross progression which which basically from one platform you do a safe and then from another platform you do a load and you save again you have to deal with a swap and ample as pop is the single point of presence it's literally you're only allowing a single single connection to the same account to the same logical account at any given time so you would one implementation will be like if you log
in with one platform and and you log in from another platform you would log out the other platform right so that's that's just one behavior that is expected from my last fall that is all of it is useful to protect yourself so that you're not riding to the same location appending at any given time so you're doing stomping at that point now amp up is is actually the other way around I am pop is allowing you to do that allowing you to have multiple connections that's pointing logically to the same account it can be done it just been it just means that this is a little bit more complicated but it's definitely it's doable the next one is you want to unify your commerce this if you go to minecraft and then you go to their store you would see that it's a very consistent experience right this is I took the screenshot a couple of weeks ago and this is the experience that you see regardless whether you log in
whatever you use the switch or the iPad or the Windows 10 is like they're all the same consistent experience so let's talk about the difference between primary store and secondary store like primary store is the store that you have to configure on the platform side that results in real money transaction whereas the secondary store is everything that you control within the game you want to make the secondary store to be as rich as you can and you want to simplify the things that you rely on in the primary store to the minimum the reason being is the fact that you as you can probably guess you have to configure the primary store in every single platforms and then you would go into the different regions and then the different pricing and all that it gets pretty complicated and also as we will talk about it in the next chapter sorry my next point there's no API is to do it like this is a very this
is pretty much still a manual process that you need to go to with every single platforms so I would suggest keeping it simple a lot of the implementations these days are using it for virtual currencies like v box or the mind points that's that's why right that's because you want to simplify that one and then you have a richer experience in the secondary store this is an example of fulfillment flow or basically the game you know you let you let your players from steam or from PlayStation to buy the consumable or durable from the from the platform store and then you use your unified commerce to consume on behalf of the players with with the secure service the service calls this is the example calls that's happening for steam that's basically your commerce service is the one that's
going to finalize the transaction it listens to the callback and then your e-commerce is the one that basically confirm that like transaction is done now I'm going to grant this user this much in the wallet or or grants this imp at home the next one is platform certification there are three things that that is guaranteed in life the first one is well especially for a game day of life death taxes and failing a certification on a very unfortunate time because the if you if you have gone through certification before certification can be pretty tricky there it's it's quite a long list it's it varies from platform to platform and one thing to keep in mind about making a cross-platform game is that there actually an extra section that talks about cross-platform games platform
certification for it for each of the platforms here's one example this is the left hand side you have this is Call of Duty by the way like on the left hand side you have Xbox right the Xbox and the right hand side you have PC this the difference is very very subtle but if you see like in the right hand side of the PC you actually like they will tell you if the people that you're playing with is in Xbox or in play playstation whereas in the left hand side the requirement states that's like either either they are playing in the same platform as you are which is Xbox or they're playing in another platform which at that point you cannot actually say which platforms they're from right so it's a subtle UI difference and that's something that will fail you your certification if you actually didn't catch it so my recommendation is just provide yourself enough buffer to go through the platform certification and
actually understand what is required the next one is separate release and deploy this is one example fortnight has this black hole event that's basically it's for their transition from season 1 to season 2 at some point people just suddenly like the whole world just suddenly started like collapsing and absorb into black hole and it happens in the exact same time and and I would this is a time event right and and the reason this is interesting is because they don't rely on this event to be activated with the title of it if you have gone through the tidal update ritual it is pretty involved when you are submitting a title update to the platforms and also when you were releasing a paddle update a binary change you cannot really synchronize it across all platforms right now it's a very manual process
there is account manager that needs to be involved or spreadsheet sometimes you have to go to some portals you have to pass the certification test so it's it's in general it's very hard to synchronize the the release of a battle update now the title update is not the only way you can change you can release a feature to your games there is also the only patch which is like sometimes you will see that like it starts downloading like sets so that's that's really useful but also we're going to be talking about server-side pockets so what is server-side poggle server-side toggles are basically server valuables like so the story server variables that you define on a server side and then have the games game clients and game servers to react to the changes to the server variables if you have that capability in your game what you can do is you can deploy the title update earlier so you
you deploy your title your binary changes to your game and your binary changes will now understand these extra server variables ahead of time and then when you are actually ready to activate the time events or or other changes you can just change the server-side variables or feature toggles what is it used for it's useful for scheduled events it's useful for game balancing data it's useful for skill switching certain things or even enabling system features this is a diagram of how it would look like it should be pretty straightforward you have the server variables that's that is served from your services have the games have your game clients and of your game servers to be ready to to react to it push notification is it's a nice thing to
have but in theory you don't really need push notification technically you can pull but you know pulling and then you have live designers and producers or developers who configure those server variables so what that means is that if they need to tweak something if they need to Killswitch something if they need to activate certain events they can just go to from this variables from alright so we're at the last dip right now this dip is is this this is an unchartered territory so I wouldn't be clear about that it is by one's play anywhere what it enables you to do is basically it lets your consumers to buy your game in one platform and have it available for him or her to play anywhere else in any other platforms all right so why why do
we care about it like from from players it's great I mean I like from players it's basically if literally they don't have to worry or think about what platforms I need to buy this particular game for I can just buy the game and I'll have to worry about it because I can just go to another platform and I can play it for you for the game developer it is it is a goodwill it is mostly like to to get the together your your fans to get your players to really embrace your brand drive engagement and if you actually have your own store you can actually drive the traffic to your store look this way so here are three steps to enable boba the first one is unified identity again everything boils down to the unified identity the second one is being able to kind of keep track of entitlements and the third one is being able to call another platform's API to grant in Thailand now this API the third one that
I mentioned the keyless entitlement that is not widely available only a few platforms supported and even that you have to go through your account manager to use it but I believe that this is where the industry is heading right now and examples the first one is you buy it in your store and then you want to show up in steam so this is the flow so basically you have to pause eventually you call the grand package to steam again this API is not available publicly so you need to talk to your account manager if you really want to enable this listen area the second one is you you buy the game and theme and then the game will show up in your store so this one is a little bit more straightforward this one is basic but you cannot listen to purchase events in theme so you have to rely on your player play the game ones first in steam maybe at that point
you're also gonna trigger to be a common linking for instance and then at that point you know that's like alright this player has logged in he has the entitlement steam I'm gonna give him an entitlement in my store so key takeaways should we or should we not do cross-platform I think it's cross-platform is ideal for for developers who wants to make several cross-platform games and in the future or if you want to make a game that you are going to maintain for a long time that has a long life service plan why is that right because building a cross-platform games is not trivial you need time and you need effort and also unique investment to actually have the proper infrastructure to support it like all those services that we've been talking about so where do you start just
like just like the concept of game engine like unity here e4 and and all that right there basically it kind of gives you a jump start can you build your own game engine absolutely but you don't have to so there are definitely some solutions out there that will give you a jump start to enable this and some of those are actually cross-platform ready also which one are you gonna use just like when you're evaluating game engines there are pros and cons that you need to evaluate there is no there's no one solution that fits everyone so you definitely needs to check out what you need what what is important for you right so I listed about seven and I'm sure there are more to kind of depends on what you need if you would like to learn more about topic about the back end as a service solutions out there for online game dev check out the the disc or Channel and so
last question is where is this industry heading this is my opinion my opinion is platforms are taking the backseat there will always be new platforms coming in but I think that platforms are taking the backseat and it is really about the player experience is the ones going to take the the central stage just like my kids they don't really work they don't really care about platforms all they care about is having a good time and playing together and I think that is where the industry is going so if you've listened to my talk thank you so much that is my email address I would love to hear more from you especially if you have any thoughts or any comments or any questions about about about my talk or any cross-platform in general or about online game development like you know I would love to hear from you it's it's a
bummer that I don't get to see you in March but hopefully hopefully GDC 2020 summer is happening and I get to see you then until then the company I work for Excel white we actually have an online event going on in in March 16 to 20th so check out our website hopefully I will see you in the online event that we have we're going to be talking about cross-platform and and other things too and a special thanks to Mark and Edie who have reviewed my deck and gave me a lot of good feedback so thank you for that and also the rest of the GDC crew I know it's not been easy so thank you so much for coordinating this and making it still still happening and for you thank you so much bye alright break so why do you like about Minecraft well I like it because I can play with my dad and my friends and sometimes my little sister
Auto-generated captions from YouTube — names and numbers may be misheard.
Game Developers Conference · 2026
Deconstructor of Fun · 2026
Comments