Простая синхронизация сетевой игры в онлайн-понг

Я пишу простую онлайн-игру в понг для двух игроков, играющих по сети. Это клиент-серверное приложение с игровой логикой на стороне сервера. У меня проблемы с синхронизацией игры на стороне клиента, и результат довольно неутешительный. Вот как это сейчас работает:

  1. На стороне сервера у меня есть игровой объект, который хранит положение игроков и мяча, каждый объект имеет свои координаты x, y и скорость x, y. На основании этого положение объектов обновляется в цикле. У меня проблемы с синхронизацией игр ...

    Я пишу простую онлайн-игру в понг для двух игроков, играющих по сети. Это клиент-серверное приложение с игровой логикой на стороне сервера. У меня проблемы с синхронизацией игры на стороне клиента, и результат довольно неутешительный. Вот как это сейчас работает:

    1. На стороне сервера у меня есть игровой объект, который хранит положение игроков и мяча, каждый объект имеет свои координаты x, y и скорость x, y. На основании этого положение объектов обновляется в цикле. У меня проблемы с синхронизацией игр ...

      Я пишу простую онлайн-игру в понг для двух игроков, играющих по сети. Это клиент-серверное приложение с игровой логикой на стороне сервера. У меня проблемы с синхронизацией игры на стороне клиента, и результат довольно неутешительный. Вот как это сейчас работает:

      1. На стороне сервера у меня есть игровой объект, который хранит положение игроков и мяча, каждый объект имеет свои координаты x, y и скорость x, y. На основании этого положение объектов обновляется в цикле. и результат довольно неудовлетворительный. Вот как это сейчас работает:

        1. На стороне сервера у меня есть игровой объект, который хранит положение игроков и мяча, каждый объект имеет свои координаты x, y и скорость x, y. На основании этого положение объектов обновляется в цикле. и результат довольно неудовлетворительный. Вот как это сейчас работает:

          1. На стороне сервера у меня есть игровой объект, который хранит положение игроков и мяча, каждый объект имеет свои координаты x, y и скорость x, y. На основании этого положение объектов обновляется в цикле. На стороне клиента есть тот же локальный объект с теми же данными, и он также обновляется в цикле.
          2. Когда игрок нажимает / отпускает вверх или вниз, клиент отправляет сетевой пакет с одним целым числом, так что объект игрока запускается / останавливает перемещение игрового объекта на сервере.
          3. Сервер отправляет пакет синхронизации каждые 50 миллисекунд с указанием положения и скорости всех трех объектов. Когда клиент получает этот пакет, он соответственно меняет положение игровых объектов.

          Этот метод работает не очень хорошо, поскольку он перемещает игровые объекты вперед и назад на стороне клиента. Есть идеи, как его улучшить?

5
задан unwind 17 January 2011 в 13:22
поделиться