Ouji

Пикабушник
Дата рождения: 01 января 1990
поставил 55 плюсов и 284 минуса
отредактировал 3 поста
проголосовал за 13 редактирований
Награды:
5 лет на Пикабу
18К рейтинг 1 подписчик 0 подписок 2 поста 1 в горячем

Женщина, я не танцую...

Женщина, я не танцую...

Баг точности в World of Tanks

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


Сначала небольшое отступление-пояснение. В 3D графике в играх используется перспективная проекция. Задается она направлением взгляда, углом, который видит камера (он же FOV, может задаваться как вертикальный, так и горизонтальный), отношение сторон (aspect ratio), а также расстоянием до ближней и дальней плоскостей. На ближнюю плоскость проецируются все точки 3D сцены, которые попадают в углы камеры и находятся между передней и задней плоскостями. Сам прицип проецирования в переспективной проекции прост: берешь нужную точку пространства, строишь отрезок между ней и точкой взгляда камеры. Проекцией этой точки пространства будет точка пересечения отрезка с передней плоскостью проекции. Таким образом, одинаковые объекты на разных расстояниях будут уменьшаться.


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


Также прицел всегда будет в центре экрана, т.е. ось конуса разброса совпадет с направлением взгляда. Теперь, если провести любое перпендикулярное сечение этого конуса (чтобы получить круг разброса), камера будет его видеть ВСЕГДА ОДИНАКОВЫМ, т.к. при проецировании на переднюю плоскость лучи проекции совпадут со стенками конуса. И это не зависит от параметров конуса. Т.е. если круг рисуется одинаково для любого расстояния до цели, то ЭТО ПРАВИЛЬНО, так и должно быть. (это мне в ЦПП пытались сказать, что это не так).


Теперь к сути эксперимента. Для чистоты я зашел без модов в тренировочный бой на объекте 140, у которого при 100 экипаже и оборудовании точность заявлена 0,34 (расширенная инфа по танкам на wot news показывает вообще 0,33).

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


Эксперимент 1.


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

Баг точности в World of Tanks World of Tanks, Баг, Длиннопост, Игры
Баг точности в World of Tanks World of Tanks, Баг, Длиннопост, Игры
Баг точности в World of Tanks World of Tanks, Баг, Длиннопост, Игры

Получается 2,5 прицела. Теперь нехитрая математика: разработчики заявили точность 0,34 метра на 100 метров. НО, также они говорят, что это РАДИУС разброса. С учетом этого, получим, что маус шириной 0,34*2*2,5= 1,7 метра. Что-то не сошлось в 2 с лишним раза. На погрешность это не спихнуть.


Из этого может следовать 2 вывода: либо танки маленькие, либо прицел не так мал, как заявлено. Первое проверяется так: берем известных размеров танк и считаем, сколько его корпусов помещается на каком-нибудь характерном отрезке карты. Далее прикидываем, совпадает ли этот отрезок в метрах карты с длиной танка, умноженной на количество его корпусов на отрезке.

Я так делал с Т29 на куске химок. И получилось, с погрешностью, что да, метры совпадают. Значит круг в 2 раза больше заявленного (даже при учете, что точность указана для РАДИУСА).


Эксперимент 2.

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

Баг точности в World of Tanks World of Tanks, Баг, Длиннопост, Игры

Получим растояние примерно 250 метров. Опять считаем: 0,34*2*(250/100)=1,7 метра. Т.е. ошибка та же, в 2 раза, одинаковая для любого расстояния до танка.


Собственно, возникает вопрос: почему этого никто не замечает? Или замечают, но все молчат? Может я что-то не так посчитал? Может на пикабу есть и представители ВГ, и они что-то смогут сказать?


П.С. ошибка скорее всего ровно в 2 раза. А больше получается потому, что расстояние указывается до центра танка, а корпус все же чуть ближе.

Показать полностью 4
Отличная работа, все прочитано!