Uruchamiasz sobie grę, decydujesz się na tryb multiplayer, dostajesz ekipę ludzi, po czym dostajecie mocno w zad. Oczywiście, że to wina tych kompletnych frajerów, noobów, którzy nie potrafią grać, a ich matka… ehem… no słabo grają, bo przecież to nie tak, że Ty grasz źle?

Ja jestem MarWin, a dziś porozmawiamy o tym, jak gry komputerowe, dobierają nam rywali i towarzyszy w grach online.

Dlaczego dobry dobór rywali jest ważny

Matchmaking wydaje się pozornie prosty, rzucić ludzi w dwa teamy i niech grają. Jednak kiedy sięgniemy pamięcią do lekcji WFu w szkole, to nawet w takiej, niemającej znaczenia sytuacji wybór raczej nie był losowy. Wybierało się kapitanów, którzy po kolei brali zawodników, dzięki czemu mecze miały być równe.

Dla twórców gier, szczególnie gier mających dawać im zyski przez dłuższy czas, czyli gier nastawionych na multiplayer, utrzymanie gracza to kluczowa kwestia. Żadna gra nie będzie sukcesem finansowym, jeśli będzie w nią grało 200 osób. Szczególnie że gry online, to nie tylko koszt stworzenia gry, ale potem też utrzymania serwerów – więc gry muszą ciągle dawać zysk, a to jest możliwe przy dużej bazie graczy.

No to jak matchmaking wpływa na to utrzymanie gracza? Nie raz rozmawialiśmy o stanie flow w grach. Czyli stanie gdzie gra daje graczowi proporcjonalne wyzwanie do jego umiejętności. Gracz, nie może mieć ani za łatwo – bo uzna że gra jest nudna i ją rzuci, ani za trudno – bo uzna, że gra nie jest wobec niego uczciwa i ją… rzuci.

Pierwszy przypadek to taki, kiedy dobremu graczowi dawalibyśmy ciągle dobry zespół i stawiali go na przeciw słabym graczom. Będzie wygrywał wszystkie mecze, miał kill-death ratio na poziomie 100 i może są osoby, które by to bawiło (głównie cheaterów), ale przeciętny gracz uzna, że gra jest prosta, powtarzalna i nudna.

Drugi przypadek, to byłaby sytuacja kiedy kogoś, kto odpalił grę, uczy się podstawowych mechanik i układu map, postawilibyśmy naprzeciw osób, które mają w grę ograne już kilkaset godzin. Choćby dwoił się i troił, to nie ma z nimi najmniejszych szans w efekcie uzna, że gra jest za trudna bądź niesprawiedliwa.

Dlatego, odpowiedni balans graczy w rozgrywce będzie kluczowy. Balans, który sprawi, że gracz będzie musiał sobie wygraną uczciwie wywalczyć, ale będzie wtedy z siebie dumny. Teraz pytanie, jak to zrobić?

Zacznijmy sobie od przeglądu historycznego.

Pierwsze multiplayery

Kiedy pierwsze gry wchodziły w multiplayer, mieliśmy jeszcze lata 90, bo mówię tutaj o tytułach takich jak Quake czy później Counter-Strike 1.6. Dla młodszych odbiorców przypomnę, że Counter-Strike nie od razu był przynoszącym miliony esportowym hitem, ale zaczynał jako dość popularna, darmowa, modyfikacja do hitowego Half-Life’a.

W tym okresie, nie bawiono się w wyrafinowane systemy. Dobór graczy bywał losowy, albo w bardziej ambitnym wydaniu stosowano geolokalizację i parowano ze sobą graczy, którzy są ze sobą lokalizacyjnie blisko, co miało zminimalizować ping i poprawić jakość gry – i w tym momencie, nie mogę się powstrzymać od wrzucania krótkiego fragmentu wykładu twórcy CSa.

Drugą opcją, było parowanie graczy po czasie wyszukiwania, aby sparować tych, którzy już długo czekają na rozgrywkę i zmniejszyć frustrację długim oczekiwaniem.

Te metody są fajne dla twórcow, bo proste w implementacji, niezbyt kosztowne i generalnie u mnie działa. Jednak dla graczy, wynik będzie… cóż… losowy. Jeśli będą mieli szczęście i losowania będą dla nich łaskawe, mogą trafić idealnie, a jeśli nie… zostaje rozczarowanie i powrót do gier single player.

Skill based matchamaking (SBMM)

Jednak twórcy nie są głupi, biznesy się rozwijały, trzeba było robić pieniądze i utrzymać gracza. Na rynku zaczynają się pojawiać gry takie jak League of Legends, Call of Duty, Halo. Ktoś tam sobie pomyślał, że może warto dobierać graczy jednak po ich skillu. Tylko jak sprawdzić skilla?

Na przeciw twórcom wyszedł Arpad Elo, który w 1950 roku zaproponował system Elo, do dziś wykorzystywany w szachach, piłce nożnej i innych grach rywalizacyjnych – gdzie wzory zależnie od sportu mogą być nieco inne.

W skrócie system opiera się na tym, że zestawiamy walczące ze sobą drużyny i ich pozycję w rankingu i przewiduje się wynik. Następnie mecz się odbywa, dostajemy wynik finalny i sobie go zestawiamy z oczekiwanym i przyznajemy punkty.

Jeśli lepsza drużyna wygra, co było do przewidzenia, dostanie punkty, ale nie tak dużo, niż gdyby wygrała drużyna, która powinna przegrać. Natomiast drużyna, która przegrała, traci punkty. I ponownie, jeśli przegrała drużyna, która miała przegrać, to traci ich mniej, niż gdyby przegrała ta, która miała wygrać.

Na realiach piłki nożnej, gdyby Real Madryt przegrał z Iskrą Stolec, to odbiorą mu znaczenie więcej punktów w rankingu, niż gdyby przegrał z Barceloną.

Tylko z systemem ELO jest mały problem. Sprawdza się, jeśli rywalizuje dwóch graczy (szachy) albo dwa zespoły (piłka nożna, LoL, CS), ale nie ogarnie meczu, gdzie stron konfliktu jest więcej (tryb Deathmatch w Halo), dlatego Microsoft posiedział, pomyślał i zaproponował system TrueSkill w 2007 roku wraz ze swoją grą Halo 2.

Prawdziwy skill (TrueSkill)

Podstawowa różnica między ELO i TruSkill to fakt innej reprezentacji skilla, który nie jest jedną liczbą. W rozkładzie Gaussa gracz dostaje jakiś poziom skilla oraz niepewność tej oceny – im gracz rozegra więcej meczów, tym mniejsza jest ta druga liczba, czyli system jest coraz pewniejszy obliczonego skilla.

Aktualizacja wyniku po spotkaniu przebiega podobnie jak w ELO. Tzn. najpierw system losuje wartość skilla dla gracza (czyli wartość, która znajduje się w jego przedziale niepewności) tworząc tzw. performance. Zawodnik z wyższym performance powinien wygrać. Po meczu zwycięzcy wzrasta skill, przegranemu spada, a obu maleje niepewność. Liczba punktów zależy od porównania przewidzianego wyniku od faktycznego – jak w ELO.

System okazał się sukcesem i Microsoft z powodzeniem stosował go między innymi w Halo, Forzie czy Gears of War, ale też postanowił go rozwijać dalej, bo system miał swoje problemy. Dzięki czemu wraz z Gears of War 4 w 2018 opublikowano pracę na temat TrueSkill 2. Nowa wersja wprowadza szereg ulepszeń:

Po pierwsze rozbudowano liczbę danych wejściowych. W TrueSkill liczył się tylko wynik końcowy, w dwójce dodano analizę statystyk, zabójstw, śmierci, asyst, co wpływa na dokładniejszą ocenę gracza.

Po drugie TrueSkill ignorował upływ czasu. Dwójka uwzględnia to, że na początku przyrost umiejętności będzie szybszy, kiedy gracz się uczy podstawowych mechanizmów, natomiast masterowanie gry będzie wolniejsze. Uwzględnia też fakt, że kiedy gracz dłużej nie gra, to jego umiejętności mogą lekko spaść.

Po trzecie, TrueSkill 2 rozróżnia tryby gry. To że dobrze Ci idzie w deathmatch, nie znaczy, że dobrze Ci pójdzie w capture the flag.

Po czwarte, TrueSkill 2 uwzględnia ucieczki z gier jak porażki, co chroni go przed nadużyciami.

Finalnie, TrueSkill 2 może się poszczycić 68% dokładnością w przewidywaniu wyników spotkań w Halo 5, względem 52% dla poprzednika.

W 2024, League Of Legends miało zmienić swój system matchmakingu właśnie na TrueSkill 2.

Jak jeszcze utrzymać gracza

Na algorytmach mogłoby się skończyć, ale twórcy mają jeszcze kilka mniej lub bardziej brudnych sztuczek w swoim arsenale.

Standardowym przykładem jest wprowadzenie botów, bez informowania o tym graczy, żeby zbalansować rozgrywkę, szczególnie dla początkujących, albo dla graczy będących w dołku przez serię porażek. Taktyka mająca zmniejszyć frustrację i dodać pewności siebie graczom.

Jeśli nie botami, to czasami kiedy graczom idzie słabiej, twórcy celowo parują go z gorszymi rywalami, żeby ponownie, mógł odbić się od dna.

Niektóre gry, oferują też płatne przedmioty, które mają zniwelować lukę między doświadczonym, a słabym graczem, jednak tutaj już wchodzimy na teretorium płatności, monetyzacji i nie będziemy tego dogłębniej analizować.

Kompetetywność dla casuali

Problem z dobrym doborem zespołów jest jednak problemem dla jednej grupy graczy – casuali. Osób, które nie chcą w grze dużego wyzwania (i słuchać co inni myślą o jego matce), ale chwili relaksu po pracy. Tym samym dobrze przygotowany system matchmakingu, sprawi, że każda rozgrywka będzie wyzwaniem. Problemem może też być fakt, że np. TrueSkill w pierwotnej formie nie uwzględnia upływu czasu, czyli gracz, który miał dłuższą przerwę od zabawy, a kiedyś był dobry, może trafić na wyjadaczy, kiedy on nie pamięta jak trzymać myszkę.

Bardzo dobry system jak TrueSkill 2, może jednak te problemy zniwelować.

Inne ciekawe podejście

Gerry Chan w Kwietniu 2018 roku przeprowadził jeszcze jedno ciekawe badanie, jednak było na małej próbie i nie trafiłem też na nic podobnego dlatego podaje jako ciekawostkę. Mianowicie postanowili sprawdzić jak zadowoleni z gry będą gracze o różnych typach osobowości.

Badanie wykazało, że istnieje korelacja między typami osobowości, a tym jak dobrze nam się gra z lub przeciwko innym typom osobowości i są typy z którymi gra nam się lepiej, a są tacy którzy potarfią zepsuć rozgrywkę. W każdej z par była osoba określona jako “eksplorer” o wysokiej otwartości na doznania. Okazuje się, że bardzo dobrze jej się gra z osobami o ekstrawertycznymi, ale bardzo źle z osobami określonymi jako “organizers”.

Tak jak wspomniałem, badanie oparto jedynie o 5 par, więc nie można z niego wyciągać pochopnych wniosków, ale może jest to jakiś kierunek który twórcy gier mogliby kiedyś obrać.

Bibliografia

[1] The Role of Skill in Matchmaking, 2024
https://www.activision.com/cdn/research/CallofDuty_Matchmaking_Series_2.pdf

[2] Elo Rating System – Wikipedia, dostęp: 09.01.2025
https://en.wikipedia.org/wiki/Elo_rating_system

[3] TrueSkill™ Ranking System, 2005
https://www.microsoft.com/en-us/research/project/trueskill-ranking-system/

[4] TrueSkillTM: A Bayesian Skill Rating System, 2007
https://www.microsoft.com/en-us/research/wp-content/uploads/2007/01/NIPS2006_0688.pdf

[5] Matchmaking Strategies for Maximizing Player Engagement in Video Games, Mingliu Chen, 2021
https://ssrn.com/abstract=3928966

[6] TrueSkill 2: An improved Bayesian skill rating system, Tom Minka, 2018
https://www.microsoft.com/en-us/research/uploads/prod/2018/03/trueskill2.pdf

[7] Keeping Players Engaged in Exergames: A Personality Matchmaking Approach, Gerry Chan, 2018
https://www.researchgate.net/publication/324668951_Keeping_Players_Engaged_in_Exergames_A_Personality_Matchmaking_Approach