Автор Тема: Предложения и пожелания.  (Прочитано 3963 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CrazySys

  • Разработчик
  • *****
  • Сообщений: 1954
  • Репутация: 50
    • wotlogger.ru
Предложения и пожелания.
« Ответ #45 : Апрель 16, 2018, 00:08:54 »
Ну ты спрашивай, если что :)

Оффлайн norkas

  • Супер-пупер-мега-хелпер =) ну и конечно же
  • Альфа-тестер
  • ***
  • Сообщений: 225
  • Репутация: 9
  • главный по печенькам
    • Клавогонки.ру - небесполезная онлайн-игра
Предложения и пожелания.
« Ответ #46 : Апрель 16, 2018, 00:18:57 »
Например фулл-оформленную документацию ко всем данным?)
WN8 ← WHERE THE FUCK DO YOU SEE THE "i" THERE???


Оффлайн CROWN_xZirus

  • Пользователь
  • **
  • Сообщений: 6
  • Репутация: 0
Предложения и пожелания.
« Ответ #47 : Апрель 16, 2018, 23:27:46 »
Все собираемые данные по боям хранятся в машиночитаемом виде на компьютере пользователя, в двух вариантах:
1. в виде python-объектов внутри pickle-файлов [нужно хоть чуть-чуть знать python]
2. в виде JSON-объектов внутри noSQL БД встроенной во встроенный в игру браузер (смерть в игле, игла в яйце, яйцо в ящике, ящик на дереве, дерево в лесу =)) [нужно достаточно глубоко знать JavaScript]
Понятно.

Цитировать
Но посмотреть эти данные на самом деле не сложно. Достаточно просто заменить gui.html (\res_mods\WoTLogger.ru\gui\) файлом из аттача.
В этом случае у вас пропадет столбец с полученным уроном, а вместо него отобразится тот самый movingAvgDamage
Отличная новость!!!
Сделал как указано - заменил указанный файл, но результат мягко говоря не тот который ожидался. Вместо вычисленного значения "какого-то там урона" я хочу видеть именно проценты!
Их-то можно достать?!


« Последнее редактирование: Апрель 17, 2018, 02:24:59 от CROWN_xZirus »

Оффлайн norkas

  • Супер-пупер-мега-хелпер =) ну и конечно же
  • Альфа-тестер
  • ***
  • Сообщений: 225
  • Репутация: 9
  • главный по печенькам
    • Клавогонки.ру - небесполезная онлайн-игра
Предложения и пожелания.
« Ответ #48 : Апрель 17, 2018, 06:10:03 »
Ещё интересно, как считается movingAvgDamage у картошки?

Берётся за n последних боёв конкретный наибольший тип assist?
mad = avg_dmg + MAX(avg_stun* b_count , avg_radio * b_count , avg_track * b_count ) / b_count
Или в каждом бою отдельно берётся максимальный показатель из всех assist, т.е:
mad = 0
battles.each do |battle|
  mad += battle.dmg + [battle.stun, battle.radio, battle.track].max
mad / battles.count

?
WN8 ← WHERE THE FUCK DO YOU SEE THE "i" THERE???


Оффлайн CrazySys

  • Разработчик
  • *****
  • Сообщений: 1954
  • Репутация: 50
    • wotlogger.ru
Предложения и пожелания.
« Ответ #49 : Апрель 17, 2018, 07:00:18 »
Например фулл-оформленную документацию ко всем данным?)
Ага. Только ты сразу у ЦПП спрашивай или на раковом =) Тебе там быстро все объяснят =)

Их-то можно достать?!
Можно. Поле damageRating (см аттач)
Но КВГ в послебоевой статистике округляет значения этого показателя до целого числа. Смотреть динамику на коротких отрезках не получится (при большом кол-ве боев на танке), так как от боя к бою изменения видны только после запятой.
Данные с нужной точностью есть (были?) только в кэшах по технике, а они, на данный момент, не обрабатываются WoTLogger-MOD.

Ещё интересно, как считается movingAvgDamage у картошки?
В каждом бою отдельно. Среднее за все бои на танке вычисляется по EMA.
Вернее даже не так. Отдельный результат за бой нигде вообще не фигурирует. Есть только EMA (именно оно прилетает в статистике), с учетом результатов последнего боя.

Но хз сколько там боев берется и как на самом деле они считают.
Я как-то пробовал параллельно рассчитывать свое значение по их формуле для танка в диапазоне 0-150 боев (пропуска боев не было) - нифига не сошлось =)
Было похоже, но не 1 в 1.
« Последнее редактирование: Апрель 17, 2018, 07:09:12 от CrazySys »

Оффлайн CROWN_xZirus

  • Пользователь
  • **
  • Сообщений: 6
  • Репутация: 0
Предложения и пожелания.
« Ответ #50 : Апрель 17, 2018, 13:23:46 »
Но КВГ в послебоевой статистике округляет значения этого показателя до целого числа.
Я глянул что получается и скажу больше, идет не округление как таковое, а банальное откидывание дробной части, т.е. если например значение 71.98, то отобразится 71 !

Цитировать
Смотреть динамику на коротких отрезках не получится (при большом кол-ве боев на танке), так как от боя к бою изменения видны только после запятой.
Абсолютно согласен!

Цитировать
Данные с нужной точностью есть (были?) только в кэшах по технике, а они, на данный момент, не обрабатываются WoTLogger-MOD.
Они точно есть! Т.к. XVM к карусели танков их показывает (см.скриншот).
Вот такой код в конфиге:
// Отметка на орудии (текущий процент).
      {  
"enabled": true,
        "x": -8, "y": 78, "width": 32, "height": 25,
        "src": "img://gui/maps/icons/library/dossier/hits40x32.png"
      },
      {
"enabled": true,
        "x": 22, "y": 83,
"format": "<b><font face='Tahoma' size='10' color='{{v.c_damageRating}}'>{{v.damageRating%2.2f~%|}}</font></b>",
"shadow": ${ "def.textFieldShadow" }  
      },


Ещё интересно, как считается movingAvgDamage у картошки?
Берётся за n последних боёв конкретный наибольший тип assist?
Или в каждом бою отдельно берётся максимальный показатель из всех assist.
Но хз сколько там боев берется и как на самом деле они считают.

Я так понимаю мы имеем две величины, первая это результативность - movingAvgDamage, и вторая это тот самый процент - damageRating
Так вот, результативность величина не зависящая от времени, она привязана исключительно к кол-ву боев игрока и их результатам, а процент это банальное сравнение результативности игрока с результативностью остальных игроков за определенный интервал времени (из описания):
- ...средний показатель нанесенного игроком урона и урона, нанесенного с его помощью...;
- результативность игрока определяется по последним 100 боям, с каждым новым боем показатель уточняется;
- в расчет процентов берутся предыдущие 14 дней.

Оффлайн CrazySys

  • Разработчик
  • *****
  • Сообщений: 1954
  • Репутация: 50
    • wotlogger.ru
Предложения и пожелания.
« Ответ #51 : Апрель 18, 2018, 18:20:19 »
Я глянул что получается и скажу больше, идет не округление как таковое, а банальное откидывание дробной части, т.е. если например значение 71.98, то отобразится 71 !
Значит идет преобразование float -> val где-то в пайтоне или (скорее) на сервере. Впрочем я об этом писал ранее. Возможно в закрытом разделе.

"format": "<b><font face='Tahoma' size='10' color='{{v.c_damageRating}}'>{{v.damageRating%2.2f~%|}}</font></b>",
Вот эта вот v. - говорит именно о том что данные берутся из кэша по танку. Все верно.

- ...средний показатель нанесенного игроком урона и урона, нанесенного с его помощью...;
- результативность игрока определяется по последним 100 боям, с каждым новым боем показатель уточняется;
Не средний, а EMA (exponential moving average).
Про 100 боев на самом деле не совсем так. Минимум 100 боев нужны для участия танка в общем рейтинге "по больнице", по которому процент рассчитывают.
Сам же movingAvgDamage рассчитывается по другому - см. формулу EMA.

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