Целивальня
Стреляйте по танку. Мышь — наводка, ЛКМ — выстрел, колесо — аркада ↔ снайпер ×4/×8/×16, Shift — переключить аркада/снайпер, Esc — отпустить мышь. Чувствительность мыши — отдельно для аркады и снайпера (вверху).
Главное, что здесь можно проверить на себе: снаряд летит не из вашего прицела, а из серверного. Сервер получает вашу наводку 10 раз в секунду и отстаёт на 70–85 мс — при любом пинге. Резкий доворот («флик») — и сервер стреляет туда, где прицел был мгновение назад.
Цвет прицела подсказывает, что под центром: зелёный — пробьёт, красный — не пробьёт, белый — мимо танка. В режиме «Обучение» виден ещё и серверный прицел (розовый пунктир — как в игре, опаздывает на ~75 мс + половину пинга; крестик — откуда реально уйдёт снаряд). Раунд — 10 выстрелов, затем разбор.
Последний выстрел
Раунд
Честно о модели: что измерено, что упрощено
- замер Сервер получает наводку тиком ~10 Гц; отставание серверного прицела 70–85 мс и от пинга почти не зависит (5851 выстрел).
- замер Подтверждение выстрела приходит через пинг + ~87 мс (310 выстрелов).
- замер Флик: при довороте до 5°/с попаданий 65 %, при 30+ °/с — 17 % (108 выстрелов). Порог — 12–13°/с.
- замер Распределение снаряда в круге — по радиусу, с концентрацией к центру: половина снарядов ближе 0,37 R. Текущие версии ВГ и Лесты совпадают (125 млн выстрелов, статистика автора мода).
- модель Пинг сокращается: выстрел и наводка идут одним каналом, сервер берёт наводку, отправленную не позже нажатия − 25 мс. Среднее совпадает с замером.
- упрощение Параметры трёх орудий условные: стабилизированное — круг больше, сводится быстро, при повороте почти не разлетается; обычное — круг меньше, сводится дольше; нестабилизированное — при повороте разлетается сильно, сведённое — самое точное. Уточним по паспортам машин.
- тренировка Перезарядка короткая (по умолчанию 2 с) нарочно: так хочется стрелять, не дождавшись сведения, — и промахи это показывают.
- упрощение Форма роста круга: ×√(1 + (k·скорость наводки)²). Коэффициенты не сверены с игрой.
- упрощение Серверный круг = клиентский на момент последней дошедшей отправки.
- условно Шкала чувствительности мыши своя (1,0 = 0,06° на точку мыши в аркаде), с настройкой игры не сверена. Для сравнения показаны градусы на сантиметр и сантиметры на полный разворот.
- упрощение Движущаяся цель: скорости условные (тяжёлый 30, средний 50, колёсный ЛТ 75 км/ч); снаряд летит прямо с постоянной скоростью (1000 / 900 / 800 м/с у трёх орудий); положение чужого танка на клиенте считается точным (рассинхрон позиций по замеру — десятки сантиметров).
- упрощение «Кромка»: танк — коробочная модель со своими размерами и толщинами (НЛД 100 мм, ВЛД 150, борт 60, щёки башни 170, маска 300, борт башни 90); пробитие орудия 200 мм у всех, рикошет при угле больше 70°; гусеница — экран; башенка пробивается всегда.
- замер Дальность прицела прыгает, когда цель пропадает из засвета: луч уходит в землю за ней или до предельной дальности (в логах 157→720, 399→720, 442→720 м); в 34 из 42 слепых выстрелов прыжок был всего на 10–60 м — земля сразу за танком.
- модель Баллистика: пушка задрана под дальность прицела на g·L/(2v²); на дистанции цели снаряд выше линии прицела на g·D·(L−D)/(2v²) (по 42 слепым выстрелам знак и порядок совпали, выборка мала). Сила тяжести у трёх орудий 9,81 (в игре у разных снарядов 6–9,81). При скачке дальности пушка сдвигается по вертикали одним шагом (за тик ~0,1 с) на g·ΔL/(2v²) — круг при этом не раздувается и сведение не сбрасывается (замер netprobe 6.28, 01.10: 4 чистых скачка до 140 м, 3 засвета/пропажи у прицела). Скачки до 720 м у неподвижной машины и арта ещё не проверены.
- замер Свой (клиентский) прицел в игре пересчитывается тиком ~10 раз в секунду, а не каждый кадр (netprobe 6.28: интервалы 100–129 мс у 97 % обновлений). В тире так же; как интерфейс игры сглаживает движение между тиками — не замерено, поэтому три варианта. По умолчанию — «каждый кадр»: только он даёт цену флика как в замере (≈43 % попаданий при флике ~10°/с); если видимый прицел отставал бы на тик, он совпадал бы с серверным и флики почти ничего бы не стоили, а по данным стоят (65 % → 17 %).
- модель Кружок упреждения («Обучение», «Движущаяся цель»): скорость цели × (полёт снаряда + 75 мс отставания сервера), опущен на перелёт по дуге (прицел на пустом месте смотрит в землю далеко или в горизонт). Разброс никуда не девается — кружок даёт центр круга, а не гарантию попадания.
- модель «Вслепую», «Обучение»: голубой кружок «целься сюда» — куда навести прицел, чтобы снаряд пришёл в середину пробиваемой зоны (борт корпуса 1,35 м / НЛД 0,68 м) невидимого танка. Опускать нужно меньше полного перелёта: чем ниже прицел, тем ближе луч упирается в землю и тем меньше пушка задирается — точка ищется точно.
- упрощение Броня бинарная: зона либо пробивается, либо нет. Баллистика прямая, без падения снаряда.
- упрощение «Сервер молчал»: наводка в это время не доходит, выстрел обрабатывается, когда связь вернулась.