Найпростіший і найефективніший спосіб ранжувати та вимірювати вміння гравця в середовищі для багатьох гравців?


12

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

Моє запитання: чи існують інші алгоритми / методи, щоб визначити навички гравців для точного вимірювання багатокористувацької змагальної гри?


Трохи суб'єктивно / широко, я думаю, про який жанр гри ти конкретно думаєш? (Я не бачу простого методу ранжування, який використовує звичайні способи ранжування кадрів у гонках з fps та гонки. Можливо, це має бути wiki-ed спільноти та внесено до списку алгоритмів / методів / проміжного програмного забезпечення / що завгодно?
Райлі Адамс

Більшість рейтингових систем використовують коефіцієнти виграшів, програшів та матчів. Тоді створіть місце для специфічних умов гри, тому більшість методів повинні працювати з незначними налаштуваннями.
Війт

1
Чи є якісь проблеми з патентом із TruSkill? Microsoft створила його, і вони, як відомо, не є дружніми для спільноти.
deft_code

2
Якщо ви уникаєте алгоритмів, які можуть бути запатентовані, ви не зможете зробити нічого практичного. Якщо ви знаєте, що щось запатентоване, і все одно користуєтесь ним, ви можете отримати більшу шкоду, якщо будете подані до суду. Тож припустимо, що ні, це не запатентоване - воно захищено торговою маркою, тому не називайте його "TrueSkill", якщо ви не користуєтеся Xbox Live.

2
На жаль, TrueSkill запатентований, тому використання його з будь-якою метою може бути небезпечним для вас.
Петро Пудлак

Відповіді:


10

Я думаю, що просити "найпростішого найефективнішого" - це нереальна вимога, але, безумовно, є кілька хороших підходів. Замість того, щоб розбиратися в деталях, я посилаюсь на статтю:

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

Це стосується:

  • ELO
  • варіант ELO від Days of Wonder
  • TrueSkill (і glicko, який, здається, заснований або принаймні схожий на)
  • рейтинг eGenesis (для казок у пустелі)

В цілому ви побачите, що всі вони в значній мірі відрізняються на одну і ту ж тему - ви вибираєте початкове або середнє значення для гравця, а потім ці значення використовуються для прогнозування результату гри. Різниця між фактичним результатом і передбачуваним результатом використовується для зміни балів для кожного гравця, і процес повторюється з налагодженими балами. Оскільки кожна модифікація балів робить прогнозований результат більш точним, бали збігаються на їх "справжніх" значеннях. (Це насправді передбачає, що це гра навичок, а не випадковість, що вміння, про яке йде мова, може лінійно ранжуватися тощо).


"найпростіший найефективніший" - це лише обман, щоб не змусити зробити це вікі спільноти.
Гендрік Бруммерманн

7

Залежить від гри. Ви можете зіткнутися з кількома проблемами:

  • Для ігор, у яких є складова удачі та компонент навичок (Bridge, Poker, Magic: The Gathering тощо), більшість алгоритмів не враховує того, що слабшому гравцеві іноді може пощастити. Якщо ваша гра підпадає під цю категорію, вам потрібно буде трохи попрацювати. Як правило, це означає з'ясувати, який відсоток везіння, а який відсоток - вміння (складний трюк, але якщо ви вже використовували алгоритм, заснований на навичках, як Elo, ви можете запустити деякі показники за результатами, щоб зрозуміти, наскільки часто алгоритм прогнозує засмучення порівняно з тим, як часто це відбувається насправді). Тоді вам доведеться змінити алгоритм, і саме те, на що його потрібно змінити, ймовірно, виходить за рамки цього питання.

  • Для ігор, де матчами можна маніпулювати (я можу вибрати гру з рангом проти свого друга), ви повинні поставити додаткові гарантії, щоб не допустити, щоб гравці цілеспрямовано кидали матчі.

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

  • Мультіплеерні ігри (будь то безкоштовні для всіх, на базі команд чи інша структура гравців), звичайно, потребують особливого догляду. Деякі ігри, що базуються на команді, полегшують визначення внеску кожної людини порівняно з іншими.

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


Все, що стосується дизайну, завжди є балансом =)
Wight

3

Що вам стало складніше в TrueSkill ? Я подумав, що це простий алгоритм із достатньою кількістю ручок для налаштування різних режимів гри, і він зводиться до Elo, коли гра з високою визначеністю грає.

Якщо ви шукаєте найпростіший спосіб ефективного ранжування та вимірювання гравця в багатокористувацькому середовищі - моя рекомендація - TrueSkill.


Я просто шукав альтернативу, яку можна легше підробити. Як і те, що використовували Starcraft 2. Але TrueSkill є хорошим заходом, тому що важче включити відтворення мір до дисперсії.
Віт

2

А як щодо парної системи, як Elo ? Його застосовували протягом віків у «звичайних» видах спорту із відмінними результатами.

Для вільних за всі матчі ви можете інтерпретувати їх як купу парних матчів та присвоювати бали, виходячи з відносного заліку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.