Обсуждение синхронизации бета-версии

Здесь можно обсудить игру в целом, а также высказать свое мнение и пожелания по проекту.

12.10.2017, 19:03

symboss:Как так то??

Если тебя это успокоит, то у меня все точно один в один как ты описал.

HHHTriple echiXXX:ни единого (!) ресинка в бою.


Очень часто в бою нет ресинков от слова совсем. Однако, в бою творится такая ерунда, как-будто ресинки идут каждые пару секунд (как когда-то в старых версия ССС). При этом нет значка потери пакетов... Тут возникает вопрос, если пакеты не теряются в "промышленных маштабах" и не ресинкает, то в чем проблема?

Кстати, что означают надписи желтым цветом... что-то там про player 1 (player 2, 3...8)?
Аватара пользователя
RockCat
 
Сообщения: 2908
Регистрация: 03.07.2013, 08:49
Откуда: Сталинград

12.10.2017, 21:43

HHHTriple echiXXX:Хедшоты раз за разом, когда прицел даже близко не находился на уровне головы...

Хм, а я уж думал у меня паранойя. Часто замечаю подобное явление.
RockCat:
Очень часто в бою нет ресинков от слова совсем. Однако, в бою творится такая ерунда, как-будто ресинки идут каждые пару секунд (как когда-то в старых версия ССС). При этом нет значка потери пакетов...

Да-да, сегодня наблюдал такую ситуевину. Перезапуск сурвы помог. До этого часа 4 не перезапускался.
Последний раз редактировалось Rani 12.10.2017, 22:17, всего редактировалось 2 раз(а).

Rani
 
Сообщения: 1919
Регистрация: 23.09.2013, 00:33
Откуда: 1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41.

12.10.2017, 22:06

3) Да - больше инпутов, больше и объем данных. Но зависимость тут не совсем линейная так как мы отправляем и другие данные + заголовки UDP-пакетов тоже занимают место.

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

Кстати о других данных, может ли BattlEye грузить аплоад канал во время матча? Вообще, с удовольствием бы посмотрел целиком, что на компьютере генерирует лишний аплоад (видимо именно с ним у меня проблемы), но не знаю подходящего софта.
Кроме того, по пингам и winMTR ничерта не видно, что происходит, задержался ли аплоад или даунлоад, где, на сколько и тд. Если посоветуете хорошую софтинку для вышеописанного анализа сети, буду премного благодарен.

4) 500 мс.

Мышку откатывало чаще, насколько могу судить по памяти на глаз.
Допустим потерялось 2 сообщения в моменты времени 50мс и в 250мс, в 550 мс было решено делать ресинк, и сразу после ресинка (или в его процессе) обнаружилась потеря сообщения 250мс. Может ли быть второй, некорректный, ресинк из-за этого?

Если я правильно понимаю, ресинки принципиально не должны происходить чаще, чем 500+время_на_ресинк мс.
И вроде в дни стабильно плохого коннекта я примерно это и вижу.

А что у вас за соединение можете сказать? 3g-модем?

Да, использую режим 3g (4g здесь ловит хуже). В дни, когда связь объективно плохая, из за погоды например, вопросов никаких нет.
То, о чём я писал, происходило в дни с хорошим коннектом именно в нескольких боях, или после длительной игры, и выглядело несколько иначе, чем когда стабильно плохой коннект.

Можете после выхода 0.50 прислать мне на почту журнал вашего матча? Попробую выяснить что приводит к этой ситуации.

Сделаю. Если повторится ситуация с частыми микрооткатами мыши, даже 0.50 не дождусь :)
Другое дело, что играть пока не тянет.


Всё думаю о преимуществах отправки абсолютного положения камеры вместо относительного.
Мне кажется, одни плюсы, при потере будет известна правильная позиция камеры после первого же прошедшего сообщения, в примере выше, про 50 и 250мс, при ресинке позиция камеры на клиенте и сервере уже автоматически будут совпадать, тк в сообщении 500 мс она корректна, нужно только будет подвинуть тело, и если потерь за эти 500 мс было мало, то и смещение в пространстве будет меньше. Значительно меньше, я бы сказал на порядок меньше, чем сейчас.

Попробую еще пример привести:
Персонаж бежит вперёд (W), и поворачивался вправо на 90% в течении 500 мс
Сообщение в 0 мс было потеряно, остальные прошли. В 500мс ресинк.
Текущая реализация:
Потеря 9% в первом сообщении, и все 500 мс персонаж на 9% смотрит (и как следствие, бежит) не туда.
Итого все 500 мс персонаж на сервере бежит не в том направлении, куда на клиенте

Предлагаемая реализация:
Потеря 9% в первом сообщении, дальше угол выставляется корректным, и с 50 мс персонаж бежит туда же, куда и бежал на клиенте. В результате в 10 раз меньше времени направление движения различны на клиенте и сервере, с вытекающим различием в разбросе положений на момент ресинка.

Кроме того, при таком подходе задержку до ресинка можно сделать значительно меньше, и это даст больше плюсов, чем минусов. Меньше откатов смертей и прочих ужасов. Ресинк станет из кошмара чем то рядовым и слегка неприятным.


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

Вопросы:
Есть ли сейчас понятия "частичного ресинка" и "полного ресинка", если да, в чем разница?
Как именно работает ресинк? Я представляю себе отправку позиции и направления камеры всех персонажей с сервера к одному из клиентов, и установку их на нём.
Последний раз редактировалось Гришка Лесник 12.10.2017, 22:11, всего редактировалось 2 раз(а).
Аватара пользователя
Гришка Лесник
Ветеран
 
Сообщения: 253
Регистрация: 01.03.2014, 18:07
Откуда: 59°27'14"N 25°10'20"E

13.10.2017, 00:17

RockCat писал(а):В 0,50 патче будут изменения в части ССС?

Никаких значительных изменений не планируется.
Гришка Лесник писал(а):Кстати о других данных, может ли BattlEye грузить аплоад канал во время матча? Вообще, с удовольствием бы посмотрел целиком, что на компьютере генерирует лишний аплоад (видимо именно с ним у меня проблемы), но не знаю подходящего софта.

Wireshark? Или встроенный в ось монитор ресурсов (диспетчер задач - вкладка продуктивность - открыть монитор ресурсов - вкладка сеть )

По задержкам - в журнале игры содержится подробная информация о том, сколько времени какое сообщение шло, но да, вы ее просмотреть не сможете.
Гришка Лесник писал(а):Допустим потерялось 2 сообщения в моменты времени 50мс и в 250мс, в 550 мс было решено делать ресинк, и сразу после ресинка (или в его процессе) обнаружилась потеря сообщения 250мс. Может ли быть второй, некорректный, ресинк из-за этого?

Нет. Клиент получит состояние мира которое было в 550 мс, то есть уже после потерянных сообщений на 50 и 250 мс
Гришка Лесник писал(а):Сделаю. Если повторится ситуация с частыми микрооткатами мыши, даже 0.50 не дождусь :)

Лучше все же подождать 0.50 - сейсчас мы занимаемся патчем, разбор проблем сети немного ниже по приоритетам.
Гришка Лесник писал(а):Всё думаю о преимуществах отправки абсолютного положения камеры вместо относительного.

Здесь скорее вопрос а есть ли необходимость переключаться на такой формат так как это займет время. Вообще, мы скорее стараемся не доходить до такого состояния чтобы понадобилась ресинхронизация - ситуация по типу вашей происходит у очень маленького количества игроков.
Гришка Лесник писал(а):Есть ли сейчас понятия "частичного ресинка" и "полного ресинка", если да, в чем разница?
Как именно работает ресинк? Я представляю себе отправку позиции и направления камеры всех персонажей с сервера к одному из клиентов, и установку их на нём.

"Типов" ресинков нет, ресинхронизация - пересылка состояния мира с сервера. Позиции и поворот всех персонажей туда входят, но информации там намного больше.

Если вам интересно почитать про синхронизацию, то гляньте это: https://gafferongames.com/post/deterministic_lockstep/
Основные принципы у нас те же (детерминистическая симуляция с пересылкой инпутов), но есть и отличия так как у нас активный мультиплеер.

ivan_vg
Vostok Games
 
Сообщения: 151
Регистрация: 24.10.2016, 12:24

13.10.2017, 03:01

ivan_vg, почитаю, Wireshark попробую, спасибо.

Только что сыграл несколько игр, и кажется нашел одну из проблем. Всё время немного подёргивает экран, микротелепортит. Я включаю Вертикальную Синхронизацию - и ВНЕЗАПНО камера начинает ходить плавно-плавно, но абсолютно резиново, мышка не слушается толком. То есть слушается, но с дикой задержкой, ведёшь, через черт знает сколько времени она туда приезжает. Играть невозможно.
Окей, думаю. Теперь отключу. И тут начинается карнавал, мне постоянно отдёргивает мышку, в точности как в том бою, где я на игрока подумал. Дальше, я перезапускаю сурвариум прям во время боя - 0 эмоций, как лагало, так и лагает.
То есть проблема такая, что вертикальная синхронизация что то сообщает серверу (или сохраняет где то на диске), и после её отключения начинается этот карнавал, до конца боя минимум.

Кончился бой, я вышел из сурвы, зашел, стало почти нормально, но всё равно подёргивает (был один из "подозрительных" на предмет генерации лагов игроков).
Ресинки можно посчитать по пальцам, подёргивает весь бой.
Так что это явно не единственная проблема, и мои рассуждения, базирующиеся на теории потери пакетов и ресинков, не относятся к проблеме. Что то другое вызывает эти подёргивания. В тире этого всего нет, всё плавненько, всё красивенько.

Пришлю журнал последнего боя всё таки. Не в ущерб ПВЕ, мне оно тоже важнее, но если будет время и силы, или после 0.50, проанализируете пожалуйста.

ps вопросы
Что значит cannot move local player input:too old? Как раз опоздание инпута с последующим ресинком? и что значит ignoring resync request? криво дошли данные для ресинка?

PS Не могу не поделиться, думаю всем будет как минимум забавно знать
Поменял модем, сегодня хорошая погода, народу сейчас рядом мало, вот результат.
Такое вот бывает 3G :)

| WinMTR statistics |
| Host ---------- % | Sent |Recv|Best|Avrg|Wrst|Last |
| 95.213.164.82 - 0 | 2840 |2840 | 16 | 42 | 110 | 47 |
Последний раз редактировалось Гришка Лесник 17.10.2017, 15:19, всего редактировалось 8 раз(а).
Аватара пользователя
Гришка Лесник
Ветеран
 
Сообщения: 253
Регистрация: 01.03.2014, 18:07
Откуда: 59°27'14"N 25°10'20"E

17.10.2017, 16:32

Такое ощущение что ресинки случаются рандомно, например: в одном бою ресинков вообще не встречал, а в другом же, на каждом шагу откаты и ресинки.

survivor_15615500450626393526
 
Сообщения: 25
Регистрация: 16.10.2017, 17:44
Откуда: Соучастник я

17.10.2017, 20:44

Пинг на РУ в два раза вырос уже как третий день, сервер куда то переехал?
Аватара пользователя
Да как так
 
Сообщения: 2356
Регистрация: 27.05.2014, 19:10
Откуда: Приднестровье г.Бендеры (i-5 3450/8Gb/1Gb 7850)

17.10.2017, 20:54

Да как так:сервер куда то переехал?

Вроде нет.
Аватара пользователя
RockCat
 
Сообщения: 2908
Регистрация: 03.07.2013, 08:49
Откуда: Сталинград

Для размещения ответа, необходимо авторизироваться на форуме.

Обсуждение игры