Перейти к содержимому


Как работает арт-прицел

арт-САУ пособие

  • Закрытая тема Тема закрыта
Сообщений в теме: 816

CryKitten #281 Отправлено 12 янв 2013 - 19:38

    Ленивый кошак

  • Бета-тестеры
  • 24638 боев
  • 5 900
  • [MORTY] MORTY
  • Регистрация:
    02.04.2010

*
Популярное сообщение!

Периодически в ходе дискуссий на самые разные темы - всплывает "тема арт-прицела". Контекст может быть самым разным, от обсуждения нюансов игровой механики до рассказов на исторические темы. В ходе дискуссий часто выясняется, что многие, даже те, кто давно и хорошо играет на этом типе юнитов, плохо понимают, как устроен арт-прицел! Эта небольшая статья призвана приподнять завесу тайны над важным элементом игровой механики World of Tanks.
Изображение


Смотрим рисунок 1. При переключении в арт-режим наведения (по умолчанию клавиша <Left SHIFT>) артовод видит поле боя сверху, и может его приближать и отдалять колёсиком мыши. От ствола его арты до точки прицеливания - рисуется линия (2). Это "идеальная траектория" снаряда, соответствующая 100% точности и отсутствию разброса. Линия красная, если траектория где-либо пересекается с препятствием (игровым юнитом, элементом окружения), и зелёная, если непосредственно на траектории препятствий нет. "Динамические препятствия" (например танк, проехавший поблизости от арт-САУ), не учитываются. При попытке прицеливания в точку за пределами дальности стрельбы - часть этой линии будет рисоваться серым. Так же серым цветом рисуется линия, если снаряд не может попасть в точку прицеливания из-за нехватки углов наведения пушки и/или положения корпуса арт-САУ.

Рисунок 1. Составные части арт-прицела:
Spoiler                     

Точек в эллипсе - 36, и каждая представляет собой... Тут вам надо напрячь пространственное воображение. Смотрим рисунок 2.
Зелёная линия - начальный отрезок "идеальной траектории", синие линии вокруг - "предельные траектории", снаряд на которых отклонился от "идеальной траектории" на угол в 2.5 сигмы (см. "Эллипс рассеивания" в wiki). "Предельных траекторий" - 36, и при перемещении прицела они постоянно рассчитываются заново. Все вместе эти линии образуют конус с центральной осью - зелёной линией ("идеальной траекторией"), который изгибается по баллистической кривой и расширяется по мере удаления от боевой машины. На рисунке бОльшая часть этих 36 "предельных траекторий" условно не показана.

"Идеальная траектория" строится до точки прицеливания, её окружает вышеописанный конус. А эллипс из точек, который рисуется в прицеле - результат пересечения каждой из 36 "предельных траекторий" с земной поверхностью, игровыми юнитами и элементами игрового окружения. Причём игрок смотрит сверху на этот эллипс.

Рисунок 2. Идеальная траектория, предельные траектории
Spoiler                     

Снова вернёмся к рисунку 1.
Хороший артовод, видя такую картину в прицеле, должен быстро сориетироваться в вероятностях попадания снаряда после выстрела в ту или иную точку эллипса. И арт-прицел хорошо помогает ему в этом! Знание вероятностей попадания снаряда в ту или иную часть "эллипса рассеивания" (см. ссылку на wiki выше), если он проецируется на горизонтальную ровную поверхность, помогает не меньше.

Зелёные точки (1) показывают, что с некоторой (небольшой, порядка 5%) вероятностью снаряд может, отклонившись влево, вообще не долететь до цели, попав в крышу здания. Этим фактом можно пренебречь - скорее всего снаряд не попадёт сюда. Но если сегодня "не прёт" - то может и залететь. Это неприятно, но ничего не поделаешь, разрешено Теорией Вероятностей.

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

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

И, наконец, зелёные точки (4), которые загадочно выстроились "в линию". Те, кто внимательно читал до этого места, уже знают ответ на вопрос о таком странном поведении, не так ли? Дело в том, что на пути полёта снаряда оказалось высокое препятствие - стена здания. Если смотреть сбоку, то точки "предельных траекторий" распределились бы этой стене по высоте, но при виде сверху все они выстроены в линию. Если снаряд залетит сюда (а вероятность довольно высока, около 25%), то разрыв фугаса будет на стене, причём при невезении - высоко на ней.

Осталось только выстрелить... В том бою, откуда скриншот, я попал именно в эту стену, а "ваншотный" лёгкий танк уехал невредимым. И мы проиграли бой, несмотря на мои 3 фрага.


Теперь, зная всё это, для "закрепления материала" прочитавшие могут попробовать самостоятельно ответить на 3 вопроса:

1. Почему эллипс "дёргается", если танк, на котором лежит точка прицеливания, пропадает из засветки?
2. С чем связан "эффект прилипания" прицела, если танк противника стоит на склоне горы, и точки эллипса неохотно "убегают" за него, даже если точка прицеливания уведена за танк?
3. О чём говорит хорошему артоводу вид вытянутого эллипса, бОльшая часть точек на границе которого собралась на одном из его концов?



P.S. Вполне возможно, что кроме конструктивных, в топике появятся стандартные нытье-посты на тему предстоящего "нерфа арты", про то, что арта "косая", а так же "артофобские". Поэтому сразу предупреждаю: такие посты будут скрываться, а самые настойчивые в их написании - отправляться в бан. И вообще, я играю на арте с раннего ЗБТ, и моё отношение к этому классу техники спокойное. Арт-САУ мне нравятся примерно так же, как и средние танки, и вдобавок я в своё время, ещё не работая в ВГ, нарисовал плакат, ставший знаменитым  :Smile_great: .

Oozeling #282 Отправлено 12 май 2013 - 12:09

    Старший сержант

  • Игроки
  • 5365 боев
  • 255
  • [PETUX] PETUX
  • Регистрация:
    25.06.2012
Если бы танк был маленьким - то да, 5-15. Но танк - это не точка, и даже не две.
Он занимает примерно треть-четверть от круга сведения на средних дистанциях. Оттуда и %

McCleod #283 Отправлено 12 май 2013 - 14:56

    Младший лейтенант

  • Игроки
  • 26421 бой
  • 1 444
  • Регистрация:
    02.08.2011
Ого как вы близко на холодильнике то подъезжайте.

Med433 #284 Отправлено 13 май 2013 - 21:02

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011

Просмотр сообщенияGalaxy_Plus (10 Май 2013 - 09:25) писал:

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

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

Об отклонениях.
Это погрешность наложения текстур попаданий. Не уверен, что проявляется только в реплеях. Возможно, эффект работает везде, где точка срединной траектории не совпадает с центром прицела.


Мда, очень паршивый баг. Я думаю, что он появился в предпоследнем патче. Дело было так. Я отстрелял кучу снарядов в январе, и они никогда не вылетали за круг сведения, так же попадание в край определялось совершенно однозначно. После патча попадание в край стало сомнительным - много снарядов стало лететь ближе к краю и иногда вылетать за него. Я надеялся, что баг исправят вместе со "взрывом над танком", но нет.

Это собственно, может объяснять, почему на данных с Чаффи точки лежат не точно на краю, чем возмущался Вован.

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

Собственно, поэтому я и начал с Чаффи, там декали затирают одна другую, проблема самоустраняется. Может, можно изменить время "затухания" декали или их одновременно возможное количество?

 


Med433 #285 Отправлено 16 май 2013 - 17:11

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011
Ещё одну идею родил, откуда могут взяться эти чёртовы отклонения. Возможно, вы замечали, что трассы снарядов при отрисовке не являются плавными параболами, а вполне себе ломаные,
Spoiler                     
состоящие из множества отрезков линии, смотрите рисунок.
        Trajectory.gif
Зелёная парабола - честная кривая, по которой должен двигаться снаряд. Однако в цифровой вселенной всё дискретно, и при выстреле траектория отрисовывается в виде красной или синей линии, например. Тут есть интересный вопрос, как сервер рассчитывает точку попадания снаряда в землю или в танк. На данной картинке всё просто, но когда нужно принимать во внимание много плоскостей, из которых состоит ладшафт и танки, задача усложняется.
Но я отвлекся. Вобщем, моё предположение - по каким-то причинам, декаль отрисовывается в точке пересечения ломаной кривой с ландшафтом, а не параболы. Причем шаг ломаной, которую нарисует клиент может выбираться разным в зависимости от доступной памяти и занятости процессора. Поэтому при разных fps могут по-разному отрисоваться декали. Для гейплея же важно, куда на самом деле попал снаряд, но, возможно, в реплее это не сохраняется. Эта информация может даже не отсылаться с сервера в клиент, клиент отображает только приближенную точку.
Это предположение можно проверить на танках, у них траектория слабо искривлена. Если я угадал, то на танках такого не должно быть.

 


vovan_tankist #286 Отправлено 16 май 2013 - 18:31

    Майор

  • Игроки
  • 618 боев
  • 9 026
  • Регистрация:
    18.07.2010

Просмотр сообщенияMed433 (16 Май 2013 - 17:11) писал:

Ещё одну идею родил, откуда могут взяться эти чёртовы отклонения. Возможно, вы замечали, что трассы снарядов при отрисовке не являются плавными параболами, а вполне себе ломаные,
Spoiler                     
состоящие из множества отрезков линии, смотрите рисунок.
        Trajectory.gif
Зелёная парабола - честная кривая, по которой должен двигаться снаряд. Однако в цифровой вселенной всё дискретно, и при выстреле траектория отрисовывается в виде красной или синей линии, например. Тут есть интересный вопрос, как сервер рассчитывает точку попадания снаряда в землю или в танк. На данной картинке всё просто, но когда нужно принимать во внимание много плоскостей, из которых состоит ладшафт и танки, задача усложняется.
Но я отвлекся. Вобщем, моё предположение - по каким-то причинам, декаль отрисовывается в точке пересечения ломаной кривой с ландшафтом, а не параболы. Причем шаг ломаной, которую нарисует клиент может выбираться разным в зависимости от доступной памяти и занятости процессора. Поэтому при разных fps могут по-разному отрисоваться декали. Для гейплея же важно, куда на самом деле попал снаряд, но, возможно, в реплее это не сохраняется. Эта информация может даже не отсылаться с сервера в клиент, клиент отображает только приближенную точку.
Это предположение можно проверить на танках, у них траектория слабо искривлена. Если я угадал, то на танках такого не должно быть.

Думаю, что шаг ломанной равен скорости снаряда / 10. Ведь сервер обсчитывает ситуацию каждые 0.1 сек.
http://worldoftanks....thunderboltmld/

Просмотр сообщенияStorm () писал:


Вован как раз отлично разобрался в механике и пытается ещё объяснить её другим за что ему огромное спасибо.

Galaxy_Plus #287 Отправлено 16 май 2013 - 20:45

    Старший лейтенант

  • Игроки
  • 59207 боев
  • 3 508
  • Регистрация:
    19.09.2010
Не думаю, что причина смещения меток попадания в неточном вычислении разработчиками координат места попадания. Думаю, что баг где-то в отображении декали, наложенной по правильным координатам, например, смещение точки зрения камеры или изменение масштабного множителя прицела. Кажется, как раз в этом году ввели более плавное изменение приближения в стандартных прицелах вместо трех фиксированных значений?

Одну из причин расхождения центра прицела и метки центральной траектории арт-прицела на Химмельсдорфе я выяснил:
внимательно посмотрев изменение формы эллипса сведения при его движении по мостовой, я пришел к выводу, что мостовая Химмельсдорфа положена волнами. Кто так кладет городские улицы - не представляю.
Поэтому Химмельсдорф не самое оптимальное место для точных тестов разброса арты, как оказалось.
Надо найти ровную длинную поверхность без ямок и бугров. У меня надежда на взлетную полосу карты Аэродром. Хотя, после Химмельсдорфа, могу ожидать всего. Даже волнообразной взлетно-посадочной полосы аэродрома...

ОБЗОР ТАНКА НЕ РАВЕН ДИСТАНЦИИ ОБНАРУЖЕНИЯ ПРОТИВНИКА!

445м - это ограничение не обзора, а дистанции обнаружения. А в динамических ТТХ ангара указывается обзор!

 


Med433 #288 Отправлено 16 май 2013 - 21:22

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011
Волнами, говоришь? Надо посмотреть. Пока что первая - реакция - так и должно казаться. Недавно в одном из патч-ноутов была строчка "уменьшены тормоза при использовании серверного прицела на некоторых конфигурациях". У меня, конечно, временами буйная фантазия, но я вижу это так: раньше клиент вычислял точку попадания точно, находя пересечение честной параболы с плоскостью (на моём калькуляторе серв прицел дико тормозил через пару минут после начала боя). А теперь он её ищет приближённо, находя точку пересечения касательной или хорды к параболе вблизи точки падения. Соответственно, в таком случае, при движении прицела даже по ровной поверхности, будут наблюдаться волнообразные изменения продольного размера эллипса (поперечный не будет меняться) Это можно проверить, "сканируя" мостовую под разными углами  :smile:

 


Med433 #289 Отправлено 17 май 2013 - 15:59

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011
Кто еще не видел - ссылка на ЖЖ, в понедельник выслушаем очередную версию разброса "из первых уст"

 


vovan_tankist #290 Отправлено 17 май 2013 - 16:36

    Майор

  • Игроки
  • 618 боев
  • 9 026
  • Регистрация:
    18.07.2010

Просмотр сообщенияMed433 (17 Май 2013 - 15:59) писал:

Кто еще не видел - ссылка на ЖЖ, в понедельник выслушаем очередную версию разброса "из первых уст"

А как там твои опыты с процентом вылета на край в зависимости от расстояния?
http://worldoftanks....thunderboltmld/

Просмотр сообщенияStorm () писал:


Вован как раз отлично разобрался в механике и пытается ещё объяснить её другим за что ему огромное спасибо.

Med433 #291 Отправлено 17 май 2013 - 17:51

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011
Я пока подзабил на опыты и на игру, поднадоело. Я заметил, что интерес к играм у меня пропадает, когда я начинаю копаться в их файлах. Не знаю, что причина, что следствие. То ли, когда знаешь, как все запрогано, теряется интерес, то ли копаться начинаю от скуки.
Пока моё видение такое: у арты зависит, у танков - нет. Я совсем чуть-чуть потестил Чаффи и не заметил явного различия для разных дистанций. Проверять дальше - не хватает энтузиазма. Кому интересно - все инструменты в данной теме выложены.
Впрочем, энтузиазм может воскреснуть, если кто-нибудь подскажет дельный кликер. А еще круче - как написать кликер на Делфи. Вот это будет уже оооооочень занимательно, почему - смотри выше  :blinky:

 


vovan_tankist #292 Отправлено 17 май 2013 - 18:19

    Майор

  • Игроки
  • 618 боев
  • 9 026
  • Регистрация:
    18.07.2010

Просмотр сообщенияMed433 (17 Май 2013 - 17:51) писал:

Я пока подзабил на опыты и на игру, поднадоело. Я заметил, что интерес к играм у меня пропадает, когда я начинаю копаться в их файлах. Не знаю, что причина, что следствие. То ли, когда знаешь, как все запрогано, теряется интерес, то ли копаться начинаю от скуки.
Пока моё видение такое: у арты зависит, у танков - нет. Я совсем чуть-чуть потестил Чаффи и не заметил явного различия для разных дистанций. Проверять дальше - не хватает энтузиазма. Кому интересно - все инструменты в данной теме выложены.
Впрочем, энтузиазм может воскреснуть, если кто-нибудь подскажет дельный кликер. А еще круче - как написать кликер на Делфи. Вот это будет уже оооооочень занимательно, почему - смотри выше  :blinky:

http://otvet.mail.ru/question/24513102

Оно?
http://worldoftanks....thunderboltmld/

Просмотр сообщенияStorm () писал:


Вован как раз отлично разобрался в механике и пытается ещё объяснить её другим за что ему огромное спасибо.

Med433 #293 Отправлено 17 май 2013 - 19:36

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011

Просмотр сообщенияvovan_tankist (17 Май 2013 - 18:19) писал:

Хммм... Как вам такая идея: два неопытных игрока на арте ездят с одним, более опытным, и стараются в точности повторять его действия, ну то есть едут за ним на позицию, целятся в ту же точку и стреляют в тот же момент? Батарея, короче.
:teethhappy:
SendMessage пока не пашет у меня. Возможно, не те параметры указываю.
Зато пашет keybd_event. Но для его работы надо заходить в окно, он просто эмулирует нажатие на кнопку.

 


vovan_tankist #294 Отправлено 17 май 2013 - 19:44

    Майор

  • Игроки
  • 618 боев
  • 9 026
  • Регистрация:
    18.07.2010

Просмотр сообщенияMed433 (17 Май 2013 - 19:36) писал:

SendMessage пока не пашет у меня. Возможно, не те параметры указываю.
Зато пашет keybd_event. Но для его работы надо заходить в окно, он просто эмулирует нажатие на кнопку.

Я завтра на работе попробую, напишу
http://worldoftanks....thunderboltmld/

Просмотр сообщенияStorm () писал:


Вован как раз отлично разобрался в механике и пытается ещё объяснить её другим за что ему огромное спасибо.

Med433 #295 Отправлено 17 май 2013 - 21:48

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011

Просмотр сообщенияMed433 (17 Май 2013 - 19:36) писал:

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

Пашет везде, кроме танков  :angry:

 


Med433 #296 Отправлено 17 май 2013 - 22:07

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011
Ставлю на выполнение через равные промежутки времени эти строчки:
keybd_event(byte('W'), 0, 0, 0);
keybd_event(byte('W'), 0, KEYEVENTF_KEYUP, 0);
Если открыть чат в игре, то печатается "w", но в бою клавиша не действует как "вперёд".

 


vovan_tankist #297 Отправлено 17 май 2013 - 22:15

    Майор

  • Игроки
  • 618 боев
  • 9 026
  • Регистрация:
    18.07.2010

Просмотр сообщенияMed433 (17 Май 2013 - 22:07) писал:

Ставлю на выполнение через равные промежутки времени эти строчки:keybd_event(byte('W'), 0, 0, 0);keybd_event(byte('W'), 0, KEYEVENTF_KEYUP, 0);Если открыть чат в игре, то печатается "w", но в бою клавиша не действует как "вперёд".
видимо, надо сканкод кнопки слать
http://worldoftanks....thunderboltmld/

Просмотр сообщенияStorm () писал:


Вован как раз отлично разобрался в механике и пытается ещё объяснить её другим за что ему огромное спасибо.

Med433 #298 Отправлено 18 май 2013 - 02:49

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011
Уиииииииииихаааааа!!!

Если бы я не переназначил огонь на клаву, то не потерял бы 3 часа на поиски. Принтскрин работает на халяву:
keybd_event(VK_SNAPSHOT, 0, 0, 0);
keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0);
Похоже, это была защита от ботов. Не зря же они стоят на месте и только крутят башней)

 


Oboerukiy #299 Отправлено 18 май 2013 - 05:45

    Младший сержант

  • Игроки
  • 5752 боя
  • 72
  • Регистрация:
    21.04.2012
Стоило бы добавить в шапку что здесь арта стреляет как ПТ, а не как АРТ САУ. Вместо крутой навесной траектории используется прямая наводка. Из за этого и получаются глупости вроде эллипса на ровном поле или невозможности перекинуть маленький камушек. В целом терпимо но получается не миномёт а гранатомёт.
Админы - дети! Сначала угробили баланс а теперь пытаются отмазаться и вырезают посты с конструктивной критикой!

Med433 #300 Отправлено 18 май 2013 - 06:31

    Старший лейтенант

  • Игроки
  • 44283 боя
  • 2 524
  • Регистрация:
    20.06.2011
Таааааак, у меня ужасные новости  :smile:
Вобщем, смотрите сами, меня эти сюрпризы достали.
Рено ФТ-17, стенка на дистанции 82 м, 100% командир, 75% мехвод, приводы. Пушка у которой 360 снарядов, но не пулемёт.
1210 выстрелов  :playing:
Мишень:
        target FT-17.gif
Распределение по радиусу:
        RenaultRdistribution 2.gif
Ну и сырые данные, которые будут скачаны двумя людьми:     Прикрепленный файл     AnalyserResults Renault FT-17 distance 82 m.txt  46,63К

В край улетело 22% снарядов, что соответствует обрезке по 1.2 сигмы.
Чаффи я точно перепроверю, благо теперь это делается почти автоматически.

 


vovan_tankist #301 Отправлено 18 май 2013 - 08:05

    Майор

  • Игроки
  • 618 боев
  • 9 026
  • Регистрация:
    18.07.2010

Просмотр сообщенияOboerukiy (18 Май 2013 - 05:45) писал:

Стоило бы добавить в шапку что здесь арта стреляет как ПТ, а не как АРТ САУ. Вместо крутой навесной траектории используется прямая наводка. Из за этого и получаются глупости вроде эллипса на ровном поле или невозможности перекинуть маленький камушек. В целом терпимо но получается не миномёт а гранатомёт.

Почему эллипс это глупость я так и не понял, минометный режим был одно время во времена ОБТ, но нормально его использовать можно было только на нескольких артах с маленькой скоростью снаряда (тогда максимальным уровнем арты был 6 у советов и 5 у немцев). Чтобы использовать его и на других артах, надо было вводить переменные заряды, разрабы не стали заморачиваться и просто убрали этот режим.
http://worldoftanks....thunderboltmld/

Просмотр сообщенияStorm () писал:


Вован как раз отлично разобрался в механике и пытается ещё объяснить её другим за что ему огромное спасибо.





Читать еще на тему: арт-САУ, пособие

Количество пользователей, просматривающих этот форум: 1

0 пользователей, 0 гостей, 0 анонимных