Il modo più semplice ed efficace per classificare e misurare le abilità dei giocatori in un ambiente multiplayer?


12

Conosco l'algoritmo Truskill, è abbastanza complesso ma efficace.

La mia domanda è ci sono altri algoritmi / metodi per determinare l'abilità dei giocatori per una misurazione accurata per il gioco competitivo multiplayer?


Un po 'soggettivo / ampio penso, a quale genere di gioco stai pensando specificamente? (Non vedo un gioco di sparatutto in prima persona che condivida un semplice metodo di classifica). Forse questo dovrebbe essere gestito dalla community e trasformato in un elenco di algoritmi / metodi / middleware / qualunque cosa?
Riley Adams,

La maggior parte dei sistemi di classifica utilizza rapporti di vincita, sconfitta e partita. Quindi fai spazio a condizioni specifiche del gioco, quindi la maggior parte dei metodi dovrebbe funzionare con modifiche minori.
Wight,

1
Ci sono problemi di brevetto con TruSkill? Microsoft l'ha creato e non sono noti per essere adatti alla comunità.
deft_code

2
Se eviti algoritmi che potrebbero essere brevettati, non sarai in grado di fare nulla di pratico. Se sai che qualcosa è brevettato e lo usi comunque, puoi finire per causare più danni se vieni citato in giudizio. Quindi supponiamo di no, non è brevettato - è un marchio registrato, quindi non chiamarlo "TrueSkill" a meno che tu non sia su Xbox Live.

2
Sfortunatamente TrueSkill è brevettato, quindi usarlo per qualsiasi scopo può essere pericoloso per te.
Petr Pudlák,

Risposte:


10

Penso che chiedere "il più semplice ed efficace" sia un requisito irrealistico, ma ci sono sicuramente alcuni buoni approcci. Piuttosto che entrare nei dettagli, collegherò ad un articolo:

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

Questo copre:

  • ELO
  • una variante ELO di Days of Wonder
  • TrueSkill (e glicko, su cui sembra essere basato o almeno simile a)
  • Classifica eGenesis (per Tales in the Desert)

Nel complesso vedrai che sono praticamente tutte variazioni sullo stesso tema: scegli un valore iniziale o medio per un giocatore, quindi i valori vengono utilizzati per prevedere il risultato del gioco. La differenza tra il risultato effettivo e il risultato previsto viene utilizzata per modificare i punteggi per ciascun giocatore e il processo si ripete con i punteggi modificati. Poiché ogni modifica ai punteggi rende più accurato il risultato previsto, i punteggi convergono sui loro valori "reali". (Ciò presuppone in realtà che si tratti di un gioco di abilità piuttosto che di un caso, che l'abilità in questione sia in grado di essere classificata in modo lineare, ecc.)


"il più semplice ed efficace" è solo un trucco per evitare di essere costretto a trasformarlo in un wiki della comunità.
Hendrik Brummermann,

7

Dipende dal gioco. Ci sono alcuni problemi in cui puoi entrare:

  • Per i giochi che hanno una componente fortuna e una componente abilità (Bridge, Poker, Magic: the Gathering, ecc.), La maggior parte degli algoritmi non tiene conto del fatto che a volte un giocatore più debole può avere fortuna. Se il tuo gioco rientra in questa categoria, dovrai fare un po 'di lavoro. Generalmente questo significa capire quale percentuale è la fortuna e quale percentuale è l'abilità (un trucco difficile, ma se hai già utilizzato un algoritmo basato sull'abilità come Elo, potresti eseguire alcune metriche sui risultati per capire con quale frequenza l'algoritmo prevede un turbamento rispetto a quanto spesso accade effettivamente). Quindi devi cambiare l'algoritmo, e esattamente a cosa cambiarlo è probabilmente oltre lo scopo di questa domanda.

  • Per le partite in cui le partite possono essere manipolate (posso scegliere di giocare una partita classificata contro il mio amico), devi mettere in atto delle protezioni aggiuntive per impedire ai giocatori di lanciare intenzionalmente partite.

  • Per i giochi in cui un giocatore può "allenarsi" se non gioca regolarmente, il sistema potrebbe comportare una sorta di degrado basato sul tempo. Il sistema Glicko è una mod di Elo che aggiunge una variabile di "incertezza" alla classifica di ogni giocatore, in base a quanti giochi hanno giocato e quanto recentemente li hanno giocati; più è certa la classifica di un giocatore, meno cambia da gioco a gioco.

  • I giochi multiplayer (sia gratuiti che per tutti, basati sulla squadra o su qualche altra struttura del giocatore) necessitano di cure speciali, ovviamente. Alcuni giochi a squadre rendono più semplice capire il contributo di ogni individuo, rispetto ad altri.

  • Chiedi anche qual è lo scopo del tuo sistema di classificazione / classificazione. Nei giochi e negli sport professionistici, lo scopo è statistico: la valutazione viene utilizzata come predittore del risultato di una determinata partita. L'obiettivo principale qui è l'accuratezza. Tuttavia, questo è raramente ciò che i giocatori vogliono; invece vogliono progredire, una sensazione che stanno migliorando e scalando le classifiche (sia che stiano effettivamente migliorando o meno). In breve, c'è un compromesso tra precisione e divertimento che devi considerare.


Tutto nel design è sempre un equilibrio =)
Wight,

3

Cosa hai trovato complicato in TrueSkill ? Ho pensato che fosse un algoritmo semplice con la giusta quantità di manopole per modificare le diverse modalità di gioco, e si riduce a Elo quando il gioco è testa a testa con alta certezza.

Se stai cercando il modo più semplice per classificare e misurare efficacemente un giocatore in un ambiente multiplayer - la mia raccomandazione è TrueSkill.


Stavo solo cercando un'alternativa che possa essere modificata più facilmente. Come quello usato da Starcraft 2. Ma TrueSkill è una buona misura, è solo più difficile includere le misure di gioco nella varianza.
Wight,

2

Che dire di un sistema a coppie come elo ? È stato usato per anni in sport "normali" con risultati eccellenti.

Per le partite a tutto campo puoi interpretarle come un insieme di partite a coppie e assegnare punti in base alla relativa classifica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.