Дальность стрельбы - 900. А вы уверены ? :) Хавк vs СР vs ФР vs Маг

Я думаю, Rylzen говорит о том, что вы можете стоять на 2 кружочке сверху, но клиент "поставит" вас на 4й, самый нижний, и вы кинете туда монетку, в реале стоя на своём 2м кружочке.
Что если при каждом замере прописывать /loc?
Я понимаю, но я не понимаю как это должно происходить ) Т.е. у всех на экранах должна быть разная картинка, т.к. скорость передачи изображения "клиент-сервер-клиент" для каждого пользователя разная. Это зависит от целой тонны факторов. Если же у всех одинаковая, а она у всех одинаковая, т.к. мы все видим одинаковую картинку, то некий "рассинхрон" вообще никак не может влиять на происходящее. Можно просто считать, что его нет. Ну, или я чего-то не понимаю.
Далее. Если у меня фиксированная дальность выстрела - 900, то, получается, все эти монетки должны быть в 1 точке, ведь 900 - это константа. Я просто физически не могу стрельнуть ближе или дальше. А значит, кидая монетки на пол из каждого положения у себя на экране, все они должны стакаться на сервере в одном месте - на ренже в 900. И при перезаходе в игру или телепорте, картинка для меня должна меняться - все монетки должны быть в одной точке. Но этого не происходит. При перезаходе в игру они лежат там же, где я их и оставил. Ну, или я опять таки чего-то не понимаю )))
А вот идея с командой /loc крутая, завтра попробую ! Т.е. если координаты везде будут одинаковые, значит рассинхрон существует. Если разные - рассинхрона нет и дальность реально выбирается рандомно в каком-то пределе. Если я правильно всё понял :)
 
Last edited:
монетки падают там, куда ты их кидаешь, и их положение сохраняется на сервере.
Когда в клиенте, ты стоишь на позиции "А", на сервере, ты стоишь на позиции "Б" и выбрасывая монетки себе под ноги, ты кидаешь их на дистанцию, с позиции Б, на позицию А.
Респект автору что заморочился, но это действительно чистейший рассинхрон.
Я думаю, Rylzen говорит о том, что вы можете стоять на 2 кружочке сверху, но клиент "поставит" вас на 4й, самый нижний, и вы кинете туда монетку, в реале стоя на своём 2м кружочке.
Что если при каждом замере прописывать /loc?

Итак, я всё проверил, всё заскринил, сейчас буду скидывать результат:

Один.jpg

Это координата при беге "влево-вправо" Ох=147362 (красный цвет), которая нам не нужна. Я просто показываю её, чтобы вы понимали, что она меняется только при беге влево-вправо. На неё мы внимания не обращаем, т.к. мы измеряем дальность стрельбы, а не ширину. Если существует "рассинхрон", то при смещении по оси Ох адена будет стакаться на сервере на ренже в 900, но не в одной точке, а в одной линии, т.е. это просто погрешность смещения в сторону. Вторая фотка будет показывать изменение этой кооррдинаты Ох и неизменность координаты "вперёд-назад" Оу=23409 (синий цвет).

Два.jpg

Как видно из скрина, меняется только координата Ох. Координата Оу осталась неизменной.

Теперь приступим к самой стрельбе:

Три.jpg
Позиция 1. Оу = 23392

Четыре.jpg
Позиция 2. Оу = 23478

Итак, на скринах видно, что координата Оу меняется с каждой постановкой на новую позицию. А значит, механика игры выбирает эту позицию рандомно, о чём и говорится в видео. Никакого "рассинхрона" нет. Хотя, вангую, сейчас кто-то скажет, что команда /loc отображает позицию персонажа у меня на экране, а не на сервере :D
Я проверял много позиций, сделано очень много скринов и координаты на позициях все разные. Я просто показал две, дабы не грузить сообщение лишней информацией. Если у кого-то есть сомнения в честности моих скринов, вы можете сами всё проверить и убедиться, что координата всегда разная.
Если есть ещё какие-то идеи для проверки, предлагайте. Гулять, так гулять. Подумаешь, уже полнедели убил на это :D

А вообще, хотелось бы услышать мнение Администрации. Хотя бы пару слов на эту тему. В идеале - комментарий Мастера Томы.
 
Last edited:
Ну тогда...
- Мегерка и друг Эльф по сути на внешнем сервере бегают, явно же не из одной квартиры играете?)) Как минимум разные дома, как максимум разные города. А это разные провайдеры, маршруты, оборудование.
- Рулет на локальном сервере где пинг 5 и потери пакетов нет.
ауф.jpg
 
Ну тогда...
- Мегерка и друг Эльф по сути на внешнем сервере бегают, явно же не из одной квартиры играете?)) Как минимум разные дома, как максимум разные города. А это разные провайдеры, маршруты, оборудование.
- Рулет на локальном сервере где пинг 5 и потери пакетов нет.
View attachment 3872
Конечно, мы не из одной квартиры )) Но /loc показывает разные координаты в каждой новой позиции выстрела в соло тесте, как это объяснит "рассинхрон" ? )))
Выше глянь скрины.

Т.е. то, что у нас разные условия подключения к серверу и говорит о том, что "рассинхрон" должен быть у всех разный. У него на экране должна быть картинка со своей задержкой, у меня со своей. Изображения должны отличаться. Но этого не происходит, мы оба видим одну и ту же картинку.
Если предположить, что у нас разная картинка со своей задержкой и прибавить к этому разницу в расстоянии в 150-200 ренжи (как это видно на видео и скринах), и применить к 1500 игрокам, вы вообще понимаете, что играть было бы просто невозможно ? ))
Представьте ситуацию не на прямой линии, а в каких-то локациях с комнатами и поворотами. Один игрок стоит в коридоре в катакомбах. Другой у себя на экране забегает в коридор из комнаты и начинает стрелять в первого. А у первого изображение отличается на 200 ренжи и он второго игрока не видел бы, у него второй игрок стоял бы ещё в комнате. Но при этом урон бы первый игрок уже получал. Это же каламбур какой-то выходит )) Так это пример для двух игроков. А что говорить за полторы тысячи )))
Другой пример. Я бегу в КланХолл с открытыми дверями. У себя на мониторе я забегаю в КланХолл. Другой игрок нажимает "закрыть дверь". У себя на экране я в КланХолле. У него я буду за дверью ? )))
Рассинхрон не может быть на такую дистанцию, мы не в 2000 году, не играем на модемах, тут задержка будет в миллисекундах. Это погрешность дай бог в полшага. Но никак не в 200 ренжи.
 
Last edited:
Конечно, мы не из одной квартиры )) Но /loc показывает разные координаты в каждой новой позиции выстрела в соло тесте, как это объяснит "рассинхрон" ? )))
Выше глянь скрины.

Т.е. то, что у нас разные условия подключения к серверу и говорит о том, что "рассинхрон" должен быть у всех разный. У него на экране должна быть картинка со своей задержкой, у меня со своей. Изображения должны отличаться. Но этого не происходит, мы оба видим одну и ту же картинку.
Если предположить, что у нас разная картинка со своей задержкой и прибавить к этому разницу в расстоянии в 150-200 ренжи (как это видно на видео и скринах), и применить к 1500 игрокам, вы вообще понимаете, что играть было бы просто невозможно ? ))
Представьте ситуацию не на прямой линии, а в каких-то локациях с комнатами и поворотами. Один игрок стоит в коридоре в катакомбах. Другой у себя на экране забегает в коридор из комнаты и начинает стрелять в первого. А у первого изображение отличается на 200 ренжи и он второго игрока не видел бы, у него второй игрок стоял бы ещё в комнате. Но при этом урон бы первый игрок уже получал. Это же каламбур какой-то выходит )) Так это пример для двух игроков. А что говорить за полторы тысячи )))
Другой пример. Я бегу в КланХолл с открытыми дверями. У себя на мониторе я забегаю в КланХолл. Другой игрок нажимает "закрыть дверь". У себя на экране я в КланХолле. У него я буду за дверью ? )))
Рассинхрон не может быть на такую дистанцию, мы не в 2000 году, не играем на модемах, тут задержка будет в миллисекундах. Это погрешность дай бог в полшага. Но никак не в 200 ренжи.
Чтобы понять, рассинхрон или нет, лучше реальными игроками проверять, а не монетками на земле. Тоесть ренж ударами от другого персонажа(ей). Если дистанция до персонажа для тычки не будет отличаться - значит рассинхрон.

Если что, рассинхрон в л2 - это отдельная тема. На экране ты можешь провалиться под землю и плыть под водой и скорость уменьшится, а для других игроков ты по прежнему бежишь по земле, но сама синхронизация твоей картинки с сервером не происходит, тоесть в конечном счёте на своём экране я на поверхности не окажусь до тех пор, пока не релогну. Точно так же и тут может быть.
 
Last edited:
Чтобы понять, рассинхрон или нет, лучше реальными игроками проверять, а не монетками на земле. Тоесть ренж ударами от другого персонажа(ей). Если дистанция до персонажа для тычки не будет отличаться - значит рассинхрон.

Если что, рассинхрон в л2 - это отдельная тема. На экране ты можешь провалиться под землю и плыть под водой и скорость уменьшится, а для других игроков ты по прежнему бежишь по земле, но сама синхронизация твоей картинки с сервером не происходит, тоесть в конечном счёте на своём экране я на поверхности не окажусь до тех пор, пока не релогну. Точно так же и тут может быть.
Ну, мы на арене разбегались по разным углам, одновременно нажимали атаку и на сближении каждый раз была разная ситуация. То первый стреляю я, то первый он, то одновременно.
На месте происходил тест только в Снайпе. Я стою, а он отбегает и подбегает для замера дистанции. Каждый раз она была разной. То ближе, то дальше. Хавк же доставал до СРа при любой дистанции СРа. Т.е. по сути Снайп тут ничего не значит, можно считать, что я просто стоял на месте, а он отбегал и подбегал, замеряя дистанцию каждый раз по-новому и каждый раз она была разной.
 
Исследование любопытные, и видится мне что обьяснение рассинхроном чуть ближе к сове на глобусе.
Жирную точку, наверное, можно поставить попробовав "руками", скажем, ГМа телепортнуть в точку, отстоящую от стрелка, мишень на 900 едениц через комманду /loc
Сделать этот тест для разных "шмаляторов" и засечь, где истина *малдер-скалли.жпег*
 
Исследование любопытные, и видится мне что обьяснение рассинхроном чуть ближе к сове на глобусе.
Жирную точку, наверное, можно поставить попробовав "руками", скажем, ГМа телепортнуть в точку, отстоящую от стрелка, мишень на 900 едениц через комманду /loc
Сделать этот тест для разных "шмаляторов" и засечь, где истина *малдер-скалли.жпег*
Или просто посмотреть значения переменных...)
 
Представьте ситуацию не на прямой линии, а в каких-то локациях с комнатами и поворотами. Один игрок стоит в коридоре в катакомбах. Другой у себя на экране забегает в коридор из комнаты и начинает стрелять в первого. А у первого изображение отличается на 200 ренжи и он второго игрока не видел бы, у него второй игрок стоял бы ещё в комнате. Но при этом урон бы первый игрок уже получал. Это же каламбур какой-то выходит ))
Ты как вчера родился. никогда что ли... пизды от воздуха не получал? Такая херня происходит постоянно, просто все уже привыкли.
случается и такое что, на твоем экране персонаж лежит мертвый, а на самом деле он жив здоров, но его труп не перемещается вместе с ним а просто телепортируется следом, через определенную дистанцию.

и пример про кланхол, это обыденность. при этом, некоторые могут видеть дверь открытой, но не смогут в нее войти т.к. по серверу она закрыта, и наоборот, могут видеть как ты проходишь сквозь закрытую дверь.
 
Если что, рассинхрон в л2 - это отдельная тема. На экране ты можешь провалиться под землю и плыть под водой и скорость уменьшится, а для других игроков ты по прежнему бежишь по земле, но сама синхронизация твоей картинки с сервером не происходит, тоесть в конечном счёте на своём экране я на поверхности не окажусь до тех пор, пока не релогну. Точно так же и тут может быть.
Ты как вчера родился. никогда что ли... пизды от воздуха не получал? Такая херня происходит постоянно, просто все уже привыкли.
случается и такое что, на твоем экране персонаж лежит мертвый, а на самом деле он жив здоров, но его труп не перемещается вместе с ним а просто телепортируется следом, через определенную дистанцию.

и пример про кланхол, это обыденность. при этом, некоторые могут видеть дверь открытой, но не смогут в нее войти т.к. по серверу она закрыта, и наоборот, могут видеть как ты проходишь сквозь закрытую дверь.
Мне кажется, что это немного не то. Это просто речь совсем о другом. Вы говорите о багах игры, которые происходят либо очень редко, либо происходят при одних и тех же условиях.
Смотрите. Ситуация с провалом под текстуры. Оно происходит где попало ? Нет, оно происходит всегда в одних и тех же местах, либо при падении с высоты, либо на "склейках". Причем когда вы находитесь долго на какой-то локации, вы эти места уже знаете и оббегаете их. Причем дело доходит до расстояния в несколько шагов. Чуть-чуть возьмешь "левее" и не провалишься. Это просто дырявые склейки игры, с этим ничего не поделаешь, игра 2003 года, масштаб был нереальным на то время. А есть места, где игра всегда подвисает на 1-2 сек, т.к. там склейка и ты как бы переходишь из одного куска ландшафта в другой и игра как бы прогружается. На моей памяти, такая склейка есть в локации ФОС на реке, прямо перед подъёмом на сушу, например.
История с водой - да, и это тоже проблемное место игры. Тогда, видимо, просто ещё не умели нормально применять физику воды.
Причём заметьте, что общего между первым и вторым случаями (когда ты ныряешь, особенно в каты) - это координата "вверх вниз" Oz (назовём её так). Всегда эти баги происходят либо при падении с высоты, либо при нырянии в воду. Эта ось координат, по всей видимости, просто болезнь движка.

"От воздуха" никогда не умирал. Вот сколько переиграл, никогда такого не наблюдал вообще ни на одном сервере. Не отрицаю, возможно такие баги существуют, просто у меня не встречались. Всегда видел кто и откуда меня бил.
Да, ситуации с "живыми" трупами бывали. И "двойники" встречались. Тыкаешь на него мышкой и он пропадает.
С Клан Холлом тоже не припомню таких багов, но не спорю, что и они могут быть. Возможно я просто подзабыл уже. Хотя, проход сквозь двери вроде припоминается.
Всё это происходит настолько редко, что вряд ли это имеет отношение к нашей теме. Это просто какие-то графические баги игры, возможно реально связанные с единичными случаями большой потери пакетов у конкретных игроков, а сервер просто не успевает отрабатывать их и передавать информацию окружающим игрокам, у которых этого нет, поэтому все видят "копию" того самого "лагающего" игрока. Так сказать, рассинхрон. Ну, это как вариант. А может это проблема наших современных видеокарт\процессоров, которые плохо совместимы со старым движком игры. Мастер Тома на подкасте рассказывал за эту проблему - именно из-за этого игру так часто критует и выкидывает. Чем старее комп, тем меньше проблем будет у игрока. Движок просто не рассчитан на такое количество ядер.
А есть ещё целая серия багов, связанных с движением на корабле. Там вообще абзац... И проваливаешься под корабль. И просто умираешь где-то в открытом море. Но это тоже не о том.

Наша тема немного о другом. У нас это не происходт 1 раз в месяц\неделю\день, как это происходит в тех случаях. У нас это происходит постоянно. С каждым новым выстрелом. Мне слабо верится, что можно играть на "вечном" рассинхроне. Тогда, получается, весь сервер играет на нём. Это просто невозможно, иначе у всех бы просто безбожно лагало. Настолько сильная потеря пакетов у 1500 игроков ? Так это у нас 1500, а есть сервера по 5к+. У нас такой потери в принципе быть не может, т.к. у всех скорость интернета 100+ Мегабит. Даже в те времена все вышеописаные баги встречались по тому же принципу. Либо очень редко, либо всегда в определённым местах, а скорости были 1-10 Мегабит. Хотя, из всех вышеперечисленных, я помню только провал под текстуры и проблемы в воде. И смутно про пробегание насквозь закрытых дверей в КХ. Багов с трупами и двойниками не помню.

Ну неужели никто не может позвать Мастера Тому, чтоб он всё объяснил ? (((
 
Last edited:
Наша тема немного о другом. У нас это не происходт 1 раз в месяц\неделю\день, как это происходит в тех случаях. У нас это происходит постоянно. С каждым новым выстрелом.
Суть вся в том, что когда ты кликаешь по земле, твоя позиция на сервере обновляется постоянно, а когда ты берешь таргет и нажимаешь атаку, сервер сверяет твою позицию периодически. и вот, когда сервер и клиент "договорятся" что ты находишься на нужной дистанции для выстрела, ты стреляешь. но при этом, твоя реальная позиция в клиент и на сервере может отличаться.

обрати внимание как обновляется позиция в 1 и 2 случаях.
Тики сервера, скорость передвижения, пинг и т.д. все это по разному влияет на твою конечную позицию в клиенте.
даже на одном ПК, 3 клиента, взаимодействуют по разному. Но стрелять "дальше" от этого не станешь.
что уж говорить про пинг и разное железо у каждого игрока.

Ну неужели никто не может позвать Мастера Тому, чтоб он всё объяснил ? (((
Чтобы призвать Тому надо юзать скил:

skill0831.png
Summon MasterToma

С некоторой вероятностью призывает @MasterToma в ваш тред
 
Суть вся в том, что когда ты кликаешь по земле, твоя позиция на сервере обновляется постоянно, а когда ты берешь таргет и нажимаешь атаку, сервер сверяет твою позицию периодически. и вот, когда сервер и клиент "договорятся" что ты находишься на нужной дистанции для выстрела, ты стреляешь. но при этом, твоя реальная позиция в клиент и на сервере может отличаться.

обрати внимание как обновляется позиция в 1 и 2 случаях.
Тики сервера, скорость передвижения, пинг и т.д. все это по разному влияет на твою конечную позицию в клиенте.
даже на одном ПК, 3 клиента, взаимодействуют по разному. Но стрелять "дальше" от этого не станешь.
что уж говорить про пинг и разное железо у каждого игрока.


Чтобы призвать Тому надо юзать скил:

skill0831.png
Summon MasterToma

С некоторой вероятностью призывает @MasterToma в ваш тред
Так, разницу вижу, да. Сервер по-разному отрабатывает позицию. Но на втором видео видно разницу в те самые полтора-один шаг, которые могут выливаться в те миллисекунды задержки, о которых я говорил выше. В них я поверю. Но я не понимаю как может быть задержка в 200 ренжи. Это очень приличная разница в позиции.
изображение_2023-11-19_100755396.png

Разница в дистанции между самой нижней монеткой и самой верхней выливается в огромную плитку на полу + еще где-то полплитки. Там можно 10 Хавков еще впихнуть между ними.
Значит, я реально чего-то не понимаю...
Та МастерТома просто сам не знает ответ, поэтому молчит )) Инфа сотка :)
 
Ну по сути работает некая механика компенсации лагов, есть - хитбокс на сервера, хитбокс на клиенте, модель которая прицеплена к одному из хитбоксов(предположительно к клиентскому).
maxresdefault (1).jpg

Собственно глюк с хитбоксом и моделью со стороны клиента можно самому сделать....например бежит персонаж атаковать(мили) моба, сворачиваем окно, 1-2 секунды, разворачиваем окно, мы атакуем моба издалека.

Пример ниже...визуально дистанция больше чем 40 юнитов. Выделить волка я могу и он стоит визуально явно там где стоит для меня...и выделяю волка я именно там где он стоит для меня. Но для сервера волк стоит ближе. Да многие с таким гличем сталкивались когда сворачивали окна.
Shot00059.jpe
 
Ну по сути работает некая механика компенсации лагов, есть - хитбокс на сервера, хитбокс на клиенте, модель которая прицеплена к одному из хитбоксов(предположительно к клиентскому).
View attachment 3928

Собственно глюк с хитбоксом и моделью со стороны клиента можно самому сделать....например бежит персонаж атаковать(мили) моба, сворачиваем окно, 1-2 секунды, разворачиваем окно, мы атакуем моба издалека.

Пример ниже...визуально дистанция больше чем 40 юнитов. Выделить волка я могу и он стоит визуально явно там где стоит для меня...и выделяю волка я именно там где он стоит для меня. Но для сервера волк стоит ближе. Да многие с таким гличем сталкивались когда сворачивали окна.
View attachment 3929

Опять же, всё это - условия для создания графических багов\сбоев игры. Сворачивание через Альт-Таб или переход в оконный режим через Альт-Энтер создают такие графические сбои. Я не знаю почему они происходят. Но кажется мне, что к рассинхрону это отношения не имеет. Я 100 раз видел, как у меня на экране появляются артефакты в Гиране, когда я сворачиваю\разворачиваю игру. Просто на пол-экрана какая-то пирамида из пикселей коричневого цвета. При вращении мышкой она меняет свою форму, но собой полностью перекрывает изображение за ней. Так же, после сворачивания игра с огромной вероятностью кританёт. И чем больше раз вы будете это делать, тем больше шанс крита. Происходит какой-то графический сбой, скорее всего связанный с железом современных компьютеров. Игра понимает, что графоний сбился и вынуждена выбросить клиент из игры. И в описании крита, по-моему, указывается именно графическая ошибка (тут не утверждаю, надо будет прочитать ещё раз).
Я же, когда стреляю с лука, не сворачиваю игру каждый раз. И не перехожу в оконный режим. Но дистанция всё равно каждый раз меняется )))
Поэтому, для меня лично вопрос всё ещё остаётся открытым. Но, боюсь, что закрыть его и не получится. Админы молчат...
 
Last edited:
Админы очень заняты, правда :)

Зависит от скорости движения. Попробуйте тоже самое, но под перегрузом в 99%, и не бегом, а шагом.

Если глубже - на сервере не считаются движения до миллиметров и нано-секунд. Он высчитал шаг персонажа, который зависит от расы (высота-коллизия) и скорости. И, допустим, сервер обновляет каждые 800мс позицию персонажа (ведь одних только мобов 45к на карте, и чаров 2к), так что сервер берет какой-то инеграл от кривой перемещения точки в пространстве. И это еще зависит от вашей начальной позиции.

Можно рассматривать это так - у вас дистанция стрельбы в 9 метров, а вы стоите на расстоянии 11.5 метров. Сервер подождет, пока вы сделаете 3 шага, так ему проще, и вы стрельните с отметки в 8.5 метров. Но если вы стояли на расстоянии 12 метров, то сервер так же отмеряет те же 3 шага, и вы уже стрельните с отметки в 9 метров. Это если очень примитивно.

А вот если вы движетесь как черепаха, то сервер будет считать не по метру, а по 10см, и тогда с какой бы точки вы не начинали бежать, вы стрельние с расстояния в 9м (ну или 8.9м в худшем случае)
 
Админы очень заняты, правда :)

Зависит от скорости движения. Попробуйте тоже самое, но под перегрузом в 99%, и не бегом, а шагом.

Если глубже - на сервере не считаются движения до миллиметров и нано-секунд. Он высчитал шаг персонажа, который зависит от расы (высота-коллизия) и скорости. И, допустим, сервер обновляет каждые 800мс позицию персонажа (ведь одних только мобов 45к на карте, и чаров 2к), так что сервер берет какой-то инеграл от кривой перемещения точки в пространстве. И это еще зависит от вашей начальной позиции.

Можно рассматривать это так - у вас дистанция стрельбы в 9 метров, а вы стоите на расстоянии 11.5 метров. Сервер подождет, пока вы сделаете 3 шага, так ему проще, и вы стрельните с отметки в 8.5 метров. Но если вы стояли на расстоянии 12 метров, то сервер так же отмеряет те же 3 шага, и вы уже стрельните с отметки в 9 метров. Это если очень примитивно.

А вот если вы движетесь как черепаха, то сервер будет считать не по метру, а по 10см, и тогда с какой бы точки вы не начинали бежать, вы стрельние с расстояния в 9м (ну или 8.9м в худшем случае)

Ясно )) Ну, вот теперь вопрос закрыт ))
Всем спасибо, я сражался как мог. Как тигор один против всех !!
Томе отдельное спасибо за ответ ;)
 
Ну т.е. все привязано к тикам со стороны сервера, если персонаж слишком быстрый то он будет с очень сильной погрешностью стрелять с разного расстояния.

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

p.s. кстати ни кто не отменяет набегающую ошибку отображения твоей текущей позиции (у тебя в клиенте) из-за микрофризов
 
Back
Top