Klienstakarítás: a hősválasztáson a sor
Korábban megígértük, hogy kéthavonta beszámolunk arról, hol tartanak a League of Legends-kliens teljesítményének és megbízhatóságának javításával kapcsolatos, háttérben folyó munkálatok.
A mai bejegyzés e sorozat negyedik része. (Itt pótolhatod az első, a második és a harmadik részt.)
Röviden: Sikerült olyan mértékben csökkentenünk a kliens rendszerindítási idejét, hogy továbbléphetünk egy másik kiemelt fontosságú területre, a hősválasztásra. Végül pedig a kliensről és annak problémáiról kérdeztük a játékosokat. Íme néhány friss adat.
A KLIENS RENDSZERINDÍTÁSI IDEJE
Az év elején azt írtuk, hogy szeretnénk 15 másodpercre csökkenteni a kliens rendszerindítási idejét (a kliens elindulásához szükséges időt), még az igazán lassú gépeken is.
Nagyon mélyre ástunk a kliens architektúrájában, megszüntettünk számos, a klienst működtető beépülő modulokkal és alkalmazásokkal kapcsolatos problémát. Az elmúlt hetekben jelentős áttöréseket értünk el, és nagyon közel kerültünk a célunkhoz.
A rendszerindítási idő ma már mindössze 18,5 másodperc a 90. percentilisbe tartozó játékosok számára. Ez magyarra fordítva azt jelenti, hogy 90% százalék számára ennél is rövidebb a rendszerindítási idő. (És tény, hogy mostanában a legnagyobb változást a lassú gépeken játszók tapasztalhatták.)
Egy korábbi bejegyzésben beszámoltunk néhány komplikációról, például a COVID-19 világjárvány miatt jelentkező megnövekedett adatforgalomról. A diagramon világosan látszik a nagy ugrás idén márciusban.
A kiugrást követően fokozatosan tudtuk csökkenteni a rendszerindítási időt, de a legnagyobb javulást nemrég, a 10.16-os frissítésben értük el. Ez a csapat néhány fontos döntésének köszönhető.
Először is a 10.14-es frissítésben olyan technológiát vetettünk be, amely segített megérteni, milyen mértékben járul hozzá a kliens 68 beépülő modulja a rendszerindítási időhöz. Úgy tűnik, hogy egyes beépülő modulok nagyobb gondot okoznak a többinél. Arra jutottunk, hogy nyolc beépülő modul felelt a modulok betöltési idejének 75%-áért, és a maradék 60 pedig a fennmaradó 25%-ért.
Ezzel a tudással felvértezve egyszerűbb lett megállapítani, hogy mely beépülő modulok egyesítésére érdemes koncentrálnunk. Az egyesítésen kívül más módszereket is kerestünk: a 10.16-os frissítésben elkezdtünk implementálni egy megoldást, amely addig késlelteti a beépülő modulok és ember-alkalmazások betöltését, amíg azokra nincsen tényleges szükség.
Most, hogy ilyen közel kerültünk az eredetileg kitűzött rendszerindítási időcél eléréséhez, ideje továbblépni a „hadjárat” második fázisára: rövidebb válaszidő és nagyobb megbízhatóság a hősválasztás és a kliens más kulcsfontosságú elemeinek esetében.
Mielőtt rátérnénk a terv konkrétumaira, szeretnénk megosztani néhány adatot a klienssel kapcsolatban, amelyek egy világszinten végzett kérdőíves felmérésből származnak.
A KLIENSSEL KAPCSOLATOS ÉRZÉSEK – A KÉRDŐÍVBŐL SZÁRMAZÓ ADATOK
Egyesek talán nem értik, mi szükség van az ilyen felmérésekre, ha „úgyis tudjátok, a kliens úgy rossz, ahogy van!”
És igen… néha értjük, miért gondolják így egyesek. De ennél részletesebb képet kell alkotnunk. Mennyire elterjedtek a problémák? Melyek a legsúlyosabbak? E válaszok birtokában hatékonyabban tudjuk megállapítani a prioritásokat a munkánk során. Ráadásul a klienssel kapcsolatos érzések számszerűsítésével figyelni tudjuk, hogyan változnak az érzések az idő múlásával.
Az első kérdőíveket csupán néhány régióban adtuk ki, de a jövőben szeretnénk kiszélesíteni a megkérdezettek körét, és szükség szerint módosítunk, hozzáadunk, illetve eltávolítunk kérdéseket.
No, a hosszas felvezetés után jöjjenek azok a fránya diagramok.
Először is azt szerettük volna nyomon követni, hogyan alakul a kliens megítélése hónapról hónapra.
Az eredmények nem meglepőek, de ettől független értékes adatpontokként szolgálnak a későbbiekben, ahogy egyre pontosabb képet kapunk az elért eredményekről. Az elkövetkező hónapokban megosztjuk veletek az összegyűjtött adatokat.
A következő kérdéssel konkrét problémákat kezdtünk felderíteni:
Bár egyes problémák gyakoribbak a többinél, a válaszadók közel 50%-a már találkozott a felsorolt problémák valamelyikével.
Ezután azt kérdeztük azoktól, akik állításuk szerint már tapasztaltak technikai problémát, hogy egy 5-ös skálán („egyáltalán nem idegesít” – „nagyon idegesít”) mennyire tartják idegesítőnek az egyes problémákat. Az alábbiakban a válaszadók azon része láthatók, akik nagyon vagy rendkívül idegesítőnek ítéltek egyes problémákat.
Ez itt egy másik nézet, amely az egyes problémák jelentett gyakoriságát veti össze azzal, hogy mennyire tartják idegesítőnek:
Az ehhez hasonló diagramokkal világosan megállapítható, hogy melyik két probléma lóg ki a legjobban a sorból.
A játékosok szerint azok messze a legidegesítőbb hibák, amelyek megakadályozzák a hősök kiválasztását vagy kitiltását. A második helyezett a meccsvégi képernyő lassú betöltése, ami ráadásul igen gyakori. Ezen információk birtokában megállapítottuk, minek kell kiemelt figyelmet szentelnünk.
A FOLYTATÁS
A következő hónapokban a kliens a játékosok szerint leggyakoribb és legidegesítőbb problémáira igyekszünk megoldást találni. A Klienstakarítás következő szakaszában tehát a hősválasztás jobbá tételére és a meccs után a kitüntetési képernyőre, majd a kliensbe való továbblépés fejlesztésére koncentrálunk.
Ejtsünk pár szót a hősválasztó képernyőről.
Még februárban azt írtuk, hogy a legvégső célunk az, hogy a hősválasztó képernyő gombjai gördülékenyen reagáljanak. Egy konkrét cél az volt, hogy például a véglegesítésre szolgáló gomb 100 ms-nál rövidebb idő alatt reagáljon, még a 90. percentilisbe tartozó játékosok esetében is.
Mára világossá vált, hogy a játékosok boldoggá tételéhez a hősválasztás kulcselemeit kell átdolgoznunk.
A hősválasztó képernyőn végzendő munkálatok kapcsán három fő vállalást teszünk. Ezek a következők:
- A hősválasztást gördülékenyebbé és megbízhatóbbá tesszük. A játékosok régóta kérnek egy lendületesebb hősválasztási folyamatot. Szeretnénk átdolgozni a meglévő elemeket a reakcióidő javításához, csökkenteni a memóriafogyasztást, egyszerűsíteni az architektúrát és csökkenteni a véletlen kilépések esélyét.
- Újraértékeljük a hősválasztás felhasználói élményét és felhasználói felületét. Szorosan együttműködünk a tervezői csapattal, hogy eltávolíthassuk vagy gördülékennyé tehessük a gyengébb minőségű vagy teljesítményű animációkat és a túl sok erőforrást lefoglaló összetevőket.
- Próbáljuk megszüntetni a lehető legtöbb programhibát, aszerint súlyozva őket, hogy mekkora gondot okoznak.
Bár a hősválasztás kapja a legnagyobb hangsúlyt, arra is fordítunk erőforrásokat, hogy csökkentsük a kitüntetési képernyőről a meccsvégi képernyő csevegésébe való eljutáshoz szükséges időt. Sok játékos panaszkodik lagra a játékfolyamat ezen része során, és máris van egy mérnöki tervünk ennek kezelésére.
Ez egy hosszú folyamat lesz – hosszabb, mint szeretnénk. De elhatároztuk, hogy ugyanúgy fogunk felétek kommunikálni az előttünk álló munkáról, ahogy egymás között szoktunk: őszintén és átláthatóan.
Néhány hónap múlva egy ehhez hasonló blogbejegyzésben fogunk beszámolni az elért eredményekről. Addig is köszönjük, hogy velünk tartottatok.