Okiem projektantów: za kulisami trybu PVP w Najemnikach
Witajcie, jestem Tian, główny analityk danych w zespole Hearthstone. W tym artykule przedstawię kilka szczegółów dotyczących klasyfikacji i dobierania graczy w Ringu Gladiatorów, czyli sercu rozgrywki PvP w Najemnikach – naszym nowym trybie gry!
System klasyfikacji i dobierania graczy w Najemnikach to najbardziej skomplikowany system tego typu, jaki do tej pory zaimplementowaliśmy w trybach gry. U jego podstaw leżą jednak dwie proste idee:
- W przypadku klasyfikacji chcemy przede wszystkim, aby wartość jak najlepiej wskazywała zmiany umiejętności gracza na przestrzeni czasu, a w mniejszym stopniu odzwierciedlała poziom najemnika, zdolności lub wyposażenia czy skład drużyny.
- W przypadku dobierania graczy zależy nam głównie na tym, aby gracze bez przesadnie długiego czekania byli parowani „sprawiedliwie”, biorąc pod uwagę ich klasyfikację, poziomy najemników, zdolności, wyposażenia oraz role w drużynie.
Istnieje kilka czynników mających wpływ na to, jak aktualizujemy wasze klasyfikacje po meczu i dobieramy kolejnych przeciwników. Są to na przykład: klasyfikacja, poziom najemników, poziomy zdolności i wyposażenia najemników, podział ról w drużynie, a także czas spędzony w kolejce. Przyjrzyjmy się każdemu z tych czynników.
Klasyfikacja
Podobnie jak w przypadku Ustawki i Starć system ten obejmuje dwa poziomy klasyfikacji – zewnętrzny i wewnętrzny.
Klasyfikacja wewnętrzna to wartość, która pokazuje, co obecnie sądzimy o bieżącym poziomie umiejętności gracza, i która nie resetuje się na początku każdego sezonu. Wartość ustalana jest po tym, jak gracz rozegra określoną liczbę początkowych meczów klasyfikacyjnych, a następnie jest powoli dostosowywana wraz z kolejnymi rozgrywkami (lub w sytuacji, gdy gracz przez długi czas nie walczył na Ringu Gladiatorów). Gracze nie widzą tej wartości.
Klasyfikacja zewnętrzna to liczba widoczna dla graczy, która resetuje się na początku każdego sezonu, aby pokazać konkretne postępy poczynione w każdym sezonie i stawkę, o jaką toczy się gra. W miarę rozgrywania przez gracza większej liczby meczów w sezonie wartość ta może również blisko odzwierciedlać to, co sądzimy o jego bieżącym poziomie umiejętności.
Tablica wyników wykorzystuje klasyfikację zewnętrzną, a system dobierania graczy – klasyfikację wewnętrzną. Rozbieżności pomiędzy klasyfikacją wewnętrzną jednego gracza a klasyfikacją wewnętrzną jego przeciwnika to ważny czynnik podczas przewidywania prawdopodobieństwa wygranej przed każdym meczem (inne czynniki omówiłem poniżej). Prawdopodobieństwo wygranej jest następnie porównywane z faktycznym wynikiem w celu obliczenia zmian w klasyfikacjach.
Niektóre podstawowe informacje na temat podwójnego systemu klasyfikacji znajdziecie w moim poprzednim artykule dotyczącym Ustawki (https://playhearthstone.com/pl-pl/news/23523064).
Poziomy najemników
Poziomy poszczególnych najemników w drużynie odgrywają ważną rolę zarówno podczas aktualizacji klasyfikacji po meczu, jak i w czasie dobierania graczy przed nim. Na przykład system preferuje wyszukiwanie graczy posiadających najemników na tym samym poziomie (szczególnie gdy wartości klasyfikacji i inne czynniki są jednakowe). Jeśli jednak gracz zostałby sparowany z przeciwnikiem, którego drużyna jest na wyższym poziomie, prawdopodobieństwo wygranej takiego gracza byłoby niższe. To z kolei oznacza, że bardziej prawdopodobne jest, że taki gracz otrzyma więcej punktów klasyfikacji, jeśli wygra mecz, lub mniej, jeśli przegra.
Oczywiście poziomy drużyn graczy nie zawsze będą idealnie wyrównane. Opracowaliśmy wzór, który pomaga nam ocenić, kiedy taka częsta sytuacja ma miejsce. Posługując się językiem matematycznym, powiemy, że wzór uwzględnia poziom maksymalny, poziom średni, wariancję oraz współczynnik asymetrii najemników w drużynie, aby wygenerować „model” wskazujący na to, jak silny jest dany oddział. Nazywamy to „wynikiem poziomu” gracza.
Po każdej rozgrywce bierzemy pod uwagę wynik poziomu gracza wraz z różnicą klasyfikacji wewnętrznych oraz innymi elementami omówionymi w tym artykule. Chcemy w ten sposób otrzymać „wartość kompensacji klasyfikacji”, która wskazuje, jaką wartość klasyfikacji gracz zyska lub straci za tę rozgrywkę.
Poziomy zdolności najemników
System klasyfikacji i dobierania graczy bierze pod uwagę również poziomy zdolności każdego najemnika. Podobnie jak w przypadku wyniku poziomu drużyny „wynik zdolności” oblicza się, aby pokazać, jak silne są zdolności najemników. Wynik ten następnie opisywany jest przez funkcję nieliniową, która pomaga przewidzieć prawdopodobieństwo wygranej z przeciwnikiem i obliczyć zmiany wartości klasyfikacji po rozgrywce.
Pamiętajcie, że wynik zdolności ma znacznie mniejsze znaczenie, jeśli wszyscy najemnicy gracza i jego przeciwnika mają maksymalny poziom (limit poziomu w dzień premiery wynosi 30). W takiej sytuacji ważniejsze są inne czynniki, w tym różnica klasyfikacji wewnętrznych.
Poziomy wyposażenia najemników
Algorytmy do obliczania wyników i prawdopodobieństwa zwycięstw związane z wyposażeniem najemnika są bardzo podobne do algorytmów dotyczących poziomów zdolności, o których wspomniałem powyżej. Mają one jednak inne parametry. Jedna poważna różnica polega na tym, że najemnicy gracza nie muszą posiadać żadnego wyposażenia. Jeśli gracz nie doda wyposażenia, najemnik będzie traktowany tak, jakby miał wyposażenie na poziomie 0.
Role najemników
Jak już wiecie, istnieją trzy role najemników: Zbrojny, Czarownik i Obrońca. Każda rola zadaje podwójne obrażenia jednemu najemnikowi i otrzymuje podwójne obrażenia od drugiego.
Wybór roli najemnika nie zawsze wpływa na aktualizacje klasyfikacji po meczu, jednak zawsze ma znaczenie podczas dobierania graczy. Wpływ ten jest znacznie mniejszy niż poziomy drużyny i poziomy zdolności/wyposażenia, jednak nadal bierzemy pod uwagę role, aby zmniejszyć szanse na „ekstremalne” parowanie graczy, które może negatywnie wpłynąć na rozgrywkę. Dotyczy to sytuacji, gdy na przykład sześciu Zbrojnych walczy z sześcioma Czarownikami lub sześciu Obrońców mierzy się z bohaterami o tej samej roli. Aby to osiągnąć, korzystamy z pojęcia podobnego do matematycznej „entropii”, gdzie wyższa entropia oznacza większą różnorodność w rozkładzie ról najemników. Następnie mnożymy ten wynik entropii przez funkcję charakterystyczną, aby mieć pewność, że wynik wpłynie tylko na mecze o ekstremalnym parowaniu graczy. Chcemy osiągnąć równowagę – zależy nam, aby gracze mogli grać dowolnie wybranymi przez siebie najemnikami, ale nie zapominali o wpływie mechaniki ról na rozgrywkę w tym trybie.
Czas oczekiwania w kolejce i komputerowy przeciwnik
Czas spędzony w kolejce to ważny czynnik w każdym systemie dobierania graczy. Chociaż dobrej jakości mecz jest istotnym elementem ciekawej rozgrywki, bardzo długi czas oczekiwania w kolejce negatywnie wpływa na wrażenia. Biorąc pod uwagę tak wiele zmiennych w systemie dobierania graczy, chcieliśmy uniknąć sytuacji, kiedy znalezienie odpowiedniego przeciwnika trwa nadmiernie długo.
Obecnie w Najemnikach jeśli czas spędzony w kolejce jest dłuższy niż 1–1,5 minuty, a wartości klasyfikacji wewnętrznej i zewnętrznej gracza są poniżej określonego progu (próg klasyfikacji zewnętrznej wynosi 7000 punktów), zostanie on sparowany z przeciwnikiem sterowanym przez SI. Taki próg oznacza, że zwykli gracze zawsze będą spędzać niewiele czasu w kolejce, ale najbardziej zdeterminowani będą nadal mogli rywalizować ze sobą o najwyższe pozycje na tablicy wyników.
Obecnie mamy tylko jeden poziom trudności SI, dlatego dostosowujemy trudność komputerowego przeciwnika poprzez poziom jego drużyny tak, aby pasował do wartości klasyfikacji wewnętrznej gracza. Jeśli drużyna gracza obejmuje wiele różnych poziomów, a gracz zostanie sparowany z przeciwnikiem sterowanym przez SI, poziom drużyny SI będzie taki sam jak poziom drużyny gracza (zamiast wybierania średniego poziomu), a następnie zostanie dostosowany na podstawie klasyfikacji gracza. Jeśli gracz grał przeciwko SI, wpłynie to także na aktualizacje jego klasyfikacji po meczu.
Dodatkowe uwagi
W aktualizacjach klasyfikacji i podczas dobierania graczy nie bierzemy pod uwagę, jakiego dokładnie najemnika, jaką zdolność czy jakiego wyposażenia gracz użyje na Ringu Gladiatorów. Traktujemy tak samo dwóch różnych najemników na takim samym poziomie, o takim samym poziomie zdolności i wyposażenia i o takich samych rolach. Nie obliczamy, czy postaci Tyrande albo Rexxara są „z natury” silniejsze lub bardziej pasują do metagry. Ten aspekt pozostawiamy społeczności.
I ostatnia, ale nie mniej ważna kwestia: chciałbym podkreślić, że istnieje wiele hiperparametrów, które kontrolują ten system klasyfikacji i dobierania graczy. Większość z nich uzyskaliśmy dzięki przewidującym, masowym symulacjom rozgrywek SI przeciwko SI. Będziemy uważnie monitorować klasyfikację oraz system dobierania graczy po premierze i aktualizować algorytmy i/lub wartości wariancji zgodnie z bieżącymi danymi. Nieustannie wsłuchujemy się w wasze opinie, dlatego czekamy na wasze komentarze dotyczące klasyfikacji i dobierania graczy.
Mamy nadzieję, że spodoba wam się tworzenie drużyny, walka na Ringu Gladiatorów i zajmowanie coraz wyższych pozycji w rankingu. Do zobaczenia w Karczmie!