Re: Навык
Пользователь SirBuckeye нашел формулу вычисления показателя навыка, который мы видим в Battlelog. Эта информация была изъята из игровых файлов и размещена в Symthic.
SkillLevelParameters e6df679ae3633529acb47445de71eab7
$::Asset
$::DataContainer
Name Persistence/SkillLevelParams
SPM::SkillLevelComponent
MaxValue 1000.0
Weight 0.6
KPM::SkillLevelComponent
MaxValue 3.0
Weight 0.3
KDR::SkillLevelComponent
MaxValue 5.0
Weight 0.1
OldValueWeight 0.9
MaxValue 1000.0
MinimumTimeRequired 300.0
Как вы можете увидеть из этих данных, Навык зависит от 3 факторов, представленных в разных значениях: 60% SPM, 30% KPM и 10% KDR. На форуме Symphic, люди пытались просто складывали все значения вместе, но это не давало плодов. SPM наиболее значим по сравнению с другими параметрами. Значения должны быть нормализованы, прежде чем их складывать. Они нормализуются и сравниваются с MaxValue для каждого значения. Вы не можете высчитать ваш общий навык в вакууме. Скорее всего он вычисляется прямо в игре, добавляя или вычитая ваш стартовый навык. Другими словами вы должны иметь начальный показатель навыка, и потом добавляя данные из игры вы можете узнать ваш окончательный навык.
Единственное что вам надо, это показатель навыка перед игрой и информация с самой игры, чтобы сделать вычисления. SPM — чтоб узнать этот показатель, вы должны взять очки напротив вашего ника в таблице очков, до получения каких либо наград (медалей, звезд, нашивок), а не огромное число SPM в боевом отчете. Возьмите эти очки и разделите их на время раунда и вы найдете ваш актуальный SPM. KPM вы сможете найти аналогично, разделив количество убийств на округленное время. KDR указан боевом отчете. Все значения, которые больше чем MaxValue будут уменьшены до максимальных.
Вот 3 шага вычислений:
1.
Сначала нормализуем значения как дробь от максимально возможного значения.
(SPM/1000) = nSPM
(KPM/3) = nKPM
(KDR/5) = nKDR
2.
Затем, мы придаем вес значениям и складываем их, после умножаем на 1000.
((nSPM * .6) + (nKPM * .3) + (nKDR * .1)) * 1000 = GameSkill
GameSkill представляет ваш Навык в конкретно одной игре.
3.
Теперь добавим GameSkill к вашему стартовому показателю навыка.
Выше вы видели «OldValueWeight 0.9». Это означает, что мы придаем вес Навыку 0.9, перед добавлением к навыку конкретной игры.
(OldSkill * .9) + (GameSkill * .1) = NewSkill
Реальный пример
Рассмотрим пример для этой игры.
Это был достаточно хорощий раунд и SirBuckeye получил +8 к Навыку. Его Навык перед игрой был 510. Хотя Battlelog показывает SPM 1018, это не то значение, которое мы будем использовать, т.к. оно включает в себя выданные награды. Настоящий SPM был 463(12905 очков/ 27.83 минуты), KPM был 2.12, и KDR был 4.92. Для начала используем эти значения, чтобы нормализовать относительно их максимальных значений.
(463/1000) = 0.463
(2.12/3) = 0.707
(4.92/5) = 0.984
Затем придаем вес значениям, складываем их и умножаем на 1000.
((0.463 * .6) + (0.707 * .3) + (0.984 * .1)) * 1000 = 588.2
Позже, мы добавляем GameSkill к нашему стартовому взвешенному навыку:
(510 * .9) + (588.2 * .1) = 517.82
Округлив данное значение получаем 518. Вычисления показывают, что игрок получил +8 Навыка за эту игру, именно то, что и показано в Battlelog. Кроме того, 518 это окончательный навык, который отображается в статистике.
Данный метод был протестирован на десятке игр, и не давал ошибок. Разве что, только в 1 очко, но это скорее всего погрешности округлений.
По существу, каждая ваша игра сравнивается с теоретически идеальной игрой. Идеальная игра должна быть с 1000 SPM, 3 KPM, 5 KDR. Чем ближе вы подбираетесь к данным цифрам, тем выше ваш Навык в игре. Чем выше ваш Навык, тем сложнее его поднять. Например, если ваш начальный Навык был 300, вы бы получили +29 за игру из примера. Кроме того, поскольку Навык рассчитывается непосредственно во время каждой игры, вы можете иметь лучшую статистику, чем у большенства игроков, но при этом иметь более низкий Навык. Вы можете получить или потерять без проблем пару сотен Навыка в нескольких играх. Этот параметр никак не влияет на ваш карьерный рост в игре.
SPM — Score per Minute — Очков в минуту
KPM — Kill per Minute — Убийств в минуту
KDR — Kill Death Ratio — Отношение убийств к смертям
расчет skill battlefield 4
╔═══════════════════════════════════════╗
║ Если сообщение содержит правильный ответ ║
║ Вы можете отблагодарить, нажав на ║1 XP ║☺ ║
║ accept as solutio ║
╚═══════════════════════════════════════╝