PLEASE PLEASE PLEASE, before this change, ensure there is a proper way to distinguish PC player from XBox players in Lua code.
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.
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.
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?
I do not want cross-platform play in my game mixing console players and PC players.
What are my options regarding this?
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
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.
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!
Thanks,
Developer Relations Team
Xbox Cross Platform Play is now live!