Klienstakarítás: a hősválasztáson a sor

Lezárjuk a kliens rendszerindítási idejének csökkentésével kapcsolatos munkát, jön a hősválasztás.

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.

timeseries-hun.png


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.

chart1-hun.png

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:

chart2-hun.png


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.

chart3-hun.png


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:

chart4-hun.png

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:

  1. 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.
  2. Ú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.
  3. 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.