Принцип основан на том что очки арены отнимаются/прибавляются для каждого члена группы не одинаковым значением, а пропорциональным. Награда зависит от суммарного рейта вашей команды
по отношению к суммарному рейтингу команды противников, а так же от того какую долю составляет ваш рейт в команде. По тому же принципу очки вычитаются.
Для более ясного и точно расчета необходимо повысить разряд получаемых/отнимаемых очков на порядок, либо использовать дробные значения.
Формулы могу предложить такие:
НаградаИгрокаПобедителя = ДоляРейтингаИгрокаКомандыПобедителя * НаградаКомандыЗаПобеду;
ДоляРейтингаИгрокаКомандыПобедителя = ТекущийРейтингИгрока / СуммарныйРейтКомандыПобедителя;
ЕСЛИ СуммарныйРейтКомандыПобедителя - СуммарныйРейтКомандыПроигравшего > ПолотокРазницыРейтингаКоманд
ТО НаградаКомандыЗаПобеду = 0;
ЕСЛИ СуммарныйРейтКомандыПроигравшего - СуммарныйРейтКомандыПобедителя > ПолотокРазницыРейтингаКоманд
ТО НаградаКомандыЗаПобеду = НаградаЗаРавныйРейтинг * 2;
ИНАЧЕ НаградаКомандыЗаПобеду = НаградаЗаРавныйРейтинг + (СуммарныйРейтКомандыПроигравшего - СуммарныйРейтКомандыПобедителя) * КоэффициентРасчетаНаграды
КоэффициентРасчетаНаграды - то сколько очков давать за каждую разницу в рейтинге между победителем и проигравшим. Мои прокрутки показали что хорошим значением здесь будет цифра порядка 0,05.
НаградаЗаРавныйРейтинг - базовые очки, если командные рейтинги равны. Опять же мои прокрутки показывали, что хорошим значением будет 100;
ПолотокРазницыРейтингаКоманд = НаградаЗаРавныйРейтинг / КоэффициентРасчетаНаграды - границы разницы в рейтинге, когда либо даётся максимальное значение награды в очках, либо награда не дается вообще.
Цифры в любом случае нуждаются в тщательной калибровке.
Текуший абуз арен здесь лечится с двух сторон.
1. Наличие в команде игроков с рейтингом существенно ниже вашего при проигрыше сильно увеличивает штрафы по очкам конкретно вам.
2. То сколько очков получит команда победитель определяется по суммарному рейтингу команды а не по максимальному, старый абуз таким образом крайне быстро сходит на нет.
Тестил то что в итоге получится я этой программкой, зеркало.
PS. Не относится к данной концепции исправления абуза, но всё же я бы рекомендовал убрать приглашения и оповещения c информацией по грядущей арене. Если ты встал в очередь - тебя в любом случае закинет на арену.
Сообщение отредактировал Исвейн, 02 March 2017 - 03:49 AM.