A teraz trochę konkretów, aby te luźne gadanie zamienić w coś co jest gotowe do implementacji.
Poświęciłem trochę czasu na analizę ELO, jego działania, rozkładu itp.
Z tego wszystkiego wyłania mi się taki obraz:
STAWKA W WALCE (K) NIEAKTYWNOŚĆ ranking od ranking do nazwa grupy
(przedziału)czyli max. zmiana ranku strata = K % klasyfik. graczy
prognoza na podstawie
typowego rozkładu ELOnieklasyfikowani 40 nie dotyczy nie dotyczy 1400 1599 I 40 14 dni 30% 1600 1799 II 40 14 dni 30% 1800 1999 III 32 7 dni 22% 2000 2199 IV 24 7 dni 12% 2200 i więcej V 16 7 dni 6%
I-V - nazwy grup dowolne, może być proponowane brąz, srebro, złoto itp
nieklasyfikowani - tu można zrobić dwa podejścia:
a) dać wszystkim minimalny rank 1200 i w momencie dobicia do 1400 mamy I klasyfikację (taki odpowiednik nabicia 2xmin rank)
b) dać im również 1400 i dopiero po iluś walkach rankingowych klasyfikować (na poziomie 1400 lub wyżej)
Ma to znaczenie odnośnie ew. mechanizmu przymusu walki rankingowej (bójki), gdyż nieklasyfikowani najpewniej nie mieli by takiego przymusu.
Jak wyglądają przepływy ranku w ELO:
Przykład 1.
Walka gracza z dołów grupy III z graczem z dołów grupy V (różnica 400 ELO)
Jest to jak na warunki ELO ogromna różnica.
K=32 ranking przed ELO % na zwyc. A wygrywa
ranking poB wygrywa
ranking pogracz A 1800 9,09% 1829 1797 gracz B 2200 90,91% 2171 2203
Oczekiwany wynik to na 90,91% wygrana gracza B.
400 punktów różnicy oznacza więc, że 10x większe jest prawdopodobieństwo wygranej gracza B niż gracza A.
Ma to wpływ na przydział stawki K=32
Jeśli wygra gracz B (a więc było to spodziewane) to rankingi obu graczy zmienią się nieznacznie - o 9,09%*K czyli dla K=32 będzie to ~3 pkt.
Jeśli wygra gracz A (niespodziewane) to rankingi zmienią się znacznie - o 90,91%*K, czyli ~29 pkt
Przykład 2.
Walka gracza ze środka grupy III z graczem ze środka grupy IV (różnica 200 ELO)
K=32 ranking ELO % na zwyc. A wygrywa B wygrywa gracz A 1900 24,03% 1924 1892 gracz B 2100 75,97% 2076 2108
Przykład 3.
Walka graczy z identycznym rankingiem
K=32 ranking ELO % na zwyc. A wygrywa B wygrywa gracz A 2000 50,00% 2016 1984 gracz B 2000 50,00% 1984 2016
Co z tego wynika?
1) walki powyżej 400 pkt różnicy raczej nie mają sensu (także to powinien być próg uznania walki za rankingową)
2) gracz ma zazwyczaj w zasięgu ataku przynajmniej swoją grupę, jedną/dwie grupy wyżej i jedną/dwie grupy niżej - a więc pokaźną pulę aktywnych graczy PVP (sklasyfikowanych). Nieco mniejsza dostępność jest tylko dla grupy V (mniej graczy w tej grupie, brak wyższej grupy).
3) Najbardziej opłaca się walczyć z graczami z grupy swojej i wyższej.
Stawka (K)
Wg tabeli - zróżnicowana ze względu na grupę - im wyżej tym mniejsza. Wynika to z ogólnych zaleceń dla ELO, żeby na wysokim poziomie nie było drastycznych zmian w wyniku jakiegoś nieoczekiwanego meczu. Wyższe stawki na niższych poziomach ułatwiają szybsze ustawienie nowych, aktywnych graczy na odpowiedni przedział.
Stawką można dodatkowo manipulować - np. zmniejszyć ją gdy jest bójka i przegra zaatakowany (i odwrotnie).
Np. dla turniejów jako walk gdzie przeciwnik jest losowany, wyznaczony czas = przygotowanie, walka prestiżowa - a więc K może być wyższe.
Nieaktywność
Wg tabeli - 7 lub 14 dni w zależności od grupy. Przekroczenie terminu skutkuje tak jakby jedną przegraną z bardzo słabym przeciwnikiem, czyli rank nam spada o 100% K dla danej grupy.
Nieaktywność = brak walk które spowodowały zmianę rankingu (czyli rankingowych).
Gdy otrzymamy karę licznik się zeruje i znowu mamy daną liczbę dni na walkę do otrzymania następnej kary.
Obecny ranking a ELO
Nie da się tego w prosty sposób przeliczyć, należało by przyjąć jakąś datę w przeszłości np. pół roku temu i po kolei liczyć każdą walkę rankingową wszystkich graczy od tego momentu do teraz. Kto nie walczył oczywiście miał by startowy (minimalny) rank.
Podejrzewam że biorąc pod uwagę same 65 lv na dzień dzisiejszy to by wyszło kilka osób w najwyższej grupie dla ranku manual. Odpowiednio więcej w każdej następnej.
To takie wstępne założenia. Do modyfikacji.