Перейти к содержанию
Asterios

Геодата "земли"


Crownee

Рекомендуемые сообщения

r28599M

 

Проблема уже достаточно древняя

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

  

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

Было бы хорошо или линию эту чутка поднять по коорд. Z, или "непростреливаемость" неровностей слегка опустить

 

Пример:

post-63595-0-14662300-1418264938_thumb.j

 

Скрины с руоффа http://forum.asterios.tm/index.php?showtopic=367051#entry6251446

Изменено пользователем Crownee
Ссылка на комментарий
Поделиться на другие сайты

Подобное лучше показывать в динамике. Со скрина совсем не понятно, на каком уровне стоит моб (вы бы хоть его статы показали + свои)

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

Нужны координаты места.

 

Такое ощущение что проверка видимости цели происходит не по линии "голова-голова" а по линии "пояс-пояс" или даже "колени-колени".

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

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

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

Нашел координаты на скрине.

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

Добавьте сюда округление координат до 16 единиц, и луч получится ступеньчатый а не прямой, что ухудшает ситуацию.

post-17502-0-39419400-1418869091_thumb.j

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

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

если не пробивается то и должны быть преграды, а не "невидимые приграды", либо я что то не понимаю

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

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

если не пробивается то и должны быть преграды, а не "невидимые приграды", либо я что то не понимаю

32656648.hsidw9m9d4.W665.JPG

А - подвижной движок прицела (мушка)
В - база стрелка
С - величина натяжения стрелы
Н - точка фиксации натяжения
М - точка прицеливания
Т - вершина траектории
П - точка попадания
У - угол возвышения
Д - дистанция стрельбы

 

САМ - линия прицеливания

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

Изменено пользователем iLordSion
Ссылка на комментарий
Поделиться на другие сайты

Нужны координаты места.

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

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

Логично было бы как раз сделать так, чтобы высота препятствий в геодете соответствовала визуальной.

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

Логично было бы как раз сделать так, чтобы высота препятствий в геодете соответствовала визуальной.

 

Ну набросай алгоритм, раз такой умный.

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

Ну сперва я создал темку в разделе предложений, с предложением "линию прицеливания" поднять на пару единиц вверх... Но удалили с рекомендациями создать тут...

Так то все понятно что кривизна поверхности всему виной, и чем больше расстояние тем больше она сказывается, но это жутко неудобно и иногда вгоняет в ступор мол вот я, вот цель, почему я не могу выстрелить. А "купол" от мага можно вообще в молоко поставить, ибо он скастуется но урона наносить не будет изза "невидимости" цели. По той же причине swoop cannon крафтеров становится фактически бесполезным в осадных зонах большинства замков (кроме руны и адена наверное) ибо на близкое расстояние стрельнуть нельзя, а на расстоянии выстрела изза невидимости цели урон не нанесется (1600 и 2000 расстояние выстрела, на таком расстоянии можно только на абсолютно ровной поверхности в кого то попасть)

Изменено пользователем Crownee
Ссылка на комментарий
Поделиться на другие сайты

Ну набросай алгоритм, раз такой умный.

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

Логично было бы как раз сделать так, чтобы высота препятствий в геодете соответствовала визуальной.

Нельзя. В играх используется 2 метода - либо они полностью доверяют рассчетам клиента, либо все считает сервер. Первый подход плох тем, что возможны читы как в CS. В l2 используется полный просчет на стороне сервера, и он по определению должен быть максимально простым и быстрым, т.к. одновременно считается для ~5000 игроков и ~10000 мобов, и суммарно это огромная нагрузка.

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

 

Более того, если сделать траекторию полета стрелы как у лучника, то проблем станет еще больше, но уже внутри помещений. Ведь там низкие потолки. И не решит аналогичную проблему магов.

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

Нельзя. В играх используется 2 метода - либо они полностью доверяют рассчетам клиента, либо все считает сервер. Первый подход плох тем, что возможны читы как в CS. В l2 используется полный просчет на стороне сервера, и он по определению должен быть максимально простым и быстрым, т.к. одновременно считается для ~5000 игроков и ~10000 мобов, и суммарно это огромная нагрузка.

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

 

Более того, если сделать траекторию полета стрелы как у лучника, то проблем станет еще больше, но уже внутри помещений. Ведь там низкие потолки. И не решит аналогичную проблему магов.

Но ведь линия прицеливания просчитывается от точки до точки, правильно? Насколько технически возможно эту точку слегка поднять, скажем на 10 единиц

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

Нельзя. В играх используется 2 метода - либо они полностью доверяют расчетам клиента, либо все считает сервер. Первый подход плох тем, что возможны читы как в CS. В l2 используется полный просчет на стороне сервера, и он по определению должен быть максимально простым и быстрым, т.к. одновременно считается для ~5000 игроков и ~10000 мобов, и суммарно это огромная нагрузка.

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

 

Более того, если сделать траекторию полета стрелы как у лучника, то проблем станет еще больше, но уже внутри помещений. Ведь там низкие потолки. И не решит аналогичную проблему магов.

 

В таком случае у меня вопрос, но он оффтопный:

 

Вчера, во время респа Баюма, делал квест на 7 этаже ТОИ (тои как известно делится на этажи и естественно каждый этаж имеет крышу стенки и тд.)

Сражения нескольких кланов происходили на 13 этаже.

 

И теперь внимание, когда пошел очередной раш одного клана на другой на 13 этаже, у меня начал лагать клиент на 7! (под лагами подразумевается проседание по ФПС, до 1-9фпс)

Но в поле зрения у меня не было сотен игроков! Только несколько мобов. (Специально после того как начались лаги, я изменил настройки "лимит NPC\игроков" на минимум, но проседания по фпс не прошло)

 

Как это объяснить? Ведь если сервер считает все "траектории" и все передвижения игроков, то во время крупных сражений должен залагивать весь сервер, а не какая-то определенная локация.

Можете дать комментарий по этому поводу?

 

Складывается впечатление что на крупных замесах проблема не в графической отрисовке множества объектов, а в _тупой_ бомбежке клиентов (пакетами), сервером.

Изменено пользователем keyvan
Ссылка на комментарий
Поделиться на другие сайты

А что на счет проблемы для стрельбы сверху вниз и снизу вверх?  Арбы/луки банально не могут стрелять, пока не станут на ровную местность с противником. Банальный пример - БАЮМ, на лестнице тупо ничего не сделать, приходиться забегать в толпу и стоять лицом к лицо с варом(хотя арбы/луки отличаются тем что стреляют издалека).

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

 

В таком случае у меня вопрос, но он оффтопный:

 

Вчера, во время респа Баюма, делал квест на 7 этаже ТОИ (тои как известно делится на этажи и естественно каждый этаж имеет крышу стенки и тд.)

Сражения нескольких кланов происходили на 13 этаже.

 

И теперь внимание, когда пошел очередной раш одного клана на другой на 13 этаже, у меня начал лагать клиент на 7! (под лагами подразумевается проседание по ФПС, до 1-9фпс)

Но в поле зрения у меня не было сотен игроков! Только несколько мобов. (Специально после того как начались лаги, я изменил настройки "лимит NPC\игроков" на минимум, но проседания по фпс не прошло)

 

Как это объяснить? Ведь если сервер считает все "траектории" и все передвижения игроков, то во время крупных сражений должен залагивать весь сервер, а не какая-то определенная локация.

Можете дать комментарий по этому поводу?

 

Складывается впечатление что на крупных замесах проблема не в графической отрисовке множества объектов, а в _тупой_ бомбежке клиентов (пакетами), сервером.

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

  • 3 недели спустя...
Ссылка на комментарий
Поделиться на другие сайты

Попробую наскальными рисунками показать наблюдения игроков:

 

Ступеньки можно формально считать за слои геодаты\препятствия.

 

post-168017-0-91694400-1420902400_thumb.

 

Даже имея некоторые препятствия на пути, мы все же видим цель и можем ее атаковать. По ощущениям линия видимости расчитывается по уровню титулов игрока\моба, а вероятнее всего по, так сказать, верхушке каркаса объекта (что-то описывающее коллизии игрока\моба).

 

А теперь у нас:

 

post-168017-0-82589300-1420902401_thumb.

 

Первая же ступенька лишает возможности видеть цель.

 

Пожаление к Администрации, указать на картинке примерно как происходит на данный момент у нас.

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

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

Изменено пользователем Imperfection
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...