KPOT2338 6 #540240 Posted March 2 Цитата И вопрос сразу "gunPoint" это gunPoint или gunFire, а? Ну раз почти совпадает с tracerStart, то наверное "gunPoint" это gunPoint Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #540241 Posted March 2 (edited) 1 час назад, KPOT2338 сказал: tracerStart В клиенте трассер от дульного тормоза строится gunFire, а не от опорной точки пушки gunPoint или gunPos Edited March 2 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540242 Posted March 3 5 часов назад, StranikS_Scan сказал: И вопрос сразу "gunPoint" это gunPoint или gunFire, а? Полагаю всё такие gunPoint https://github.com/WOT-STAT/WOTMOD/blob/53d2189ba5ee8c8d442e8aaaf96b60e66c07e23d/WOTSTAT/res/scripts/client/gui/mods/wot_stat/logger/utils.py#L16 if player.vehicle and player.vehicle.isStarted and player.vehicle.appearance: return player.vehicle.appearance.compoundModel.node(TankPartNames.GUN).position else: return player.getOwnVehiclePosition() + \ player.vehicleTypeDescriptor.hull.turretPositions[0] + \ player.vehicleTypeDescriptor.turret.gunPosition Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540243 Posted March 3 (edited) 9 часов назад, KPOT2338 сказал: Я вот что-то такое имел в виду Левая верхняя - к-во выстрелов с попаданием по квадратам Правая верхняя - к-во полученных попаданий по квадратам Левая нижняя - разница между полученными и нанесёнными Правая нижняя - карта На левой нижней как раз видно "квадраты смерти" (красные) и откуда безопаснее наносить урон (зелёные) з.ы.: цифры могут быть неправильными, т.к. я вроде что-то лишний раз транспонировал, а переделывать ... Выглядит интересно, завтра добавлю тепловые карты, можно будет тыкаться более детально и с меньшим шагом ...хотя разделить одну на другую всё ещё будет нельзя 5 часов назад, StranikS_Scan сказал: @KPOT2338 Всё именно так. вот выстрел с координаты `gunPoint_x: -501.6194`. Если сгруппировать ещё по id, то можно вставлять прямо в URL и смотреть. https://wotstat.info/session?shot=17074726357830000020080 Если я правильно понимаю, то за красную линию можно вжаться до центра танка, а пушка у шведов крепится к самому краю танка, вот он ей и выехал за пределы. Но ситуация любопытная Edited March 3 by SoprachevAK Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540244 Posted March 3 (edited) Не люблю показывать недоделанные результаты, но раз уж начал, продолжу Сегодня сделал немного, но добавил метрику эффективности, это функция, которая применяется к каждому выстрелу (а в последствии будет применяться внутри каждой клеточки тепловой краты) Можно выбрать "своя" и туда вписывать выражение и границы Некоторые интересные примеры: - if(clientShotDispersion / gunDispersion < 5, -1, arrayMax(results. shotDamage) > 0) от 0 до 1. Карта вертух, где цветом выделены попавшие вертухи. Если поставить от 1 до 1, то будут только попавшие вертухи - length(arrayFilter(t -> t > 0, results.shotDamage)) от 2 до 5, арта нанесла сплешем урон нескольким игрокам - arrayMax(results.shotDamage) / shellDamage карта урона ниже/выше среднего. Можно устанавливать границы от 0.75 до 1.25 - if(length(session.lastDmgPlace) < 5, -1, arrayMax(arraySlice(arrayReverse(session.lastDmgPlace), 5))), от 0 до X, выстрелы игроков, которые за прошлые 5 боёв были лучше чем ТОП X по урону Результаты боя пока недоступны в этой метрике, надо подумать как их оптимизировать. Проблема в том, что результаты и выстрелы это разные и потенциально огромные таблицы, и просто тупо JOIN, возможно, плохая идея, надо пробовать, варианты есть. А ещё пока поставил по умолчанию первые 180 секунд боя. Потом оно будет сохраняться Edited March 3 by SoprachevAK Quote Share this post Link to post Short link Share on other sites
KPOT2338 6 #540300 Posted March 5 (edited) https://wotstat.info/session?nickname=Shadowbeast Выстрелов "всего" меньше, чем выстрелов с видимым уроном ----------------------------------------------------------------------------------- SELECT COUNT() FROM Event_OnShot where playerName = 'Shadowbeast' Это даёт 2957 Edited March 5 by KPOT2338 Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540306 Posted March 5 3 часа назад, KPOT2338 сказал: https://wotstat.info/session?nickname=Shadowbeast Выстрелов "всего" меньше, чем выстрелов с видимым уроном Есть такое, особенность обрезания по версии. Исправлю при обновлении Всего выстрелов берётся с версии 1.2, а попадания за все версии Благодарю за находку Quote Share this post Link to post Short link Share on other sites
KPOT2338 6 #540422 Posted March 8 26.02.2024 в 23:29, SoprachevAK сказал: Про средний относительно базового был не прав. Если int/int получается всё равно int, и надо явно приводить к Float64 Вот исправленный запрос На самом деле тут не учитываются выстрелы, равные номиналу, но без них выглядит красивее з.ы.: И такое ощущение, что количество учтённых событий за последние сутки удвоилось Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540438 Posted March 8 6 часов назад, KPOT2338 сказал: На самом деле тут не учитываются выстрелы, равные номиналу, но без них выглядит красивее з.ы.: И такое ощущение, что количество учтённых событий за последние сутки удвоилось Про равно чуть позже гляну, выглядит действительно красивее 6 часов назад, KPOT2338 сказал: что количество учтённых событий за последние сутки удвоилось Это так. Там мод добавили в модпак Jove, на удивление, я в этом вообще не замешан, они сами. Так что последние два дня экстренно исправляю все редкие ошибки. Сейчас уже 3к уникальных игроков 1 Quote Share this post Link to post Short link Share on other sites
KPOT2338 6 #540470 Posted March 10 (edited) А можно добавить плашки с максимальными сериями побед и поражений? ---------------------------------------------------------------------------------------------------------------------------------- Не совпадает Edited March 10 by KPOT2338 Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540486 Posted March 10 6 часов назад, KPOT2338 сказал: А можно добавить плашки с максимальными сериями побед и поражений? Хорошая идея, добавлю 6 часов назад, KPOT2338 сказал: Не совпадает А как вообще 39% получилось? Они должны различаться, но не так сильно График учитывает только выстрелы которые попали в круг, а процент с учётом улетевших за границы. Но 39 слишком мало Quote Share this post Link to post Short link Share on other sites
KPOT2338 6 #540487 Posted March 10 15 минут назад, SoprachevAK сказал: Хорошая идея, добавлю А как вообще 39% получилось? Они должны различаться, но не так сильно График учитывает только выстрелы которые попали в круг, а процент с учётом улетевших за границы. Но 39 слишком мало https://wotstat.info/session?mode=comp7 Режим "Натиск" Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540490 Posted March 10 9 минут назад, KPOT2338 сказал: https://wotstat.info/session?mode=comp7 Режим "Натиск" Действительно Это выглядит очень неправильно, в натиске часть выстрелов теряется из-за бага, я его почти пофиксил но он рандомно влияет на выборку Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540492 Posted March 10 Просто прикола ради Обзор wotstat на каком то рандомном корейском сайте))) Людям нравится как я понял https://gall.dcinside.com/board/view/?id=worldoftanks&no=3876578 1 Quote Share this post Link to post Short link Share on other sites
Scharfhobel 216 #540495 Posted March 11 Мод размножил себя по папкам.. И ошибку выдал: 2024-03-11 10:20:04.073: INFO: -1.0 [MOD_WOT_STAT]: import crypto 2024-03-11 10:20:04.073: INFO: [WOTSTAT] LOGGER ERROR. Call before init 2024-03-11 10:20:04.080: INFO: -1.0 [MOD_WOT_STAT]: version 1.2.0.8 2024-03-11 10:20:04.080: INFO: [WOTSTAT] LOGGER ERROR. Call before init 2024-03-11 10:20:04.080: INFO: ('[WOTSTAT LOGGER]: Init server logger to: %s', 'https://loki.wotstat.info/loki/api/v1/push') Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540502 Posted March 11 3 часа назад, Scharfhobel сказал: Мод размножил себя по папкам.. Так и должно быть, он захватит эту планету!!) Ну а вообще фича украденная из модпаков, чтоб при обновление игры он не потерялся. К тому же, он так написан, что если что то поменяют и он слометя, то влиять на игровой процесс не будет. Возможно нет смысла в версию 2.0.0.0 копироваться, наверное надо отключить. Слишком оптимистично) 3 часа назад, Scharfhobel сказал: 2024-03-11 10:20:04.073: INFO: -1.0 [MOD_WOT_STAT]: import crypto 2024-03-11 10:20:04.073: INFO: [WOTSTAT] LOGGER ERROR. Call before init 2024-03-11 10:20:04.080: INFO: -1.0 [MOD_WOT_STAT]: version 1.2.0.8 2024-03-11 10:20:04.080: INFO: [WOTSTAT] LOGGER ERROR. Call before init 2024-03-11 10:20:04.080: INFO: ('[WOTSTAT LOGGER]: Init server logger to: %s', 'https://loki.wotstat.info/loki/api/v1/push') Это нормально. Я собираю свои логи на сервер, чтоб фиксить баги потом, но первые несколько логов печатаются ДО инициализации отправщика. Я конечно могу сделать там обходной путь, но как будто бы не надо, там при загрузке и так куча бесполезных логов Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540510 Posted March 11 11.03.2024 в 00:14, KPOT2338 сказал: https://wotstat.info/session?mode=comp7 Режим "Натиск" Правильный натиск выглядит так, если не обрезать график Скорее всего это связано с дистанцией стрельбы. В натиске она всегда почти в упор, и судя по всему в движении. Видно ещё насколько на клиентском прицеле снаряды реже улетают за пределы. Как раз на стрельбе на скорости серверный не очень Наверное надо график показывать вот как на скрине, чтоб было меньше вопросов. Хотя вылеты за пределы это явно статистическая погрешность, которую надо отбрасывать. Может сделаю ещё одну секцию с расширенной аналитикой распределения снарядов, где можно будет смотреть только статистически точные данные (неподвижно, на дистанции) Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540567 Posted March 15 08.03.2024 в 12:37, KPOT2338 сказал: На самом деле тут не учитываются выстрелы, равные номиналу, но без них выглядит красивее з.ы.: И такое ощущение, что количество учтённых событий за последние сутки удвоилось Ну да, я думал у меня наоборот учитывается средний и из-за этого данные некрасивые) Но там по задумке сравнивается именно строго меньше и больше. Тк очевидно, интересен урон ниже среднего относительно строго выше Так что да, всё правильно Quote Share this post Link to post Short link Share on other sites
SoprachevAK 65 #540568 Posted March 15 Немного апдейтов 18к уникальных пользователей, данные будут расти, а я буду сражаться с оптимизацией) выкатил апдейт лейаута сайта, он теперь разделён на странични, чтоб А. слишком далеко не скроллить, Б. не отправлять миллион бесполезных запросов на сервер перенёс сервер на другой хостинг, теперь могу ядра накручивать слайдером в любой момент времени. Пока поставил 4 ядра (было 2), посмотрим завтра в праймтайм, если что повышу, а то последние дни бд прям медленно работала Ещё на сайте обновил график распределения снарядов: Добавил общий график, чтоб сравнивать себя со среднесерверным, и перестал обрезать по кругу сведения. Теперь большие циферки совпадают с графиком, но 100% графика не совпадают со 100% снарядов. В случайных боях примерно 10% улетают за пределы сведения. Скрин из натиска 10.03.2024 в 17:17, KPOT2338 сказал: плашки с максимальными сериями побед и поражений Думаю следующее чем займусь, отдельный раздел с разными сериями. Единственное, скорее всего, я не буду выводить ник игрока, который эти лучшие серии достиг, а то появится соблазн накручиваить А ещё, как будто бы уже достаточно игроков, чтоб можно было искать пересечения игроков по боям, и вычислять мясо подставушников 1 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #540571 Posted March 15 (edited) Заходишь на сайт. А по умолчанию графики не показывает. Нужно тыкать. 7 часов назад, SoprachevAK сказал: Немного апдейтов Тебе нужно ввести разделение статистики по версии игры. Потому что в каждом новом патче игра по сути новая. И это кстати существенно снизить нагрузку на БД. Ибо все данные в кучу - это средний винегрет на Луне в вакууме. И еще вдогонку - нужно от обобщенных статистик, которые один раз посмотрел и все на этом, переходить к динамическим статистикам. Нужно выводить и смотреть динамику, что и как происходит с игроками/танками/.... в разрезе боёв, дней, недель, месяцев, патчей игры. Это кстати имеет хоть какую-то практическую пользу. Например можно в клиенте игры в ангаре например выводить инфу, на каком танке например сегодня или сейчас лучше выйти в бой. ----------------------------------------------- Ниже исправленная и отредактированная версия текстов для страницы, а то читать местами сложно и не сразу понятно. Расширенное распределение урона Выберите один вид урона Учитываются выстрелы ББ, БП и КС снарядами по танкам с ХП, превышающим максимальный урон снаряда Описание График расширенного распределения строится исключительно для одного вида урона, поскольку в игре урон принимает только целочисленные значения. Округление урона до целых значений приводит к тому, что при одном и том же разбросе получаются разные графики относительного распределения при разных видах урона. Например, для базового урона в 11 единиц граничные значения 11 - 25% = 8.25 => 8 (минимальное значение в игре) 11 + 25% = 13.75 => 14 (максимальное значение в игре) Это значит, что урон может принять любое значение из дискретного ряда [8, 9, 10, 11, 12, 13, 14], или же [-3, -2, -1, 0, +1, +2, +3] относительно базового урона. Если выполнить нормализацию значений относительно базового урона, то получим ряд [-27%, -18%, -9%, 0%, +9%, +18%, +27%], в котором всего 4 промежуточных значения -18%, -9%, +9%, +18%, а крайние значения -27%, +27% выходят за рамки исходного разброса в 25%. Слияние такого дискретного ряда с графиком, построенным для другого вида урона, например 390, приведет к возникновению аномальных пиков и провалов, что естественно для дискретных случайных величин, но совершенно не характерно для величин с непрерывным распределением. Поэтому для каждого вида урона строится индивидуальный график распределения вероятностей. Граничные значения График распределения строится из центра, таким образом, чтобы базовый урон располагался строго по центру. По этой причине, на графике возможно только нечетное число значений урона в каждом из его столбиков. Из-за особенностей округления крайних значений иногда наблюдаются некратные интервалы. В таких случаях, крайний левый и крайний правый столбики графика могут содержать разное число значений урона. Если вы хотите оценить минимальный и максимальный урон, то выбирайте шаг графика равный 1. Например, для базового урона в 390 единиц при 7 значениях на столбик 390 - 25% => 293 (минимальное значение в игре) 390 + 25% => 488 (максимальное значение в игре) Следовательно, на графике, слева от базового урона будет 390-293=97 возможных значений, а справа 488-390=98, в сумме же будет всего 196 значений. Построить симметричный график относительного базового урона в этом случае невозможно, поэтому на графике центральный столбик будет состоять из 7 значений [387, 388, 389, 390, 391, 392, 393], крайний левый столбик из 3 значений [293, 294, 295], а крайний правый из 4 значений [485, 486, 487, 488]. Пример для урона в 360 единиц 360 - 25% => 270 360 + 25% => 450 Диапазон возможных значений урона [270; 450] и состоит из 181 значения, 90 из которых находится слева от среднего, а еще 90 справа от него, что позволяет построить зеркально симметричный график с шагом в 1 значение на каждый столбик. При распределении урона по столбикам с шагом в 5 значений, получается 17+1+17=35 центральных столбиков по 5 значений в каждом и два крайних столбика по 3 значения в каждом. В этом случае график сохраняет симметрию относительно центральной оси. При этом следует учитывать, что крайние столбики могут содержать меньше значений, чем остальные. Расчет погрешности Погрешность графика распределения зависит от: базового урона BASE_DMG (разная величина ошибки округления) количества выстрелов N с уроном (влияет на достоверность распределения) числа уронов M на столбик (меняется форма дискретного графика) Для определения погрешности искусственно генерируется серия из X «экспериментов» распределения при фиксированных значениях указанных выше параметров, и с их помощью определяется возможный диапазон отклонения значений для исходного графика. Алгоритм расчета погрешности: 1. Первоначально с помощью стандартного генератора псевдослучайных чисел math.random() в JavaScript генерируется N вещественных значений в диапазоне от 0 до 1, включительно. 2. Сгенерированный ряд преобразуется в танковое распределение урона подобное Гауссовскому распределению с диапазоном значений от -1 до +1, включительно. С помощью сплайн интерполяции по 100 значений к функции численно обратной функции распределения урона (CDF) для канонического нормального распределения с коэффициентами a = 0.02399886787, b = -0.006796346129, c = 0.4711312389 в формуле a*exp(-((x-b)/c)^2) 3. Результирующий ряд умножается на 0.25, к каждому значению ряда прибавляется 1, и это все умножается на базовый урон BASE_DMG, после чего итоговые значения ряда округляются до ближайших целых чисел. DMG = round((invCDF(RND) * 0.25 + 1) * BASE_DMG) - формула для расчета урона 4. Значения, полученного ряда, размещаются по столбикам из расчета M значений урона на столбик. 5. Алгоритм выше повторяется X раз, где X - количество «экспериментов», необходимых для расчета погрешности (параметр задается пользователем до начала расчета). 6. По завершении расчетов значения уронов в каждом столбике сортируются по возрастанию, образуя статистические интервалы, которые и определяют возможную погрешность исходного распределения. Доверительный интервал Зная погрешность графика распределения урона, можно построить доверительный интервал с указанием уровня доверия P. Интервал отображается на графике в виде двух огибающих линий, обозначающих нижнюю и верхнюю границы доверительного интервала, между которыми находится P% «экспериментов» из X симуляций. Карточки инфографики Средний урон Арифметическое среднее всех уронов в базе данных (сумма делить на количество) Медианный урон Значение урона, разделяющее все значения на две равные части. Если количество значений четное, медиана представляет собой среднее арифметическое двух центральных значений. Это означает, что половина значений урона меньше медианы, а другая половина — больше. Выстрелов с уроном ниже среднего Рассчитывается как процент выстрелов с уроном ниже среднего по сравнению с выстрелами с уроном выше среднего. Выстрелы с базовым уроном не учитываются. В идеальном распределении этот показатель должен составлять 50%. Edited March 15 by StranikS_Scan 2 Quote Share this post Link to post Short link Share on other sites