Fejlesztői napló: A meccskeresés fejlesztése
Automatikus csapatfeltöltés, várakozási idő és egy rakás ábra: így működött a meccskeresés 2017-ben.
A Riot játékostámogatásért felelős csapata megosztotta a legfontosabb háttér-információkat, a játék tervezői megválaszoltak néhány kérdést a játékba lépéssel kapcsolatban, és most, a frissítés utolsó részében elmondjuk, mit teszünk azért, hogy hatékonyabban működjön a LoL meccskeresési rendszere.
A LoL meccskeresésének három célt kell egyszerre megvalósítania (erről még sokat fogsz hallani): kiegyenlített meccsek létrehozása, annak biztosítása, hogy a játékosok lehetőleg az elsődleges pozíciójukban játszhassanak, és a rövid várakozási idő fenntartása. Az elmúlt két évet a meccskeresés fejlesztésével töltöttük. A módosításokat a háttérben be is vezettük, most pedig szeretnénk megosztani veletek az ezekre vonatkozó adatokat.
Egy megjegyzés: Mivel az elmúlt évben sikerült megfelelő szinten tartani a meccsek egyensúlyát a legtöbb képességszinten, ezért ebben a frissítésben a pozícióválasztásra és a várakozási időre fogunk koncentrálni. Hallottuk tőletek, hogy mindkét területen gondok vannak, így ezeket szerettük volna tökéletesíteni, és a tavalyi évben ezen is dolgoztunk a legtöbbet.
A pozíció kiválasztása
Kezdjük a pozícióválasztással. Az automatikus csapatfeltöltés bevezetése volt az egyik első lépésünk, amellyel segíteni szerettünk volna a pozícióválasztás/dinamikus várólista 2016-os, nehézkes indulásán. Az automatikus csapatfeltöltés lényegesen lecsökkentette a várakozás idejét, ugyanakkor azt mondtátok, hogy túl nagy az automatikus besorolás aránya.
Ezt tudomásul vettük, és meg is próbáltunk megoldást találni ezen arányok javítására. Már beszéltünk arról, hogy az automatikus csapatfeltöltés szükséges kompromisszum a LoL pozícióválasztó rendszerében, de ez nem jelenti azt, hogy ne lehetne egy kicsit visszaszorítani. A 2017-es évet azzal töltöttük, hogy az elsődleges pozícióknak próbáltunk elsőbbséget adni az automatikus besorolás helyett. Az alábbi grafikonok az Észak-Amerikára vonatkozó adatokat mutatják, de a többi régió is nagyjából ezt a mintát követi.
Pozíciók elosztása, minden pozíciókombináció – 2016–2018. január, Észak-Amerika
(a) Pozícióprioritás – egy módosítás az algoritmusban, amelynek köszönhetően nagyobb a várakozási idő, de nagyobb eséllyel kapod az elsődleges szerepedet.
(b) Automatikus csapatfeltöltés – a funkció bevezetése.
(c) Automatikus csapatfeltöltés – elsődleges pozíció arányának javítása – konfigurációmódosítás az elsődleges szerepek arányának javítása érdekében.
(d) Kísérletezés az automatikus csapatfeltöltéssel – lefuttattunk néhány tesztet a funkció különböző verzióival, hogy lássuk, melyik működik a legjobban.
(e) Rabló algoritmus – a csapatalakításra irányuló változtatás. Nem olyan szörnyű, mint amilyennek hangzik.
(f) Keverő algoritmus – ez az elsődleges pozíció minél gyakoribb megszerzését hivatott biztosítani.
Az elmúlt évben bevezetett változtatásoknak köszönhetően most már remélhetőleg az esetek 90%-ában megkapjátok az elsődleges pozíciótokat, függetlenül attól, hogy az melyik. A fenti grafikon megmutatja, hogy a játékosok milyen gyakran kapták meg az elsődleges és másodlagos pozícióikat, illetve milyen arányban kaptak automatikus besorolást.
Amikor bevezettük a pozícióválasztás lehetőségét, akkor ha a középső ösvényt választottátok elsődlegesnek, és a támogatót másodlagosnak, tízből csupán egyszer kaptátok meg a középső ösvényes szerepét – nem éppen pozícióbarát élmény. Már 2016 eleje óta próbálunk ezen változtatni. Még az olyan pozíciókombinációkban is, amelyekben a másodlagos pozíciónak sokkal nagyobb az esélye, mint más kombinációkban (vagyis a legtöbb szerveren a középső ösvényes/támogató), megpróbáltuk a támogatót egy „biztonságosabb” másodlagos opcióvá tenni.
Pozíciók elosztása, középső ösvényes/támogató – 2016–2018. január, Észak-Amerika
(a) A pozícióválasztás bevezetése – a játékosok azonnal rájönnek, hogy a támogató pozíciót másodlagosként megjelölni azt jelenti, hogy „te leszel a támogató.” A rendszer állapota romlik.
(b) Pozícióprioritás – ez a funkció átmenetileg segít, de végül ismét romlik az állapot.
(c) Automatikus csapatfeltöltés – a funkció bevezetésével több játékos kap támogatói pozíciót.
(d) Az automatikus csapatfeltöltés – elsődleges pozíció arányának javítása – az elsődleges pozíciók arányának javítását megcélzó konfigurációmódosítás a középső ösvényes pozíció javára fordítja az arányt.
(e) Kísérletezés az automatikus csapatfeltöltéssel – lefuttattunk néhány tesztet a funkció különböző verzióival, hogy lássuk, melyik működik a legjobban.
(f) Xayah és Rakan megjelenése – az alsó ösvényes duó megérkezett a szurdokba, és Rakan népszerűsége miatt a középső ösvényes/támogató játékosok sokkal gyakrabban kapják a középső ösvényt (hiszen sokkal többen választották a támogató pozíciót elsődlegesként).
(g) Az automatikus csapatfeltöltés tesztelése – a funkció konfigurációjának módosítása.
(h) Rabló algoritmus – a csapatalakításra irányuló változtatás. Tényleg nem para. Cserkészbecsszó!
(i) Zoe megjelenése – nagyon sok játékos választotta Zoe-t, ami miatt átmenetileg csökkent a középső ösvényes szerep esélye az elosztásban. Ez megszokott új hősök megjelenésekor.
(j) A 2018-as szezon kezdete – ami tulajdonképpen most van.
A fenti grafikon megmutatja, hogy milyen gyakran kapjátok meg az elsődleges és másodlagos pozíciótokat, illetve milyen arányban kaptok automatikus besorolást a legnehézkesebb esetben: elsődleges középső ösvényes és másodlagos támogató. Ha a legrosszabb eshetőség is elég jól teljesít, akkor nyugodtan levonhatjuk azt a következtetést, hogy függetlenül a választásotoktól, az elsődleges szerepeteket fogjátok megkapni a legtöbb esetben.
Várakozási idő és „előkészületi idő”
Az elmúlt évben volt néhány lehetőségünk arra, hogy csökkentsük az úgynevezett előkészületi időt. Ebbe minden beletartozik onnantól kezdve, hogy rákattintotok a Meccs keresése gombra egészen a töltőképernyő megjelenéséig, vagyis a hősválasztással, a kilépésekkel és a várakozással töltött idő. Elég cudar érzés, amikor egy nyolcperces hősválasztás után valaki az utolsó pillanatban kilép. Íme a 2017-es hősválasztási adatok.
Hősválasztás időtartama – 2017, összes régió
(a) A 10 hőst tiltó rendszer bevezetése – a hat váltakozó tiltást leváltó 10 hőst párhuzamosan tiltó rendszer több mint 30 másodperccel rövidítette le az átlagos hősválasztási időt.
(b) A párhuzamos választás bevezetése – az egymást követő választások egy fázisba tömörítésével még több időt spóroltunk meg.
Ezen funkciók bevezetése mellett vizuálisan is fejlesztettük a hősválasztás képernyőjét, amellyel a játékosok figyelmét szerettük volna nyilvánvalóbban felhívni arra, ha rajtuk van a sor. Ezen változtatásoknak köszönhetően a figyelmetlenségből (pl. a véglegesítés elmulasztása miatt) bekövetkező kilépések arányát is sikerült csökkentenünk: tízből egy eset helyett már csak tizenötből egyszer történik ilyen.
Ami a várakozási időt illeti, tudjuk, hogy elég kellemetlen hosszú várólisták sorozatába ragadni, és ezt mi sem kívánjuk nektek – elvégre mi vagyunk a játékok előtti folyamatokért felelős csapat. 2016-ban rosszabb esetekben akár órákat is várhatott egy-egy játékos, hogy bekerüljön egy LoL-játékba. Ez nem jó.
Várakozás időtartama – 2017, minden régió
(a) Az optimális működést célzó zárójeles megoldás – erről inkább nem szeretnénk beszélni.
(b) A kilépési arány javítása – kijavítottunk egy ritka hibát, amely miatt a játékosok a meccskeresésben ragadtak, ha valaki kilépett.
(c) Rablóteszt – egy hónapig egy másik rablóbeállítást teszteltünk…
(d) Rablóteszt visszavonása – …majd visszavontuk, hogy lássuk, milyen hatásai voltak.
(e) Doboz algoritmus – a hardveres beállításokhoz optimalizáltuk a kódot, hogy a várólisták gyorsabban beteljenek. Egy kis dobozba zárt varázslat.
(f) Rabló algoritmus – ugyanaz a javítás, amelyet már korábban is említettünk. Az előkészületi időt is lerövidítette.
Tehát 2017 kezdetéhez képest a várakozási idő elméletileg globálisan lecsökkent, így legrosszabb esetben is legfeljebb négy percig tart (néhány kivétellel a magas MKP-szinteken). Ezúton is elnézést kérünk mindenkitől, aki eddig mosdószünetként tekintett a várakozási időre.
Na jó, csak még egy grafikon – tekintsünk kicsit vissza az időben. Mint láthattátok, a meccskeresés fejlesztése egy állandó, hosszú távú művelet, amelynek sosincs vége. Alább láthatók négy január ugyanazon napjainak (vagyis nagyjából a szezonkezdet) adatai a várakozási időre vonatkozóan, 2015–2018-ig:
Várakozás időtartama – 2015–2018, összes szerver
2015 eleje: Nem volt rossz a várakozási idő, bár a legrosszabb esetekben akár 12 percnél is többet kellett várni.
2016 eleje: A pozícióválasztás nem volt túl hatékony az indulásakor, emiatt előfordult, hogy a magas szintű játékosok akár 26 percet is várakoztak. Bizony.
2017 eleje: Az automatikus csapatfeltöltés bevezetése, egyéb apróbb javítások, és a várakozásiidő-szint visszaállítása a 2015-ös állapotokra.
2018 eleje: A 2017-es ismétlődő fejlesztések, a hibajavítások és a konfigurációs módosítások a LoL meccskeresését az eddigi leghatékonyabb állapotába hozták.
Tehát röviden: Tudjuk, hogy nem tökéletes a helyzet, de mostanra elértünk arra a szintre, ahol az általad preferált pozícióban játszhatsz kiegyenlített meccseket, amelyekre nem kell sokat várnod. És most hogyan tovább?
Terveink 2018-ra és a jövőre
2018-ra őrült terveink vannak. Ezek a fejlesztés különböző szakaszaiban járnak éppen, valahol a „Valószínűleg megcsináljuk” és a „Fogalmunk sincs, hogy működne-e” fázis között. Íme néhány a terveink közül.
Szupergyors várólista?
Azt próbáljuk megfejteni, hogy vajon lehetséges-e elérni a 20–30 másodperces várakozási időt anélkül, hogy más tényezők rovására menne. Nem biztos, hogy lehetséges – még tűnődünk rajta. Majd meglátjuk, hogy van-e bármi esély a megvalósítására.
Az újoncok és a törpefiókok MKP-je
Van egy új algoritmusunk, amely – néhány tesztet követően – úgy néz ki, hogy pontosabban meghatározza a játékosok meccskeresési pontszámát, ráadásul sokkal gyorsabban, mint a mostani. Sőt, ez a törpefiókokat is gyorsabban besorolhatja a megfelelő helyre. Szólni fogunk, ha befejeztük a tesztelését – feltéve, hogy úgy működik, ahogy elvárjuk.
Pozícióproblémák
Nincs olyan megoldás, amely a rangsorolt meccsek minden problémáját megoldaná. A mostani rendszer egyik legnagyobb problémája, hogy a játékok azonos mértékű játéktudást igényelnek, a választott pozíciótól függetlenül. Ez pedig elég rossz, ha a komfortzónádon kívülre kerülsz, és még rosszabb, ha automatikus besorolást kapsz. Jelenleg is dolgozunk különböző módszereken, amelyekkel orvosolhatjuk ezeket a problémákat anélkül, hogy előnyteremtő hibákat hoznánk létre. Még mindig ötletelünk, ezért kíváncsian várjuk a véleményeteket erről a hibáról.
Ez a bejegyzés a LoL meccskeresési rendszeréről szóló háromrészes cikksorozat harmadik része. Az többi rész alább olvasható:
1. rész: Hogyan működik a meccskeresés? – A Riot támogatási cikkének hiánypótló frissítése, amely már a rendszer 2018-as működésén alapul.
2. rész: Fejlesztői napló: Meccskeresés – Az igazság – Megválaszoljuk a meccskereséssel kapcsolatos nehéz kérdéseket, és eközben remélhetőleg néhány tévhitet is sikerül eloszlatnunk.
3. rész: Fejlesztői napló: A meccskeresés fejlesztése – Egy kis betekintés a színfalak mögé, hogy bemutathassuk, milyen fejlesztéseket végeztünk a rendszeren az elmúlt évek során.