|
|
|||||
Регистрация: Mar 2008
Сообщений: 259
|
Проверка данных физической модели
Вот возник вопрос. Имеем какую-то физическую модель, типа Box2d. Как передавать состояние с сервера и т.п. представление имеется.
Но, так как планируется мультиплеерная игра, а во время игры состояние системы изменяется при воздействии на нее, то возникает вопрос: насколько корректно собственно это изменение. Итак, либо 1) Мы каким-то образом симулируем систему на сервере, на сервер передаем воздействие, потом возвращаем состояние на клиент. Представляется это нереальным, хотя бы из-за нагрузки на сервер, да и плавности отображения на клиенте, вероятно, не будет. 2) Мы на клиенте обыгрываем все воздействие, на сервер передаем данные об этом воздействии и измененном состоянии системы. Вот тогда и возникает вопрос: как контролировать, что все изменения корректны? Как одна из возможных проверок - это после передачи данных о воздействии (а корректность воздействия - вектор, сила, - как раз проверить легко) на оба клиента, сверять состояния обоих и если произошла какая-то рассинхронизация между ними, то сообщать об ошибке и прикрывать геймплей. Но, вероятно, что даже при корректных данных на 2х клиентах возможны ошибки, которые будут лавинно нарастать, если не корректировать на сервере, из-за тех же ошибок округления. Конечно, это систему контроля можно развить и на сервере после приема данных с двух клиентах при небольших расхождения ее сводить к однообразию. То есть куда работать. Но, возможно есть более гибкие приемы? Добавлено через 36 часов 51 минуту Ого неужели никто с этим не сталкивался? Или все серьезные люди на выходных флешера не читают |
Часовой пояс GMT +4, время: 22:03. |
|
« Предыдущая тема | Следующая тема » |
|
|