La începutul anului, ne-am angajat să publicăm actualizări o dată la două luni cu lucrările din culise pentru îmbunătățirea performanțelor și fiabilității clientului League of Legends.
Actualizarea de astăzi este cea de-a cincea din serie. (Citiți primul, al doilea, al treilea și al patrulea articol.)
Pe scurt: acum că am reușit să îmbunătățim timpii de lansare și arhitectura clientului, putem trece în sfârșit la selecția campionilor. Sfârșitul jocului de asemenea a devenit o nouă prioritate pentru noi.
În martie, când am început această serie de bloguri, am menționat două obiective majore: îmbunătățirea duratei secvenței de inițializare a clientului și a vitezei din selecția campionilor, în această ordine. În septembrie am reușit în cele din urmă să reducem secvența de inițializare (timpul de încărcare a clientului) până la 15,5 secunde pentru 90% dintre jucători și am anunțat că vom începe lucrările asupra selecției campionilor.
Iată primele noastre actualizări.
Pentru noi era previzibil că selecția campionilor va avea nevoie de reparații la fel ca și restul clientului – consolidarea aplicațiilor Ember, optimizarea codului, eliminarea bug-urilor etc. Pe parcursul aprofundării subiectului, am descoperit o problemă neașteptată: amprenta de memorie a selecției campionilor (și a clientului) se mărește de fiecare dată când ajungeți în această etapă în cadrul aceleiași sesiuni de joc.
Pentru 90 de procente, aceasta arată în felul următor:
Pe măsură ce participați la tot mai multe jocuri în cadrul unei singure sesiuni, clientul devine tot mai lent, până când în final este necesară repornirea lui.
Existența scurgerilor de memorie în client nu era o noutate pentru noi și am înțeles că o parte din această scurgere provenea de la selecția campionilor. Cu toate acestea, dimensiunea și amploarea scurgerilor pe care le observăm necesită o schimbare a abordării noastre. În paralel cu eforturile noastre planificate inițial, acum lucrăm și asupra implementării unor instrumente de dezvoltator mai specializate, care ne permit să identificăm și să rezolvăm mai eficient pierderile de memorie în întregul client, reducând din timpul necesar pentru a oferi îmbunătățiri.
Am spus în paralel și, deși progresele au fost minore, în patch-ul 10.23 intenționăm să lansăm primele noastre mici îmbunătățiri de performanță pentru selecția campionilor. Am îmbunătățit selecția vrăjilor de invocator și a skin-ului pentru gărzi, astfel încât acestea să nu creeze la deschidere aplicații Ember suplimentare. Acest lucru conduce la o reducere mică, dar măsurabilă, a utilizării memoriei (aproximativ 1,6 MB) atunci când jucătorii își stabilesc vrăjile și skin-urile pentru gărzi în timpul selecției campionilor. Acestea au fost două dintre primele scurgeri de memorie pe care le-am descoperit, iar remedierea lor a fost o modalitate excelentă de a aplica cele mai bune practici ce ne vor permite să abordăm scurgeri de memorie mai vaste în viitorul apropiat! Ne așteptăm să lansăm îmbunătățiri mai vizibile până la sfârșitul anului.
Pe lângă eliminarea erorilor existente, o altă parte a remedierii selecției campionilor presupune identificarea părților din experiență care sunt importante pentru jucători și a celor pe care le putem retrage sau chiar elimina, deoarece jucătorii nu le consideră la fel de importante. Ideea este că experiența selecției campionilor este esențială pentru joc și, prin urmare, cu cât avem o cale mai puțin complexă, cu atât avem mai puține șanse ca lucrurile să meargă prost. Am analizat datele sondajelor jucătorilor pentru a afla ce este important atunci când vine vorba de experiența utilizatorului (UX) și de interfața utilizatorului (UI) de la selecția campionilor, la care am adăugat valorile din client pentru a consolida aceste sondaje cu date despre activitatea jucătorilor.
Iată câteva dintre rezultatele noastre timpurii și ce am făcut sau intenționăm să facem în legătură cu acestea:
Unul dintre cele mai importante puncte ce provoacă disconfort jucătorilor este că intrarea în selecția campionilor poate întâmpina o serie de probleme. Fiabilitatea la etapa de selecție a campionilor este o necesitate pentru a ajuta jucătorii să se simtă pregătiți să se concentreze asupra jocului ce îi așteaptă. Este esențial să rezolvăm orice problemă care ar putea interfera cu blocarea campionilor sau confirmarea alegerii. De asemenea, nu vrem să vă faceți griji din cauză că skin-ul, vrăjile de invocator sau runele pe care le-ați folosit în sute de jocuri se vor schimba fără să știți.
Pe măsură ce începem să lucrăm în acest domeniu, obiectivele principale ale abordării noastre sunt de a introduce jucătorii în selecția campionilor, oferindu-le un timp adecvat pentru a lua decizii critice, de a ne asigura că blocarea și alegerea campionilor sunt fiabile și că toți jucătorii pot să intre în joc fără impedimente.
Deși nu era una dintre sferele noastre inițiale de interes atunci când am început campania de curățare a clientului, sfârșitul jocului (adică tot ce se întâmplă între apăsarea butonului ''Continuă'' pe ecranul de victorie/înfrângere și posibilitatea de a interacționa cu lobby-ul de după joc) a devenit un punct de frustrare care este aproape la fel de important ca durata secvenței de inițializare a clientului și rapiditatea și fiabilitatea selecției campionilor. Ne concentrăm asupra frustrărilor legate de două domenii principale:
În toiul lucrărilor la selecția campionilor și sfârșitul jocului, am observat recent o creștere a rapoartelor privind bug-urile legate de setări de-a lungul ultimelor patch-uri. Acestea includ faptul că selecția campionilor nu memorează vrăjile de invocator, iar ferestrele pop-up vechi apar din nou (și din nou și din nou și din nou). Localizarea acestor probleme a fost puțin spus o provocare. Câteva echipe au lucrat independent pentru a-și actualiza sistemele din culise în același timp, creând un șir de cazuri rare împrăștiate, care s-au combinat într-o furtună perfectă în care mulți jucători se confruntă cu cel puțin o formă de probleme legate de setări. Am lansat trei remedieri independente pentru a atenua majoritatea acestor probleme apărute după ultimul articol, cea mai recentă fiind în patch-ul 10.21.
Pe măsură ce continuăm să aducem îmbunătățiri semnificative atât pentru selecția campionilor, cât și pentru sfârșitul jocului, vom continua să colaborăm cu echipele noastre interne pentru a localiza și a remedia erorile majore cu care se confruntă jucătorii, dacă acestea apar.
Cam atât pentru această actualizare! Avem o mulțime de lucruri de făcut până la sfârșitul anului și dorim să vă mulțumim pentru răbdare, în timp ce lucrăm din greu să îmbunătățim clientul pentru jucătorii noștri în fiecare patch!