Angry_Karlsson

То чего нет или мы в очередной раз все неправильно поняли?

Есть ответ

Конечно же альфа ошибается. Это представление довольно далеко от того как работает игра - что отметили многие игроки.

Однако, 1) все игроки видят не реальный мир, а предсказанный мир. Так как реальный мир - он на сервере, а все что видят игроки - на полпинга (_их_ полпинга) отличается от сервера, т.е они видят _прошлое_. Вернее, не совсем прошлое, а из прошлого (из реального, серверного прошлого ) полученное предсказанное-гипотетическое настоящее (не обязательно реальное - ведь другие игроки - тоже играют, управляют своей техникой).
Потому стрельба по мишени - это стрельба по предсказанному положению. В quake3 если у тебя плохой пинг - надо стрелять "на упреждение", т.е. подумать, где на самом деле находится мишень тогда, когда твой пакет "я стреляю" дойдет до сервера (а это зависит от твоего пинга). Так как в quake видишь ты положение мишени В ПРОШЛОМ, а когда твое управление дойдет до сервера - еще время пройдет. В quake пули летят мгновенно, потому вся разница это в положении юнитов. В нашей игре - нет. Однако наша игра услужливо предсказывает за тебя, где же находится игрок в настоящее время. И кстати где ты САМ находишься в настоящее время - тоже предсказывает, так как ТВОЙ клиент знает лишь где ты сам находился и куда смотрел когда сервер отправлял тебе пакет, но за то время которое пакет летел до тебя - могло произойти много событий (например тебе выбили гусеницу или элерон, и ты никак не можешь это знать, а значит неправильно представляешь, где находишься)
В итоге в нашей игре - чем лучше твой пинг, тем лучше ты попадаешь. ВСЕГДА. Нет никакой поблажки игрокам с плохим пингом.
В отличие от модели лагокомпенсации в CS или BF или Overwatch, где игрок видит ЗАПИСЬ положения других игроков (реального настоящего знать нельзя, а вот прошлое - можно). И соответственно чем хуже твой пинг, тем тебе лучше - потому что в этих играх ты видишь запись того, как играли другие игроки, а значит они никак не могут реагировать на твои действия - в BF3-4 допустимый пинг - больше секунды, что значит когда игрок с таким пингом врывается в комнату, то остальные игроки, с хорошим пингом, не увидят его еще полсекунды, и он будет играть в натуральный тир целых полсекунды. В CS допустимый пинг по умолчанию емнип 300 мс - что значит что на 60 фпс у игрока с пингом 300мс есть два-три кадра (не так мало) чтобы выстрелить по противникам которые его даже не видят И ГАРАНТИРОВАННО ПОПАСТЬ. Именно поэтому в CS как правило игры разрешают играть не более 250-300мс пинга по умолчанию
Однако, в нашей игре, чтобы могли играть люди с расстоянием до сервера больше длинны кадра (т.е с пингом больше 10мс - а это почти все игроки на свете), для игроков рассчитывается положение их юнита в их времени. Сервер получив пакет с управлением ("я нажал кнопку направо", отправлен пакет 150мс назад) смотрит, где ты реально был 150мс назад, применяет твое управление, и сообщает тебе в ответ где же ты на самом деле стал. На клиенте ты давно уже оптимистично предполагаешь что ты таки да, нажал кнопку и повернул. А всем другим клиентам сообщает "игрок такойто на самом деле 150мс назад повернул". Если за это время в него никто не попал - то как бы версия реальности о том где он был (НО НЕ ДРУГИЕ ИГРОКИ!) корректируется, и становится такой, как у него. Для других игроков это может выглядеть как дергание - в большинстве случаев весьма небольшое, так как физические тела весьма инерционны. При этом, если ты "попал" (на сервер) в того кто еще не прислал свое управление - то это у него дернется его танк\самолет.
. Если твой пинг превышает некий барьер, то управление начинает "тормозить" (а потом выкинет из игры)

Предвосхищая вопросы какая модель лучше - у всех есть свои преимущества - в модели синхронизации CS ты почти всегда, если попал на клиенте, то попал на сервере, что конечно приятно, но зато играть проще тому, у кого пинг хуже - а ухудшить себе пинг может каждый. Кроме того, в CS и большинстве названных шутеров, большинство снарядов попадают МГНОВЕННО - что значит что если ты выстрелил, то на клиенте ты сразу увидел, попал или нет - и сильно неприятнее узнать, чуть позже что на самом деле не попал. В физическом смысле при расстояниях уровня CS (максимальная длинна уровня - 100м, большинство выстрелов производятся с расстояния меньше 30м) - разницы между мгновенным и реальном - очень немного. В WT даже если у всех 0пинг, то как правило расстояния исключают возможность мгновенного попадания - а значит часто можно промахнуться (или попасть) даже когда думал что попадешь (промажешь). 

Но есть и решающий фактор:

Модель WT (наша) неизбежна тогда, когда есть некий "измеритель", в физическом смысле "наблюдатель", т.е. если удаленно управляемые физические тела взаимодействуют с чем-то динамическим и независимым от управления, что видят все игроки. Например, самым простым таким механизмом являются волны на море.
В самом деле, модель аля CS просто не может работать - если ты будешь видеть ЗАПИСЬ других игроков, а волны в настоящем (предсказанном) времени - то корабли\самолеты будут отставать от волны (слишком поздно выныривать, и слишком поздно начинать падать) - и даже типовом пинге аля 300мс это будет вполне заметно (не говоря уж о большем).
А если ты будешь видеть воду "из прошлого" - то все остальные корабли\самолеты будут идеально, но теперь уже ты сам не сможешь плыть по волнам - они будут не соответстовать реальности.
А волну, как не трудно понять, нельзя иметь для одного корабля в прошлом, а для другого в настоящем (будущем) - она должна быть в одном времени.
Ну или надо делать совсем какие-то нефизичные вещи (типа плоской для физики воды, а волны лишь визуальные + покачивание корабля независящее от волн и гидродинамики).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Наткнулся на этот репорт 

Так как сам не раз наблюдал подобные явления зашел почитать почему это в очередной раз не является ошибкой. 

Собственно сам ответ КБР 

Скрытый текст

5a22edcbbb9d0_.thumb.png.b72f53ceebe4a40

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

Изменено пользователем Angry_Karlsson

todace (Опубликовано: )

Ответ и разжевывание темы - ниже
  • Лайк 16
  • Вверх 13
medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, Angry_Karlsson сказал:

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

Скорее, корректировать попадания если у игрока плохая статка. Видимо, как и занижать эффективность "статистам" - исчезающие на ровном месте снаряды под 90 градусов в борт и т.п.

 

Изменено пользователем flying_hog
  • Лайк 6
  • Вверх 13
medal medal medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Такая система есть в других играх, но ранее оно отрицалось и говорилось что правда за сервером.

 

Скорее всего альфа ошибается.

medal medal medal medal medal medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Помню катал я на ру 251. Вижу как снаряд пролетает над мто, через пол секунды танк загорается. Никаких повреждений нет.

Но это мне приснилось, в игре этого конечно же нет.

medal medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Felmyst сказал:

Скорее всего альфа ошибается.

Само собой ошибается. :yes_yes_yes:

medal medal medal medal medal medal

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу