Самый простой и эффективный способ оценить и измерить мастерство игрока в многопользовательской среде?


12

Я знаю алгоритм Truskill, он довольно сложный, но эффективный.

Мой вопрос: существуют ли другие алгоритмы / методы для определения навыков игрока для точного измерения для многопользовательской соревновательной игры?


Немного субъективно / широко Я думаю, о каком жанре игры вы конкретно думаете? (Я не вижу в fps и гоночной игре простого метода ранжирования). Возможно, это должно быть сделано вики-сообществом и составлено из списка алгоритмов / методов / промежуточного программного обеспечения / чего угодно?
Райли Адамс

Большинство систем ранжирования используют коэффициенты выигрышей, проигрышей и совпадений. Затем выделите место для особых условий игры, чтобы большинство методов работали с незначительными изменениями.
Уайт

1
Есть ли какие-либо проблемы с патентами TruSkill? Microsoft создала его, и они, как известно, не дружат с сообществом.
deft_code

2
Если вы избегаете алгоритмов, которые могут быть запатентованы, вы не сможете сделать что-нибудь практичное. Если вы знаете, что что-то запатентовано и используете его в любом случае, вы можете получить больше убытков, если вам предъявят иск. Итак, давайте предположим, что нет, он не запатентован - он является торговой маркой, поэтому не называйте его «TrueSkill», если вы не используете Xbox Live.

2
К сожалению, TrueSkill запатентован, поэтому его использование в любых целях может быть опасным для вас.
Петр Пудлак

Ответы:


10

Я думаю, что запрос «самого простого и эффективного» является нереалистичным требованием, но, безусловно, есть несколько хороших подходов. Вместо того, чтобы вдаваться в подробности, я сделаю ссылку на статью:

http://www.lifewithalacrity.com/2006/01/ranking_systems.html

Это охватывает:

  • ELO
  • вариант ELO по Дням Чудес
  • TrueSkill (и glicko, на которых он основан или, по крайней мере, похож)
  • Рейтинг eGenesis (для рассказов в пустыне)

В целом вы увидите, что все они в значительной степени являются вариациями на одну и ту же тему - вы выбираете начальное или среднее значение для игрока, а затем эти значения используются для прогнозирования результата игры. Разница между фактическим результатом и прогнозируемым результатом используется для изменения оценок для каждого игрока, и процесс повторяется с откорректированными результатами. Поскольку каждая модификация баллов делает прогнозируемый результат более точным, баллы сходятся по своим «истинным» значениям. (На самом деле это предполагает, что это игра на ловкость, а не на шанс, что рассматриваемое умение может быть линейно ранжировано и т. Д.)


«Самый простой и эффективный» - это просто обман, чтобы предотвратить создание сообщества вики.
Хендрик Браммерманн

7

Зависит от игры. Есть несколько проблем, с которыми вы можете столкнуться:

  • Для игр, в которых есть компонент удачи и навык (Мост, Покер, Магия: Сбор и т. Д.), Большинство алгоритмов не учитывают тот факт, что слабому игроку иногда может повезти. Если ваша игра попадает в эту категорию, вам нужно будет поработать. Обычно это означает, что выяснить, какой процент является удачей, а какой процент - навыком (сложная уловка, но если вы уже использовали алгоритм, основанный на навыках, такой как Elo, вы можете запустить некоторые метрики для результатов, чтобы выяснить, как часто алгоритм предсказывает расстройство против того, как часто это происходит на самом деле). Затем вы должны изменить алгоритм, и именно то, на что его изменить, вероятно, выходит за рамки этого вопроса.

  • В играх, в которых можно манипулировать матчами (я могу выбрать игру против моего друга по рейтингу), вы должны установить дополнительные меры предосторожности, чтобы игроки не могли целенаправленно бросать матчи.

  • Для игр, в которых игрок может «выйти из практики», если он не играет регулярно, система может повлечь за собой какое-то временное ухудшение. Система Glicko - это мод Elo, который добавляет переменную «неопределенности» в рейтинг каждого игрока, основываясь на том, сколько игр они сыграли и как недавно они в них играли; чем точнее рейтинг игрока, тем меньше он меняется от игры к игре.

  • Разумеется, многопользовательские игры (будь то бесплатные для всех, командные или какая-то другая структура игроков) требуют особого внимания. Некоторые командные игры позволяют легче определить вклад каждого человека по сравнению с другими.

  • Также спросите, какова цель вашей системы рейтинга / рейтинга. В профессиональных играх и спорте цель статистическая: рейтинг используется как предиктор результата любого конкретного матча. Основная цель здесь - точность. Тем не менее, это редко то, что игроки хотят; вместо этого они хотят прогрессирования, ощущения, что они поправляются и поднимаются по карьерной лестнице (независимо от того, улучшаются они на самом деле или нет). Короче говоря, есть баланс между точностью и весельем, которые вы должны рассмотреть.


Все в дизайне всегда баланс =)
Уайт

3

Что вы нашли сложного в TrueSkill ? Я подумал, что это простой алгоритм с нужным количеством ручек для подстройки под разные режимы игры, и он сводится к Elo, когда игра идет с полной уверенностью.

Если вы ищете самый простой способ эффективно оценить и измерить игрока в многопользовательской среде - я рекомендую TrueSkill.


Я просто искал альтернативу, которую можно легко настроить. Как то, что использовал Starcraft 2. Но TrueSkill - хорошая мера, просто сложнее включить игровые меры в дисперсию.
Уайт

2

А как насчет парной системы, такой как Эло ? Это использовалось целую вечность в "нормальных" спортивных состязаниях с превосходными результатами.

Для свободных для всех матчей вы можете интерпретировать их как набор парных матчей и назначать очки на основе относительного положения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.