В даний час я працюю над одиночною грою, орієнтованою на фізику, де я хотів би, щоб фізика була імітацією на стороні сервера. Це тому, що в грі будуть лідери, стійкий прогрес гравця, і т.д.
Однак проблема полягає в тому, що в цю гру, швидше за все, грають одночасно сотні (можливо, тисячі) людей. Це стосується мене, оскільки це, швидше за все, знищить потужність обробки серверів, якщо мені доведеться одночасно підтримувати сотні держав.
Я б не мав жодних проблем з переміщенням всіх фізичних симуляцій на сторону клієнта, але тоді мені б дійсно потрібен спосіб перевірити, якщо результат моделювання клієнта є дійсним. Однак я не можу зрозуміти, як.
Я думав про те, щоб раз на час запустити сторону сервера для моделювання, щоб перевірити, чи клієнт все ще грає чесно, але дуже хочу, щоб сервер мав якомога менше напруження.
Фізика стане настільки ж складною, як демонстрація GDC 2011 Глена Фідлера , можливо навіть простішою. Однак набагато більше твердих тіл, що завжди стикаються, буде в одній сцені, і всі вони будуть видні одразу.
Мені важко отримати відповідь на цей конкретний випадок, оскільки більшість ресурсів в Інтернеті - знову ж таки, що сайт Glenn Fiedlers є чудовим - говорять про дрібномасштабну мережеву фізику (наприклад, FPS з 30 гравцями, як Halo).
Будь-які поради, веб-сайти, документи або подібне з цього питання будуть дуже вдячні.
Резюме питань, на які я хотів би відповісти:
- Наскільки здійсненною є модель клієнт-сервер? Чи легітимним та обґрунтованим є мій потенціал обробки сервера?
- Чи можна надійно перевірити фізичне моделювання, яке виконує клієнт на сервері? Якщо так, то як?