[Live] Xbox Cross Platform Play

PLEASE PLEASE PLEASE, before this change, ensure there is a proper way to distinguish PC player from XBox players in Lua code.

13 Likes

Like I said, developers could design something for their own games, but we shouldn’t have to.

Is this a requirement by MS, or could we manually enable chat for XBox users on a game-by-game basis?

I find this a little concerning for more sociable games, when potentially half of the server cannot communicate with the other half.

Ow, amazing news.

As a player, on PC, you currently cannot tell who is on mobile phone, tablet, VR, etc. This will also be the case for Xbox. You will see Xbox users as other Roblox players.

As a developer, I need to be able to determine platform to provide good cross-platform playing experiences. For XBox players, I need to know that they can’t chat and instead use voice chat. I can’t check if they’re using a controller because players on PC can use controllers too. ROBLOX cannot expect developers to create games that provide good playing experience across multiple platforms (e.g. social games on PC and XBox) without providing developers with the tools they need to craft masterful player experiences.

It’s not just XBox either. There are many factors influenced by platform but not input type. I want to be able to recognize that a user is on Windows instead of Mac so I can show Windows keyboard icons instead of Mac icons. ROBLOX has been really insistent that developers shouldn’t need to know platform despite being provided with multiple valid use cases where input type/screen size doesn’t matter. This is getting to the point of how ridiculous the topbar problem was. Now more than ever as platform affects gameplay irrespective of input type/screen size, it’s important we’re able to recognize this and tailor our game appropriately. Attempting to discourage bad practices (where screen size/etc is more appropriate than platform) is trivial in comparison.

8 Likes

Genuine thank you to everyone voicing their thoughts.

For those of you asking about competitive games that rely on users having the same input type, here are some options to consider:

One thing to note first is that this case is already possible! Mobile users and desktop players are currently playing together across all games. Developers who have already solved for that major input difference will find it natural to now include console players into the fold.

For games that are willing to make design/balance changes to adjust for players on different platforms, there are infinite options. Here are some ideas of places to start when considering this kind of change: Input Sensitivity, Handicap, Starting Positions, Item Selection, Level Design, Score Weighting, Character Stats, Variable Roles, Hit Zones, Asymmetric Goals. If changes to gameplay are undesired, there are still other options that are independent from gameplay changes.

Some developers prefer to tie their game down to a specific platform and input type. (See the Access tab in the settings for your Place.) This option is faster and simpler in the short term, though not recommended in the long run as it is unideal for players’ convenience and ability to play from anywhere / with anyone (and thus the growth of your game).

Another option is to use the Access feature to make one version of your game available only for one platform, and a separate game that is a copy, available only for another platform - AKA “forking” your game. This option is extremely NOT recommended as it creates serious issues for players. Players who join your game on one platform will make progress and purchase products in that game, then when they join the game on another platform, they will find that their scores/unlocks/data/purchases are inaccessible, which makes for a continuously frustrating experience.

For developers who want more control over which players play together in the same server, custom matchmaking is recommended. There are many different ways to do this, but one way is by input type! There’s always room for innovation, but a current standard method for this is to have your game’s Start Place teleport players to sub-places depending on their input method (See UserInputService). This way, you can ensure that players are grouped together by their input type, without forking your game.

More info on the above:

Again, thanks to everyone sharing their perspective. It’s imperative we all hear these insights as we continue to make new capabilities possible and improve together as a platform.

We should have official support for platform type. Input type is not enough information to determine how playing experience will be affected by the user’s devices. If half of the server isn’t going to be able to talk to the other half, I want to know that. We need to be able to distinguish platform – not input type. If you truly want us to craft good experiences for a single game on multiple platforms, then we need to be given the tools to do so. This is not restricted to XBox. OS X users will feel out-of-place in my game if I use Windows icons. Instead of displaying Ctrl+C, I want to display Cmd+C.

6 Likes

This is not true. Only games where it makes sense for pc-mobile cross-platform play have it enabled right now. Competitive games do not have it enabed. Phantom Forces is available only on PC and Xbox. How can Phantom Forces possibly solve the challenges presented by having players with different inputs in the same server?

None of these things are possible to accomplish in a server that hosts both types of players. These things must all be synchronized between every player in the server.

Non-roblox competitive games have solved the problem of asymmetric input creating balance issues - they simply don’t allow those players to be in the same server. Overwatch, for example, does almost all of the other things you mentioned and they still have to have separated servers. They even make platform-specific gameplay changes to compensate for input differences, which would be completely impossible if the servers were combined.

This is not a solution because players data and purchases won’t carry over to the other game.

Right now teleporting fails almost 5% of the time. That’s insane. Anyone who’s doubling their join time and then kicking 5% of players is crazy. This is not a solution either.

Overall, cross-platform play doesn’t make any sense. What’s the point? You can’t play with friends, it complicates development, it forcibly introduces game design challenges, it reduces the number of players in a server who can communicate with each other, and it puts xbox users at a disadvantage in any competitive game. All for what? The OP doesn’t even say what this accomplishes. All the staff responses to the myriad of issues have been to use workarounds that damage the user experience. What is going on here? Why is this update being forced out when roblox is fully aware that it’s going to damage the user and developer experience, and damage certain games?

11 Likes

I do not want cross-platform play in my game mixing console players and PC players.
What are my options regarding this?

1 Like

I REALLLLLYYYY don’t want this too, but it seems we’ve been left out to dry. This change hasn’t been implemented yet so there is still some time.

We could use teleport service to make Console only servers, but I feel like some of my code is going to turn into spagetti with that

1 Like

As a phantom forces dev, we’re not going to be allowing cross-platform play for pc and xbox, because PC has an advantage over console, using a mouse makes aiming way easier than xbox. Another thing, AxisAngle said, was we’re going to test updates on PC first, then publish after more testing to xbox, so Xbox gets a better experience. This has sort of been the case with Console games for a long time, the big titles all just work, though I can’t say that is the case anymore, but at least it used to be. (Microsoft requirements). Generally speaking though, console games have barely any bugs, I don’t remember a single issue playing Halo games, and I personally want that to be the case with phantom forces.

Along with this, it’ll take more testing to make sure xbox updates work well.

AxisAngle was working on an Aim assist for phantom forces (Not sure progress), that will be added for console players to make gameplay a bit more enjoyable. (It’s not a straight out aimbot though lol, it still requires aiming). Other than this, I am not sure of his reasoning though, I could just ask him.

As for this, Phantom Forces could easily implement ability to keep data across PC and console versions, we have our own backups of player data, and could easily make it load from that, though it’s not ideal/practical for most game devs to do this, takes a lot of time/experience to keep it running 24/7, etc.

2 Likes

Couldn’t agree more for FPS games

To clarify, Phantom Forces will be using a separate game for PC players and xbox players in order to prevent cross-platform?

Correct

The blog officially announced this today, but I have some doubts, one of them being how are usernames handled:

What if PC/Mobile players see two users with the same name on the playerlist, wouldn’t it be too confusing since there is no distinction between console players and not (at least, from the PC/Mobile perspective)?

It isn’t really an issue for me since I don’t store data by usernames or anything like that.

This is not too big of a problem in those platforms since we use Roblox accounts in there, with unique usernames. You can’t register a new account if the name has already been taken. However, on Xbox, you play under your gamertag, and therefore conflicts can happen - and will happen - between Roblox usernames and Xbox gamertags.

Yeah, it would be nice to have some sort of indication that a player is an Xbox player from the PC perspective. Differently from mobile/VR/PC, there is no communication between Xbox and us and there will be username conflicts.

Just to clear up any confusion.

Desktop/Mobile players will see the console users Roblox name in both the playerlist and above their heads, not their gamertag. For Xbox players, they will see both the gamertag and the Roblox name if the other players are playing on Xbox, and just the Roblox name for everyone else.

Previously on console, we would set the Player objects name to be their gamertag. This is no longer the case, and the Player objects name will now be their Roblox name.

Hey everyone,

We will be updating this thread once the update is live later today! :slight_smile:

Thanks,
Developer Relations Team

Xbox Cross Platform Play is now live!

8 Likes