Однією з головних причин того, що крос-платформа неможлива, пов’язана з вимогами безпеки кожної сторони.
Кожна консоль, як ми всі знаємо, схожа на комп’ютер, але з жорсткими та легкими обмеженнями щодо доступу до ОС. Ось чому ви чуєте про такі речі, як консолі devs та демонстраційні консолі та інші "версії" консолі. Кожен має різного роду обмеження.
Звідки я іду з цим, ось що: консолі можуть діяти як порти до відповідних онлайн-сервісів: PlayStation Network і Інтернет-сервіси Xbox Live та Nintendo **** (як Інтернет-сервіси Nintendo Switch або Інтернет-сервіси Nintendo Wii тощо).
Ці системи є відповідальністю їх відповідного "власника" (Microsoft, Sony, Nintendo), і оскільки вони дозволяють спілкуватися з іншими гравцями, купувати в Інтернеті та робити багато дій, їх безпека вважається найважливішою. Якщо система (наприклад, Xbox One) могла підключитися до іншої системи (як PS4) через щось на зразок гри (яка є програмним забезпеченням), залежно від рівня авторизації, дозволеного програмним забезпеченням гри, існує ризик безпеки.
Особливо із системою аутентифікації цих ігор. Якщо ви дозволяєте гравцям з консолі грати з іншим гравцем на іншій консолі, обидва використовують іншу систему аутентифікації. Начебто у вас є плеєр, для якого аутентифікацію обробляє PlayStation Network, тоді як інший гравець має свої ручки аутентифікації Xbox Live. Як зробити так, щоб програвач PlayStation міг "завантажити" дані гравця (піктограму, ім'я тощо) з плеєра Xbox? Як ви керуєтесь спілкуванням між обома? Як би ти поводився з такими речами, як друзі / Повідомлення?
Є 3 можливі рішення:
1) Кожна консоль використовувала б одну службу аутентифікації. Це майже неможливо. Sony, Microsoft та Nintendo ніколи не дозволяли б такого зробити. Це тому, що для одного з них, принаймні, така собі вартість, як скорочення продажів (як правило, 25% -35%), а для інших, це означатиме багато інвестицій (та ризиків) для покращення обладнання.
2) Видавець гри запускає власний хостинг-сервер. Це вимагає тривалого і болісного процесу апробації від усіх зацікавлених сторін. В основному, це вимагає, щоб кожен авторизований сервер завантажував дані гравців з обох систем, і тільки той сервер може керувати даними програвача з обох консолей одночасно. PlayStation не має доступу до Xbox Live і навпаки. Вони обидва отримують доступ до стороннього сервера, який завантажує та завантажує дані.
Гра Rocket League робить щось подібне до геймерів на ПК (за допомогою Steam) та геймера PlayStation 4 (за допомогою PlayStation Network). PC-геймер бачить лише ім'я гравців з PSN, оскільки ця інформація є загальнодоступною. PC-геймер не бачить піктограму гравця PSN, оскільки це обмежено. (Натомість програвач ПК бачить лише значок PSN). Сервер підключає клієнтів, але не робить нічого подібного до управління покупками. Натомість це захищена система транзакцій на основі ключа (подібно до системи Key-Link Paypal, яку ви використовуєте кожного разу, коли ви використовуєте PayPal), яка керується безпосередньо PSN та Steam, а потім управляється локальною консоллю. (Отже, Steam PC взагалі не може отримати доступ до облікового запису PSN.)
Основна проблема цього рішення, окрім отримання даних досить обмеженим та складним у здійсненні, полягає в тому, що вам потрібно підтримувати сумісність усіх портів, тобто якщо ви випустите патч для PlayStation з новим вмістом, той вміст повинен бути доступним і готовим до ПК або будь-яку іншу консоль. Це робить те, що вам потрібно зробити 2 або більше складання вашої гри одночасно, протестувати їх, випустити їх, бути готовим до подвійного звіту про помилки / аварії тощо.
3) Кожні консолі працюють на окремому розділі / шарі на сервері. Це те, що зазвичай відбувається з більшістю ММО драйверів консолі. 1 мереж, які виконують функції сервера для всіх консолей та ПК, але кожен має доступ до іншої частини системи. Ця система не вимагає, щоб кожен порт мав однакову версію і нічого. Єдине, що PSN не може приєднатися до XBox Live, а також ПК не може. Кожен - «у своєму світі».
Ось чому ви не рідко бачите будь-яку інтерактивність, поділену між консолями та ПК. Занадто багато ризиків проблем та обмежень. У 99% випадків використовується 3). Решта 1% зазвичай включають спрощену систему на зразок Rocket League, де ви завантажуєте лише імена профілю іншого гравця та їх останню дію через поточну підсистему.
PC Max Players: 64 (32v32)
,PS3 Max Players: 24
. І це (я думаю) через системні обмеження (це з давно забутого джерела. Була якась причина ...) Хоча ви могли обмежити гравців максимуму на ПК, це заважало б отримати всю можливу славу, яку ваша гра може досягти. Таким чином, це робить окремі системи, але це дозволяє повністю скористатися кожною системою, а не обмежуватися самою слабкою системою.