Я разрабатываю небольшой 1-4 многопользовательский прыжок и бег для iPad, и у меня проблема с синхронизацией.
Игра использует Game-Center p2p Connection для подключения устройств.
Теперь моя проблема в том,
какие данные я должен отправить?
-> У меня есть враги, движущиеся платформы, разрушаемые блоки и предметы.
- когда мне отправлять данные?
Вот мои первые подходы к синхронизации ПК (играбельных персонажей):
1)
- отправить позицию (x, y) каждый кадр
-> физика и персонаж не взаимодействуют, персонаж устанавливается на переданную позицию
Проблема:
2)
- отправлять пользовательский ввод всякий раз, когда он изменяется
-> физика и персонаж взаимодействуют, имитируются только действия кнопок противника
Проблема:
- задержка не всегда одинакова, например время нажатия одной кнопки не одинаково на всех устройствах. Это означает, что один компьютер работает дольше / короче на одном устройстве.
Итак, как лучше всего синхронизировать небольшую p2p игру «скачай и беги»?
Заранее спасибо. Я ценю вашу помощь.