Selecția campionilor și sfârșitul jocului
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.
Începe selecția campionilor
Î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.
Amprenta de memorie a selecției campionilor
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:
- prima dată când treceți prin selecția campionilor, consumul de memorie al clientului atinge 481 MB;
- la a doua trecere, consumul de memorie crește cu încă 56 MB;
- de la a treia trecere, consumul crește în proporție mai mică, în jur de aproximativ 15-25 MB.
![graphcomms.jpg](https://cmsassets.rgpub.io/sanity/images/dsfx7636/news_live/bcc8ec8de7c189f48df3e74d7088fd26058b45ae-1542x624.jpg)
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.
Examinarea experienței/interfeței utilizatorului de la selecția campionilor
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:
- Jucătorii își doresc o experiență mai rapidă și mai clară în ceea ce privește succesul clicului lor pe un buton, mai ales atunci când vine vorba de alegerea și blocarea campionilor. Vom îmbunătăți viteza și fiabilitatea feedback-ului vizual și auditiv oferit de interfață pentru a oferi această claritate.
- Jucătorii nu consideră că ceremoniile legate de alegerea vrăjilor de invocator și a skin-ului pentru gărzi sunt atât de importante. Eliminăm animațiile asociate (pe lângă remedierea problemei scurgerilor de memorie menționate mai sus).
- Adăugăm telemetrie pentru a vedea cât de des folosesc jucătorii anumite caracteristici ale selecției campionilor care sunt mai puțin esențiale în pregătirea pentru meciul următor. Dacă acestea se încadrează mai mult în categoria ''n-ar strica să existe'', le putem elimina pentru a obține un câștig maxim de performanță.
- Panoul de animații
- Campionul preferat
- Misiunile
Intrarea în selecția campionilor
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.
Sfârșitul jocului
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:
- Jucătorii au raportat probleme în care clientul rămâne pentru o vreme blocat la butonul ''Reconectare'' după încheierea jocului în loc să treacă imediat la ''Onoare''. Continuăm să investigăm cauza acestei probleme.
- Uneori, clientul se blochează atunci când jucătorii revin la acesta din ecranul de victorie/înfrângere, lăsându-i în imposibilitatea de a vedea sau interacționa cu ecranul ''Onoare'' sau lobby-ul de după joc. Avem la activ câteva soluții promițătoare pe care planificăm să le lansăm în patch-ul 10.23.
Bug-uri legate de setări și ferestrele pop-up
Î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!