Синхронизация игр для iPad - PullRequest
0 голосов
/ 29 марта 2011

Я разрабатываю небольшой 1-4 многопользовательский прыжок и бег для iPad, и у меня проблема с синхронизацией. Игра использует Game-Center p2p Connection для подключения устройств.

Теперь моя проблема в том,

  • какие данные я должен отправить?

    -> У меня есть враги, движущиеся платформы, разрушаемые блоки и предметы.

  • когда мне отправлять данные?

Вот мои первые подходы к синхронизации ПК (играбельных персонажей):

1)

  • отправить позицию (x, y) каждый кадр -> физика и персонаж не взаимодействуют, персонаж устанавливается на переданную позицию

Проблема:

  • много данных для отправки

  • ПК время от времени лагает

2)

  • отправлять пользовательский ввод всякий раз, когда он изменяется -> физика и персонаж взаимодействуют, имитируются только действия кнопок противника

Проблема:

  • задержка не всегда одинакова, например время нажатия одной кнопки не одинаково на всех устройствах. Это означает, что один компьютер работает дольше / короче на одном устройстве.

Итак, как лучше всего синхронизировать небольшую p2p игру «скачай и беги»?

Заранее спасибо. Я ценю вашу помощь.

1 Ответ

1 голос
/ 29 марта 2011

какие данные я должен отправить?

Отправьте все, что вам нужно знать, чтобы выполнить необходимую игровую логику.Отправлять новые местоположения врагов, обновленную информацию о здоровье и т. Д.

когда мне следует отправлять данные? Очень часто.Вам понадобятся свежие данные при обновлении экрана, чтобы игра выглядела очень гладкой.В идеале около 30 раз в секунду.Некоторые из менее важных данных могут быть отправлены с использованием метода Unreliable для сокращения сетевого трафика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...