Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > Плавное движение в играх |
Автор: jhonyxakep 12.10.2016, 15:20 |
Привет всем. Есть некая игра, в которой я реализую мультиплеер. Поскольку работа сети далека от идеала требуется сихнронизировать видимых ботов у игрока (авто) с реальными соперниками. На данный момент я передаю от соперников все данные о положении, при этом реально использую на автомобиле-боте только скорость, а позицию и углы поворота синхронизирую только при большом расхождении. К сожалению на маленьких скоростях такой метод почти не работает, потому, что именно в это время угол поворота машины игрока меняется чаще всего, поэтому в такие моменты позиция соперника и угол поворота сихнронизируются каждый пакет данных. В результате чего именно при резких разворотах имеются типичные лаги. Попытка предсказать примерное положение авто даёт неверные результаты из за нехватки данных, а больше данных получить проблематично. Был бы рад услышать варианты решения этой проблемы, спасибо. |
Автор: Курсант 18.1.2017, 12:19 |
Можно передавать данные об управляющих воздействиях, которые отправляет пользователь (пользователь - самое медленное устройство), и положения автомобилей вычислять на обоих компьютерах. У Вас ведь есть физический движок. ИМХО, это будет самый точный способ. Только надо пересылать управляющие воздействия и моменты времени, когда они сделаны, чтобы синхронизировать реакции. Такое вот ИМХО. |