Jump to content
Korean Random
GPCracker

Улучшенная система прицеливания / Advanced Aiming System

Recommended Posts

Мне показалось, или это было про кс (да и 95% других шутеров)? В вот такое не прокатит. Разумеется, реакция и навык должны быть, но только на этом далеко уехать не получится.

http://www.twitch.tv/skylex_pro 

Я его чуть-чуть посмотрел, сложилось впечатление, что 70% боёв он подъезжает в упор и перестреливает :)

Edited by HellQwer

Share this post


Link to post

Short link
Share on other sites

Господа, я вижу, нехилый тут спор разгорелся...

Что касается стрельбы в качельках и "залипания" прицела на препятствиях... Это связано с алгоритмами выбора точки прицеливания у картофана.

Распишу Вам, пожалуй, этот алгоритм, если что, @StranikS_Scan меня поправит))

"Алгоритм наведения орудия в WoT"

1. Игрок нажимает кнопку движения танка.

2. Клиент передает активность игрока на сервер.

3. Сервер выполняет перемещение танка, если оно допустимо (игрок не труп и гусли целы...)

4. Сервер с некоторым интервалом передает данные о состоянии всех танков в игре игроку, скорее всего, чем ближе танк, тем чаще передается информация.

5. На клиенте у игрока танк перемещается.

6. Согласно новым координатам танка, перемещается камера.

7. "На камеру нанесена" прицельная сетка, система прицеливания выбирает точку прицеливания путем выполнения прямого коллижн-теста.

8. Эта точка передается на сервер как точка прицеливания.

9. В эту точку сервер наводит орудие.

10. Во все это дело вмешивается система стабилизации танков, чтобы на клиенте они двигались плавно, а не рывками.

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

По этому алгоритму отчетливо видна одна очень важная вещь: точка прицеливания зависит не только от движения мыши, но и от перемещения танка.

Для получения на экране результата перемещения танка нужен один "такт передачи данных", то есть "послать команду - принять результат", а для нормального прицеливания в движении нужно "послать команду движения - принять результат - переместить камеру, пересчитать точку прицеливания - передать точку прицеливания на сервер - подождать перенаводки (такта сервера) - получить данные", то есть как минимум два такта передачи данных, плюс процессорное время клиента и сервера (такт). Именно поэтому невооруженным глазом видно явное отставание и подергивание даже клиентского прицела на стене при перемещении вдоль нее. Высокий пинг / фпс помогает в таких ситуациях немного сократить время "перенаведения" прицела, но для реального эффекта нужно менять сам алгоритм наведения орудия - брать не точку прицеливания, а углы наводки, как параметры, передаваемые клиентом.

Но поскольку изменить алгоритмы поведения серверов ВГ мы не можем, придется искать другие пути.

Прозвучало одно очень даже верное предложение

Баг с залипанием возникает тогда, когда прицел смотрит на препятствие. Соответственно, перед выездом надо либо аркадный прицел навести на соперника, либо взять противника в автоприцел.

То-есть зафиксировать точку прицеливания на противнике и не менять ее до выстрела.

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

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

Что касается автоприцела - частное решение, если противник стоит "в полный рост", и он картонный в точке автоприцела. Если же большая часть его корпуса скрыта - автоприцел не поможет.

Share this post


Link to post

Short link
Share on other sites

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

Share this post


Link to post

Short link
Share on other sites

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

Перенаведение орудия на сервере + пинг, или как минимум его половина. А если пинг 100 и более, то тут и говорить нечего.

Share this post


Link to post

Short link
Share on other sites

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

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

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

Свободная камера давно исчезла из списка запрещенных модов. Кстати, заглянув туда перечитал про алгоритмы изменяющие работу автоприцела, всё-таки скрин ответа цпп устарел, в правилах явно указан мод, меняющий точку автоприцела.

Я Страннику уже писал, что можно делать препятствие как бы прозрачным для прицела, если за ним стоит соперник и наводить прицел на соперника. Вы скорее всего, должны были это обсуждать ранее. Более того, я был уверен, что это уже реализовано в прицеле))) Видимо, ввело в заблуждение сообщение о фиксации расстояния, взятие на автоприцел и команды типа поддержите огнем с полным игнорированием препятствия.

Судя по аимкорректору ktod'а фильтры тоже замедляют процесс прицеливания при движении. Ну и "стволик хаоса" тоже что-то такое убирает, правда, как я понял только в отрисовке, не ускоряя/улучшая процесс.

Edited by HellQwer

Share this post


Link to post

Short link
Share on other sites

Спасибо, все отлично шуршит.

Жжаль скорость цели не показывает.

Ессно  и маркер упреждения не работает.

Маркер в основном нужен для арт. прицела.

Приходиться пользоваться альтернативными маркерами.

GPCracker, неужели проблема со скоростью не имеет решения?

Share this post


Link to post

Short link
Share on other sites

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

0. Все события, связанные с поведением танка, моделируются и на сервере, и на клиенте.

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

2. При наведении камеры на объект, система прицеливания определяет точку прицеливания.

3. Точка прицеливания отправляется на сервер.

4. Одновременно на клиенте начинает поворачиваться пушка у танка, модуль vehicleGunRotator (отвечает за поворот орудия техники игрока)

5. Получив данные, сервер начинает тоже поворачивать пушку.

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

7. Эти данные приходят с задержкой, поэтому серверный прицел всегда отстает от реального на сервере.

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

9. Если клиентский прицел не эмулирует задержки, и связь клиент-сервер считать бесперебойной и симметричной по таймауту, то актуальный прицел будет средней точкой между клиентским и серверным для СТОЯЩЕГО танка.

10. Для всей техники, не управляемой игроком, данные отстают от сервера на половину пинга. Сюда же могут учитываться "оптимизации трафика WG" - редкая передача данных об удаленных танках.

11. Во всю эту систему вмешиваются EntityFilters (точное название не помню, все это дело до кучи зарыто в движке), стабилизирующие дискретное движение танка и т.п. вещи. Алгоритм работы мне пока неизвестен. Конкретное отставание по координатам от сервера тоже неизвестно. Выяснить можно, но нужно выполнять сложные тесты в трене на стрельбу с упреждением, и считать кучу матана.

12. Для танка игрока может использоваться как описанный в 10 пункте алгоритм, с передачей команд на сервер и выводом результата на клиенте, так и алгоритм локального моделирования, как например с прицелом. По крайней мере ситуацию, когда игрок уже заехал в укрытие, а ему "напоследок" залетает плюха от противника за углом, можно объяснить только так. Алгоритм локального эмулирования делает игру более плавной, но появляется рассинхронизция, которая временами очень сильно напрягает. Точные данные об алгоритме можно получить или от разрабов, или путем проведения сложных тестов на таймауты пакетов (эмуляция высокого пинга).

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

GPCracker, неужели проблема со скоростью не имеет решения?

Для надписей может и сделаю, надо покопаться.

Маркер упреждения вообще возможно уберу, если скорость не пофиксят. Ибо для него нужен именно вектор скорости, а не скаляр.

Что касается маркера упреждения для арты - по возможности попозже скину немного портянок))

Хотя, если честно, этот класс меня начинает немного напрягать жестким фокусом по оленемеру и общей тупостью (за некоторым исключением, 5%, не более) артаводов.

"Истории из рандома"

Попал я как-то на ГВТ (G.W. Tiger) на Вестфилд (тестил чего-то, но вроде норм все прогрузилось, без вылета/зависания, а так часто приходится по несколько раз перезаходить, или вообще в трене тестить, чтобы не афк-шить). Против меня - взвод "Буратосов" (C-51). По оленемеру вижу - ребята коричневые, но это не повод их игнорить, ибо мешаться все равно будут. А исходя из соображений, что наши тяжи поехали на выровненную горку, а артаракам часто везет на вертуханы, арту нужно убирать, ибо тяжи просто не доедут = слив. С-51 - довольно мощная штука, особенно на ББ против тяжей. Сразу после отсчета свелся к врагам за базу (все равно кд), мониторю трассера. Ну эти ребята решили далеко не ехать, встали сразу за базой, довольно таки кучно, треугольником, с интервалом метров 30-50. Я откдшиться еще не успел, они уже палить начали. Спалились сразу трое. Снимаю по трассеру одного. Спустя 10-15 секунд замечаю в чатике нелестные отзывы в свой адрес от погибшего Буратоса. Ибо голдовый фугас решает. Без вариантов. Остановился, свожусь опять туда же, мониторю квадрат дальше. Между делом, трассы от арты хорошо слышно, если аккустика норм. Еще трассер - еще один буратос в ангаре. По пямяти вспоминаю координаты трасс в начале боя... ОН ДАЖЕ НЕ ПЕРЕЕХАЛ!!! ПОСЛЕ ТОГО КАК ЕГО СОВЗВОДНОГО СНЯЛИ ПО ТРАССЕРУ!!! НИ НА МЕТР!!! Следом еще комментарии в чате. Параллельно замечаю сплеш на точке, откуда только что стрелял... наивные ребята думают что я стоять после выстрела буду. Ну ладно, коли снарядов у них много и времни кд-шиться. Опять свожусь - трассер - фраг. Третий буратос начинает бомбить в чат. Можно было даже не ждать трассера, а просто стрельнуть по памяти, просто потерял 20 секунд. ТРЕТИЙ ТОЖЕ НИКУДА ЕХАТЬ НЕ СОБИРАЛСЯ. ЕЩЕ РАЗ НАПОМНЮ - ОНИ ИГРАЛИ ВЗВОДОМ!!! Причем в ответ по трассеру стреляла Лора. Она догадалась уехать с базы. Ну вы представляете себе уровень развития этих артаводов на буратосах...

Потому что любой нормальный артиллерист как минимум переезжает после выстрела, а то и вообще меняет квадрат дислокации (барабанный артобат).

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

Вижу тут у некоторых пригорание на тему того, что я стреляю по трассерам. До патча 0.8.6, когда сильно порезали арту, когда она была практически основным дамаггером, и их было по 5+ в командах, так делали почти все. И те, кто начал играть на арте еще давно, до сих пор после каждого выстрела переезжают. Посмотрите того же Никитоса или Arti25. Они это делают на автомате. И абсолютно не удивляются чемоданам по трассеру.

Но больше всего напрягает то, что арта стоит на базе в практически полной безопасности и спокойно себе настреливает. Пока все играют и пытаются не получить дамаг, арта стоит спокойно и стреляет. Даже ПТ приходится думать, чтобы не светиться. Арте не надо думать, она тупо стоит и стреляет, зачастую не уезжая с базы. Раньше хотя бы арта стреляла друг по другу по трассеру, теперь они забили на это дело и тупо мешают играть всем остальным. Так что либо квадратные должны отмечаться на карте после каждого выстрела и переезжать, дабы не словить трассер (играть как все, то есть играть а не тупо стоять и настреливать), либо за них должны излишне подставляться союзники, чтобы им посветить. Например, арта теряет цель из виду не через 10 секунд, а сразу. То-есть под арту нужен не "проезд" ЛТ, а перманентный свет.

Свободная камера давно исчезла из списка запрещенных модов

Хмм... Однако.

всё-таки скрин ответа цпп устарел, в правилах явно указан мод, меняющий точку автоприцела.

...

Я Страннику уже писал, что можно делать препятствие как бы прозрачным для прицела, если за ним стоит соперник и наводить прицел на соперника. Вы скорее всего, должны были это обсуждать ранее. Более того, я был уверен, что это уже реализовано в прицеле))) Видимо, ввело в заблуждение сообщение о фиксации расстояния, взятие на автоприцел и команды типа поддержите огнем с полным игнорированием препятствия.

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

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

Судя по аимкорректору ktod'а фильтры тоже замедляют процесс прицеливания при движении. Ну и "стволик хаоса" тоже что-то такое убирает, правда, как я понял только в отрисовке, не ускоряя/улучшая процесс.

Надо будет глянуть, что к чему. Движок - штука сложная. Edited by GPCracker
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

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

Edited by ger Gauf

Share this post


Link to post

Short link
Share on other sites

Давайте ваши отзывы о работе системы в патче 0.9.9

 

Покатал вечерок, вроде бы все работает, один вопрос, иногда не срабатывает рентген-захват, но такое и ранее наблюдалось

Edited by vasbelous

Share this post


Link to post

Short link
Share on other sites

Покатал вечерок, вроде бы все работает, один вопрос, иногда не срабатывает рентген-захват, но такое и ранее наблюдалось

Поконкретней можно? Что конкретно не работает?

З.Ы. Возможно противник заныкался за трупом...

Share this post


Link to post

Short link
Share on other sites

неработает растояние до цели и время полета снаряда

Инфо-панель сведения? Проверю.

Share this post


Link to post

Short link
Share on other sites

Подскажите что значит параметр "Разрешить рентген-захват цели для радиального меню" - enableXRayLockForRadialMenu?

Или может быть где-то можно прочесть подробное описание настроек?

Share this post


Link to post

Short link
Share on other sites

Или может быть где-то можно прочесть подробное описание настроек?

Когда ты наводишь на противника и нажимаешь T, ты ставишь фокус. Фича позволяет поставить фокус на противника за стенкой/камнем/горой. Не только фокус, кстати. Любую команду радиального меню. Edited by GPCracker

Share this post


Link to post

Short link
Share on other sites

Т.е. одновременно с установкой фокуса будет выдаться сообщение в чат "Поддержите огнем по ...", правильно понимаю?

Share this post


Link to post

Short link
Share on other sites

 

http://www.twitch.tv/skylex_pro 

Это аим работает

Edited by KACTET

Share this post


Link to post

Short link
Share on other sites

Прицел при пропадании цели стал проваливаться.

Особенно неприятно это в арт. режиме.

Картофель писал про фикс "дерганье прицела", но походу их фикс работает наоборот.

Share this post


Link to post

Short link
Share on other sites

Прицел при пропадании цели стал проваливаться.

Гляну... Но вроде я никаких фиксов на эту тему у них не видел...

Share this post


Link to post

Short link
Share on other sites

Гляну... Но вроде я никаких фиксов на эту тему у них не видел...

 

Исправлено подёргивание прицела в снайперском режиме при наведении на некоторые объекты.

http://wiki.wargaming.net/ru/%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_0.9.9#.D0.94.D1.80.D1.83.D0.B3.D0.B8.D0.B5_.D0.B8.D1.81.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...