Oczyszczanie klienta: kolejny etap — wybór bohatera
Na początku tego roku zadeklarowaliśmy, że co dwa miesiące będziemy publikować aktualizacje poświęcone zakulisowym pracom mającym na celu poprawę wydajności i niezawodności działania klienta League of Legends.
Dzisiejsza porcja treści jest czwartym wpisem z tej serii. (Tutaj przeczytacie pierwszy blog, tutaj drugi, a tutaj trzeci).
W SKRÓCIE: Udało się nam skrócić czas bootstrapu do takiego poziomu, który pozwala nam skoncentrować się bardziej na wysoko priorytetowych obszarach, takich jak wybór bohatera. Przedstawimy też kilka nowych informacji, które uzyskaliśmy, przeprowadzając wśród graczy ankiety dotyczące problemów z klientem.
CZAS BOOTSTRAPU KLIENTA
Na początku roku powiedzieliśmy, że chcemy skrócić czas bootstrapu (czas, którego klient potrzebuje na uruchomienie się) do 15 sekund, nawet w przypadku graczy korzystających z bardzo słabych komputerów.
Od tamtego czasu spędziliśmy wiele czasu na grzebaniu w architekturze klienta, odnajdując połączenia pomiędzy podstawowymi problemami a wtyczkami i aplikacjami, które są odpowiedzialne za działanie klienta. W ostatnich tygodniach dokonaliśmy pewnych przełomowych odkryć i udało się nam nieomal osiągnąć nasz cel.
W przypadku graczy z 90 percentyla bootstrap trwa obecnie około 18,5 sekundy. To oznacza, że dla około 90% z was czas bootstrapu jest jeszcze krótszy (chociaż ostatnia korekta wydajności będzie najbardziej zauważalna dla graczy korzystających z wolniejszych komputerów).
We wcześniejszym blogu mówiliśmy o pewnych komplikacjach związanych z czasem bootstrapu, które pojawiły się na skutek zwiększonego ruchu na serwerach spowodowanego przez pandemię COVID-19. Na wykresie powyżej można to zaobserwować jako duży wzrost, który zaczął się w marcu.
W miesiącach po tym szczycie robiliśmy stałe postępy w skracaniu czasu bootstrapu, ale największa poprawa pojawiła się ostatnio w patchu 10.16. Jest to skutek kilku kluczowych kroków wykonanych przez zespół.
Po pierwsze w patchu 10.14 zaimplementowaliśmy technologię, która pozwoliła nam dowiedzieć się, ile czasu wymaga uruchomienie każdej z 68 wtyczek. Okazało się, że niektóre wtyczki sprawiają o wiele więcej problemów niż inne. Odkryliśmy, że marne 8 wtyczek odpowiada za 75% czasu wczytywania wszystkich wtyczek, a pozostałe 60 wtyczek za 25% tego czasu.
Uzbrojeni w tę wiedzę mogliśmy łatwo określić, na których wtyczkach powinniśmy się skupić podczas konsolidacji. Ponadto zdecydowaliśmy, że spróbujemy zastosować inne podejście podczas konsolidacji: w patchu 10.16 zaczęliśmy w większym zakresie wprowadzać rozwiązanie, które pozwala opóźnić wczytywanie pewnych wtyczek i aplikacji ember do momentu, gdy są one faktycznie potrzebne.
A ponieważ jesteśmy już tak blisko osiągnięcia naszego założonego celu, jeśli chodzi o czas bootstrapu, możemy wreszcie zacząć przechodzić do drugiego etapu naszej kampanii: ulepszania reaktywności i niezawodności funkcjonowania etapu wyboru bohaterów oraz innych kluczowych obszarów klienta.
Zanim omówimy konkrety tego planu, chcielibyśmy przedstawić nieco danych na temat klienta, które uzyskaliśmy za pośrednictwem ankiet przeprowadzonych wśród graczy.
DANE Z ANKIET DOTYCZĄCYCH POSTRZEGANIA KLIENTA
Myślicie pewnie: „Rito, jesteście kompletnymi popaprańcami, skoro potrzebujecie ankiety na temat klienta. Przecież wiecie, że szwankuje!”.
Cóż... może i tak. Ale chcemy znać nieco bardziej dokładny obraz sytuacji. Jak powszechne są występujące problemy? Które z nich są najpoważniejsze? Dzięki uzyskaniu odpowiedzi na te pytania, możemy lepiej wyznaczyć priorytety naszej pracy. Ponadto gromadząc wymierne dane na temat postrzegania klienta, możemy sprawdzić, jak wasza opinia na temat klienta zmienia się w przedziale czasu.
Pierwszy zestaw opinii pochodzi tylko z kilku regionów, ale zamierzamy przeprowadzić jeszcze wiele ankiet — modyfikując, dodając i usuwając pytania wedle potrzeb — aby śledzić postępy naszych prac.
W tym kontekście chcemy zaprezentować wam kilka wykresów.
Zacznijmy od tego, że zamierzamy monitorować trend zmian w postrzeganiu klienta z miesiąca na miesiąc.
Te wyniki nie są zbyt zaskakujące — ale są cenne jako materiał wyjściowy, ponieważ przeprowadzając kolejne ankiety, z czasem uzyskamy bardziej złożony obraz naszych postępów. W nadchodzących miesiącach przedstawimy wam te dane.
W sedno problemów zaczęliśmy się wgryzać, zadając następujące pytanie w ankiecie:
Chociaż niektóre problemy występują częściej niż inne, to niemal 50% przebadanych graczy twierdzi, że doświadcza co najmniej jednego z tych problemów.
Następnie poprosiliśmy graczy, którzy doświadczają problemów technicznych, aby w 5-stopniowej skali ocenili, na ile frustrujący jest dla nich każdy z tych problemów: od „w ogóle niefrustrujący” do „niezwykle frustrujący”. Poniżej widzicie procent graczy, którzy określili problemy jako bardzo lub niezwykle frustrujące.
A to kolejna ilustracja, na której możecie zobaczyć zarówno zgłaszaną częstotliwość występowania problemów, jak i ich subiektywną uciążliwość:
Wykresy takie jak ten jasno pokazują, że szczególnie uciążliwe są dwa elementy.
Pierwszy to problemy uniemożliwiające wybór lub banowanie na etapie wyboru bohatera, które z całą pewnością są najbardziej frustrujące. Drugi to wydłużony okres wczytywania ekranów końcowych, który jest problemem występującym najczęściej. Zbrojni w te informacje mamy lepszą orientację, na czym powinniśmy koncentrować się podczas następnej fazy naszych prac.
NASTĘPNE KROKI
W czasie kilku kolejnych miesięcy chcemy skoncentrować się na problemach najczęściej występujących i najbardziej frustrujących dla graczy. Dlatego następna faza naszej kampanii oczyszczania klienta będzie koncentrować się na ulepszeniu etapu wyboru bohaterów oraz przenoszeniu się z ekranu końcowego na ekran honoru i do klienta.
Najpierw omówmy wybór bohatera.
Jeszcze w lutym powiedzieliśmy, że naszym najistotniejszym celem jest poprawa reaktywności przycisków UI/UX na ekranie wyboru bohatera. Szczególnie chodziło nam o elementy takie jak skrócenie odpowiedzi na czas „blokowania” przycisku poniżej 100 ms, nawet w przypadku graczy z 90 percentyla.
Teraz jednak zdajemy sobie sprawę, że jeśli chcemy, aby gracze byli zadowoleni, musimy ponownie rozplanować kluczowe funkcje ekranu wyboru bohatera.
Prace, które będziemy wykonywać w zakresie wyboru bohatera, można podzielić się na trzy główne punkty. Zamierzamy:
- Ujednolicić i zapewnić większą niezawodność wyboru bohatera. Gracze od dawna proszą o to, aby wybór bohatera przebiegał sprawniej i płynniej. Zamierzamy ponownie rozplanować poszczególne elementy, aby poprawić płynność, zredukować zużycie pamięci, uprościć architekturę i wyciąć niezamierzone uniki.
- Przeprowadzić ponowną ocenę doświadczenia użytkownika (UX) i interfejsu użytkownika (UI) na ekranie wyboru bohatera. Będziemy współpracować z naszym zespołem projektowym, aby sprawdzić, które mało wartościowe i kiepsko działające animacje i zużywające zasoby elementy możemy usunąć lub usprawnić.
- Usunąć tyle błędów, ile się da, poczynając od tych, które są najdotkliwsze dla graczy.
Jednocześnie z pracami nad wyborem bohatera, będziemy też poświęcać nasze zasoby na usprawnianie przechodzenia z ekranu honoru do poczekalni po grze. Zbyt wielu graczy zgłasza lagi na tym etapie działania gry, dlatego pracujemy już nad inżynierią planu rozwiązania tego problemu.
Zajmie to trochę czasu – z pewnością więcej niż byśmy chcieli. Ale obiecaliśmy, że podczas tej kampanii będziemy rozmawiać z wami o naszej pracy w ten sam sposób, w jaki rozmawiamy o niej między sobą — uczciwie i niczego nie ukrywając.
Za parę miesięcy przygotujemy wpis podobny do tego, aby przedstawić wam poczynione w międzyczasie postępy. A na razie, jak zawsze, dziękujemy za granie.