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

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


CryKitten

Рекомендованные публикации

Игроки
6 876 публикаций
618 боёв
20 Май 2013 - 13:39 пользователь Galaxy_Plus сказал:

По последним данным Med433 распределение радиуса попаданий очень похоже на нормальное с обрезкой 1.3 сигмы.

Гистограмма распределения координат X и Y, построенная по экспериментальным данным, имеет острый пик в центре и весьма похожа на теорию при нормальном распределении радиуса.

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-32158700-1369046479_thumb.gif

 

Задал этот вопрос разработчикам "в лоб": что распределено у попаданий нормально - радиус или координаты X и Y?

То есть, Гауссово распределение попаданий или нет.

 

Что наводит на подозрения, ибо при нормальном распределении назвать его "нормальным" легко.

А вот если используется не нормальное распределение... Наверно, в ситуации, когда многократно объявлялось, что распределение попаданий нормальное, промолчать - наименьшее зло.

Да вроде и говорили неоднократно, что нормально распределяется именно радиус, и под экспериментральные данные хорошо подходит и чисто логически намного проще сделать именно равномерно угол и нормально радиус. Ведь если сделать нормальное именно по X и Y, то довольно накладно проверять вылет за круг и сдвигать потом в случае вылета.

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

Игроки
4 567 публикаций
66 143 боя

Проверка и сдвиг достаточно просто делается:

 

R=КОРЕНЬ(X^2+Y^2)

cos(a)=X/R

sin(a)=Y/R

ЕСЛИ (R>Rобр), ТО { X=Rобр*cos(a); Y=Rобр*sin(a) }

 

Вот и все.

 

А вот сказать, что распределение попаданий не нормальное, когда неоднократно говорили, что оно нормальное, сложнее.

05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

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

Игроки
6 876 публикаций
618 боёв
20 Май 2013 - 14:03 пользователь Galaxy_Plus сказал:

Проверка и сдвиг достаточно просто делается:

 

R=КОРЕНЬ(X^2+Y^2)

cos(a)=X/R

sin(a)=Y/R

ЕСЛИ (R>Rобр), ТО { X=Rобр*cos(a); Y=Rобр*sin(a) }

 

Вот и все.

 

А вот сказать, что распределение попаданий не нормальное, когда неоднократно говорили, что оно нормальное, сложнее.

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

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

Игроки
2 077 публикаций
42 368 боёв
Так толстый кот в деталях новой механики писал какое там распределение вроде.
Ссылка на комментарий
Поделиться на других сайтах

Игроки
1 793 публикации
26 172 боя

Вроде же по распределению так идет: угол - равномерно, радиус - нормально.

Как раз это нам и даст ту картинку, которая на чафике была. Ну или которую потом еще и теоретически строили, типа так:

http://i47.fastpic.ru/big/2013/0520/79/7d96592957772683c7dfa3c2d242a479.jpg

…так кто ж ты, наконец?
- Я – часть той силы, что вечно хочет зла и вечно совершает благо.

Гете. «Фауст»
Ссылка на комментарий
Поделиться на других сайтах

Игроки
127 публикаций
150 боёв
Насчет реализации  синуса и косинуса они не настолько накладны, просто идет разбивка на ряд участков,  и функции берутся как из таблицы. Расчеты нулевые только чтение из памяти.
Nil mortifi, sine lucre!
Ссылка на комментарий
Поделиться на других сайтах

Игроки
4 567 публикаций
66 143 боя

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

 

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

Постоянный расчет  видимости - вот где тратятся основные вычислительные ресурсы.

Даже планируемая замена обрезки переносом на повторное вычисление равномерно распределенной точки несущественна на этом фоне.

 

Так что нехватка вычислительной мощности - это не аргумент для отказа от нормального распределения координат X и Y в пользу нормального распределения радиуса.

Я думаю, это была ошибка. Уж очень сильно меняется распределение по сравнению с нормальным, слишком велика становится плотность попаданий в центре. Может, для аркады это и хорошо, но в реале не так.

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

А что? Аркада же!

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

 

Azazellz, сделай два круга попаданий с одинаковой сигмой и числом точек: c нормальным распределением радиуса и с нормальным распределением координат X и Y.

Очень интересное сравнение.

05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

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

Игроки
6 876 публикаций
618 боёв
20 Май 2013 - 20:06 пользователь SerGius1289 сказал:

Насчет реализации  синуса и косинуса они не настолько накладны, просто идет разбивка на ряд участков,  и функции берутся как из таблицы. Расчеты нулевые только чтение из памяти.

Ладно, фиг с ним, с косинусом и синусом, генерация второго нормального числа тоже довольно затратно

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

Игроки
4 567 публикаций
66 143 боя
20 Май 2013 - 20:56 пользователь vovan_tankist сказал:

Ладно, фиг с ним, с косинусом и синусом, генерация второго нормального числа тоже довольно затратно

Мы говорим о проблемах только  двумерного нормального распределения, применяющегося для малой доли случайных процессов в игре - генерации разброса попаданий. Да сгенерируйте перед боем, пока грузятся игроки, массив из нескольких тысяч случайных чисел для этой конкретной цели - хватит на все выстрелы в бою.
  • Плюс 1
05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

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

Игроки
2 077 публикаций
42 368 боёв
20 Май 2013 - 20:55 пользователь Galaxy_Plus сказал:

Я думаю, это была ошибка.

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

Игроки
127 публикаций
150 боёв
20 Май 2013 - 21:14 пользователь Galaxy_Plus сказал:

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

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

 

Кстати при отстрелах пушек не стало понятно какая градация  в разбросе? на сколько участков они одну координату поделили?

Nil mortifi, sine lucre!
Ссылка на комментарий
Поделиться на других сайтах

Игроки
6 876 публикаций
618 боёв
20 Май 2013 - 22:04 пользователь SerGius1289 сказал:

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

 

Кстати при отстрелах пушек не стало понятно какая градация  в разбросе? на сколько участков они одну координату поделили?

Что такое "градация в разбросе"? Насколько я знаю, используются числа с плавающей запятой.

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

Игроки
6 876 публикаций
618 боёв
20 Май 2013 - 20:55 пользователь Galaxy_Plus сказал:

Azazellz, сделай два круга попаданий с одинаковой сигмой и числом точек: c нормальным распределением радиуса и с нормальным распределением координат X и Y.

Очень интересное сравнение.

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-105370-0-23289800-1369078136_thumb.gif

Слева - нормальное распределение координат, справа - радиуса

 

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

 

ну и распределение радиуса

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-105370-0-85694900-1369078764_thumb.gif

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

Игроки
1 793 публикации
26 172 боя
20 Май 2013 - 20:55 пользователь Galaxy_Plus сказал:

Azazellz, сделай два круга попаданий с одинаковой сигмой и числом точек: c нормальным распределением радиуса и с нормальным распределением координат X и Y.

Очень интересное сравнение.

Это не мои картинки.

Отсюда скопировал.

По-идее очень наглядно отображает точности танковых пушек до и после.

…так кто ж ты, наконец?
- Я – часть той силы, что вечно хочет зла и вечно совершает благо.

Гете. «Фауст»
Ссылка на комментарий
Поделиться на других сайтах

Игроки
127 публикаций
150 боёв
20 Май 2013 - 22:27 пользователь vovan_tankist сказал:

Что такое "градация в разбросе"? Насколько я знаю, используются числа с плавающей запятой.

А сколько цифирок после запятой? 1  2 или 3? на 10 кусочков 100 или 1000 делим)
Nil mortifi, sine lucre!
Ссылка на комментарий
Поделиться на других сайтах

Игроки
4 567 публикаций
66 143 боя
20 Май 2013 - 22:29 пользователь vovan_tankist сказал:

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-105370-0-23289800-1369078136_thumb.gif

Слева - нормальное распределение координат, справа - радиуса

 

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

Согласен. Геймплей должен быть в приоритете.

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

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

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

05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

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

Игроки
75 публикаций
40 395 боёв
20 Май 2013 - 22:29 пользователь vovan_tankist сказал:

Если честно и откровенно, то мне второй вариант все-таки больше по душе.

Ну это-то понятно. Если мы используем распределение Рэлея с той же сигмой, что и у Гаусса, то Гауссово будет давать гораздо более высокую кучность. Но ведь для Рэлея можно и ужать сигму, например в 1.5 или 2 раза. Тогда получим что-то вроде вот этой картинки:

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-63162-0-17347700-1369106406_thumb.gif

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

 

Сделай, пожалуйста, в том же масштабе нормальное распределение с σ=2/3 и σ=1/2 (просто любопытно сравнить ещё и их).

gaussian_vs_rayleigh.gif

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

Игроки
6 876 публикаций
618 боёв
21 Май 2013 - 05:35 пользователь cyborg86 сказал:

Ну это-то понятно. Если мы используем распределение Рэлея с той же сигмой, что и у Гаусса, то Гауссово будет давать гораздо более высокую кучность. Но ведь для Рэлея можно и ужать сигму, например в 1.5 или 2 раза. Тогда получим что-то вроде вот этой картинки: http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-63162-0-17347700-1369106406_thumb.gifВ центре всё равно провал, от него никуда не деться, в этом суть. Но зато растёт шанс попадать вокруг центра, а не ближе к краю круга.Сделай, пожалуйста, в том же масштабе нормальное распределение с σ=2/3 и σ=1/2 (просто любопытно сравнить ещё и их).

менять сигму нельзя, подумайте, сигма и так очень редко бывает равна 1 (метр)

 

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

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

Игроки
6 876 публикаций
618 боёв
20 Май 2013 - 23:24 пользователь SerGius1289 сказал:

А сколько цифирок после запятой? 1  2 или 3? на 10 кусочков 100 или 1000 делим)

повторяю: запятая не фиксированная, а именно плавающая
Ссылка на комментарий
Поделиться на других сайтах

Игроки
75 публикаций
40 395 боёв
21 Май 2013 - 06:55 пользователь vovan_tankist сказал:

менять сигму нельзя, подумайте, сигма и так очень редко бывает равна 1 (метр)

 

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

Ну собственно σ=2/3 и обрезка по двум сигмам и σ=1 и обрезка по трём дадут один и тот же результат :)

 

Зачем? Ну в общем-то не обязательно понимать, что такое распределение Релея, чтобы заметить, что что-то не так. Например, невероятные попадания из КВ-2 на 500+ метров. Для большей наглядности вот графики функций распределения для Гассова с обрезкой по 1.3σ (красным), Гауссова - 2σ (синим) и Релея - 3σ (зелёным).

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-63162-0-62036300-1369110470_thumb.gif

Как видно, по отношению к старому распределению, Релей с обрезкой по 3σ даёт ап точности, сравнимый с переходом на Гауссово по 2σ. Но при этом не превращает бревномёты в шайтан-пушки, которые то палят куда попало, то внезапно кладут снаряд точно в цель.

 

P.S.: распределения радиуса для тех же случаев:

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-63162-0-80860500-1369110766_thumb.gif

CDF.gif

gaussian_vs_rayleigh 2.gif

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

Гость
Эта тема закрыта для публикации новых ответов.
  • Сейчас на странице   0 пользователей

    • Эту страницу никто не просматривает.
×
×
  • Создать...