Beginner

Формула расчета рейтинга в играх

6 сен 2013 08:27
+2
(Текст записи скрыт. Показать...)
Приветствую.
Возникла задача обновить/исправить формулу рейтинга игроков.
Игры проходят в режиме PvP и PvE.
Описывать старую формулу думаю не имеет смысла- она достаточно примитивна.
Из достойных внимания вариантов, приходящих на ум - формула подсчета рейтинга игроков из шахмат (ФИДЕ), так называемый метод Эло. Однако, он не совсем учитывает специфику построения боев нашей игре, и думаю он нам не подойдет.
Есть у кого-нибудь рабочие, адекватные варинты формул расчета рейтинга игроков? Кто может поделиться опытом?
Спасибо.
Отправлено 06.09.2013 в 23:12
Отвечает на сообщение 391505
0
Приведите, пожалуйста, ссылку на игру. А то сложно сказать, какая формула сможет учитывать именно её специфику. Например, ЭЛО рассчитана на противостояние двоих людей друг против друга, а поэтому может давать серьёзные сбои в битвах 3+, или при сражении "против поля" :)

К тому же могут быть схемы, которые жёстко фиксируют мощь. Например, с 5 уровня можно покупать вундер-вафлю, а потому 1-4 гарантированно ему проиграют. В данном случае точный рейтинг попросту не нужен, достаточно лиги (ранга, звания, уровня).
Андрей Го | Новый пользователь
Отправлено 08.09.2013 в 14:56
Отвечает на сообщение 391506
0
http://1945war.ru/ вот ссылка на игру. (пошаговая стратегия)
Специфика боев. У игроков есть определенное число юнитов (10-18, в зависимости от игрового уровня), они могут вести бой, попеременно совершая ходы своими армиями. Бои могут быть как 1-1, так и командные - 2*2, 3*3, 4*4. Победа достигается либо уничтожением всех юнитов соперника (в командных боях - всех юнитов одной из команд), либо захватом ключевых точек на карте.
В игре есть ограничения по уровням для соревнующихся сторон (т.е невозможно, чтобы игрок 5 уровня встретился в бою с игроком 35 уровня), а также модуль автобалансировщика (для распределения к примеру 8 игроков по двум командам, максимально близких по силе армий).
Формула Эло мне не нравится в первую очередь тем, что для нее безразлично, с каким счетом была победа. Например, я в бою потерял 5 юнитов, а уничтожил у соперника 18. Это очень значимая и профессиональная победа. Другое дело, если я потерял 17 юнитов, а уничтожил у врага 18. Это победа на грани проигрыша, она очень близка к ничьей. По Эло - победители в обоих случаях получат одинаковое число рейтинговых очков, хотя по моей логике - игрок из первого примера должен был получить больше очков рейта, чем игрок из второго примера...
Отправлено 08.09.2013 в 15:18
Отвечает на сообщение 391515
0
Тогда можно использовать соотношение "цены победы" как дополнительного параметра рейтинга.

Например, если мы потеряли ресурсов на 95 очков (в сумме, танки, пехота, артиллерия, удержание флага, вызов авиации и т.д.), а противник - целых 130, то соотношение рейтинга ЭЛО - бонус как при победе игрока с рейтом 130 против 95...

Получается "матрёшка", но если это допустимо (вкладывать две и более формул в один расчетный параметр), то вполне может подойти :)
Андрей Го  08.09.2013 17:58
Андрей Го  09.09.2013 08:08
В ветке ещё 12 сообщений
Отправлено 07.09.2013 в 11:34
Отвечает на сообщение 391505
0
Какова цель вашего рейтинга?
Андрей Го | Новый пользователь
Отправлено 08.09.2013 в 14:58
Отвечает на сообщение 391510
0
Цель рейтинга - учет и отображение мастерства игры игроков.
Предполагается, что игрок с более высоким рейтингом более сильный, и имеет больше шансов выиграть, если играет с игроком с более низким рейтингом.
Андрей Го | Новый пользователь
Отправлено 20.01.2014 в 10:17
Отвечает на сообщение 391505
+2
ИТОГИ.
Доброго времени.

Коротко об итогах внедрения рейтинга.
В целом, вычислительная часть оказалась очень хороша. Система показала себя очень гибкой и справедливой при начислении рейтинга. Все бои (1*1, 2*2, 3*3, 4*4) весьма адекватно стали оцениваться системой рейтинга. В общем я доволен.
По ходу работ над рейтингом, я паралельно занимался работами над созданием автобаланса команд (чтобы, например, 8 разных игроков автоматически распределялись перед боем на две максимально близкие по силе команды.) Так вот, я сделал интересное наблюдение, если сортировать игроков не по силам армий, а по их рейтингам - то получаются весьма приличные проценты по верности прогнозов, иногда даже превосходящие стандартную "делилку". Так например, система распределяет игроков по двум командам, и дает им шансы на победу 65% и 35% соответственно. При первых же эксперементах, в грубом приближении, оказалось что почти в 85% боев прогноз оказывался верным. Думаю, стоит продолжить копать в этом направлении - применение рейтинга в автобалансировщике команд весьма интересный вопрос.

Единственной проблемой, которая пока не поддается решению - это вопрос о начислении рейтинга досрочно ВЫШЕДШИМ из боя игрокам. Представьте себе, собралось 6 человек поиграть (3х3). Играют себе играют, и в середине боя один из них выходит из боя. Что происходит? Теперь играют 2 игрока против трех, и понятно, что в 95% случаев они проиграют это бой. И потеряют свой рейтинг. Но ведь это не совсем справедливо - они то по сути не виноваты. Что делать в таких случаях?

Я посмотрел пару игр в ВК, где реализованы командные бои. Нигде я не увидел наказание в какой либо форме того игрока, который вышел из боя (и по сути подставил своих союзников). Как уменьшать рейт таких игроков? и что делать с рейтом оставшихся игроков? В общем, пока не решил эту задачку. Если у кого то есть мысли на этот счет - буду рад услышать.
Данил Поляков | Новый пользователь
Отправлено 21.01.2014 в 13:20
Отвечает на сообщение 392766
0
Если в игре хороший онлайн, то можно решить проблему с "ливерами" простым способом:
Сделать так что бы им за досрочный выход из боя давали штраф(в штрафбат посылали =)  )
Где вёлся бы подбор боя только для тех людей которые имеют штраф или просто блокировка роста рейтинга на несколько игр.
А игрокам которые пострадали дать возможность выйти из боя без штрафов и снижения рейтинга ну или просто не снижать рейтинг.
В вашей игре скорее всего бои длятся не 2 минуты и снижение рейтинга пострадавшим может привести к плохому настроению).
Списки доступа
  • Подписчики [1029]
Права доступа
Вы можете читать группу, но не можете отвечать на сообщения и создавать новые темы.
Доступ для остальных:
анонимы : могут читать
новые : полный доступ
постоянные : полный доступ

Copyright © 2020 ООО "ДТФ.РУ". Все права защищены.

Воспроизведение материалов или их частей в любом виде и форме без письменного согласия запрещено.

Замечания и предложения отправляйте через форму обратной связи.

Пользовательское соглашение