Una de las razones principales por las que la plataforma cruzada no es posible se debe al requisito de seguridad de cada lado.
Cada consola es, como todos sabemos, como una computadora, pero con restricciones estrictas y leves en cuanto al acceso al sistema operativo. Es por eso que escuchas cosas como consolas de desarrollo y consolas de demostración y otras "versiones" de una consola. Cada uno tiene diferentes tipos de restricciones.
A donde voy con esto es esto: las consolas pueden actuar como puertos hacia sus respectivos servicios en línea: PlayStation Network y Xbox Live y Nintendo **** Servicios en línea (como los servicios en línea de Nintendo Switch o los servicios en línea de Nintendo Wii, etc.)
Esos sistemas son responsabilidad de sus respectivos "propietarios" (Microsoft, Sony, Nintendo) y, como le permiten chatear con otros jugadores, comprar en línea y realizar muchas acciones, su seguridad se considera primordial. Si un sistema (como una Xbox One) pudiera conectarse a otro sistema (como una PS4) a través de algo parecido a un juego (que es un software), dependiendo del nivel de autorización permitido por el software del juego, existe un riesgo de seguridad.
Especialmente con el sistema de autenticación de esos juegos. Si permite que los jugadores de una consola jueguen con otro jugador en otra consola, ambos usan un sistema de autenticación diferente. Es como si tuvieras un jugador cuya autenticación es manejada por PlayStation Network, mientras que otro jugador tiene sus manos de autenticación por Xbox Live. ¿Cómo se hace para que el reproductor PlayStation pueda "descargar" los datos del jugador (icono, nombre, etc.) desde el reproductor Xbox? ¿Cómo manejas la comunicación entre ambos? ¿Cómo manejarías cosas como amigos / mensaje?
Hay 3 posibles soluciones:
1) Cada consola usaría 1 servicio de autenticación único. Eso es casi imposible. Sony, Microsoft y Nintendo nunca permitirían tal cosa. Esto se debe a que esto implicaría, para uno de ellos al menos, algún tipo de costo, como un corte en las ventas (generalmente del 25% al 35%) y para el otro, eso significaría una gran inversión (y riesgos) para un mejor hardware.
2) El editor del juego ejecuta su propio servidor de alojamiento. Esto requiere un proceso largo y doloroso de aprobación de todas las partes involucradas. Básicamente, esto requiere que un servidor autorizado autorice cargar datos de jugadores de ambos sistemas y solo ese servidor puede administrar los datos de jugadores de ambas consolas a la vez. La PlayStation no accede a Xbox Live y viceversa. Ambos acceden a un servidor de terceros que carga y carga los datos.
El juego Rocket League hace algo similar con PC gamer (con Steam) y PlayStation 4 gamer (con PlayStation Network). Los jugadores de PC solo ven el nombre de los jugadores de PSN ya que esa información es pública. El jugador de PC no puede ver el ícono del reproductor PSN ya que está restringido. (En cambio, el reproductor de PC solo ve el icono de PSN). El servidor conecta a los clientes, pero no hace nada como administrar las compras. En cambio, es un sistema de transacción seguro basado en claves (similar al sistema Key-Link de Paypal que usa cada vez que usa PayPal) que es administrado por PSN y Steam directamente, que luego es administrado por la consola local. (Por lo tanto, una PC Steam no puede acceder a la cuenta de PSN).
El principal problema con esta solución, aparte de que la obtención de datos es bastante restringida y compleja de implementar, es que debe mantener todos los puertos compatibles, lo que significa que si lanza un parche para PlayStation con nuevo contenido, ese contenido debe estar disponible y listo para PC o cualquier otra consola. Esto hace que tengas que hacer 2 o más versiones de tu juego a la vez, probarlas, liberarlas, estar listo para duplicar el informe de error / bloqueo, etc.
3) Cada consola se ejecuta en una partición / capa separada en el servidor. Esto es lo que suele ocurrir con la mayoría de los MMO de controladores de consola. 1 redes que actúan como un servidor para todas las consolas y PC, pero cada una accede a una parte diferente del sistema. Este sistema no requiere que cada puerto tenga la misma versión ni nada. Lo único es que PSN no puede unirse a XBox Live y tampoco las PC. Cada uno está "en su propio mundo".
Es por eso que rara vez se ve ninguna interactividad compartida entre consolas y PC. Demasiados riesgos de problemas y restricciones. El 99% de los casos usa 3). El 1% restante generalmente involucra un sistema simplista como Rocket League donde solo se cargan los nombres del perfil del otro jugador y su última acción a través de un subsistema de transmisión.
PC Max Players: 64 (32v32)
,PS3 Max Players: 24
. Y eso es (creo) debido a las limitaciones del sistema (esto de una fuente olvidada hace mucho tiempo. Hubo alguna razón ...) Si bien podrías limitar los jugadores de PC max, eso estaría evitando la gloria total posible que tu juego podría lograr. Por lo tanto, separa los sistemas, pero le permite aprovechar al máximo cada sistema, en lugar de limitarse al sistema más débil.