개발자 블로그
클라이언트 개선 작업 - 다음 단계는 챔피언 선택

클라이언트 부트스트랩 시간 개선 작업을 마무리하고 챔피언 선택 과정에 집중할 예정입니다.

개발자 블로그글쓴이Riot Cactopus, Riot Am1t, Riot A Huevo
  • 클립보드에 복사됨

올해 초에 저희는 리그 오브 레전드 클라이언트의 성능과 안정성을 개선하기 위해 보이지 않는 곳에서 이루어지는 작업에 대해 두 달에 한 번씩 소식을 전하겠다고 말씀드린 바 있습니다.

이번 업데이트는 이 시리즈의 네 번째 블로그입니다. (첫 번째 글은 여기서, 두 번째 글은 여기서, 세 번째 글은 여기서 볼 수 있습니다.)

요약: 클라이언트 부트스트랩 시간을 충분히 개선했고 이제는 챔피언 선택 과정 등 중요도가 높은 작업에 더 본격적으로 집중할 준비가 되었습니다. 클라이언트 및 클라이언트 문제에 대한 플레이어 설문 조사를 통해 수집한 새로운 데이터도 여러분과 공유합니다.

클라이언트 부트스트랩 시간

올해 초에 저희는 아주 느린 컴퓨터를 사용하는 플레이어의 경우에도 클라이언트 부트스트랩 시간(클라이언트를 시작하는 데 걸리는 시간)을 15초로 줄이려는 계획에 대해 말씀드렸습니다.

그 이후로 저희는 클라이언트 아키텍처를 분석하고 클라이언트를 구동시키는 플러그인과 앱의 핵심 문제를 뿌리 뽑는 데 많은 시간을 투자했습니다. 최근 몇 주간 일부 성과를 냈고 목표 달성에 아주 가까이 갈 수 있었습니다.

timeseries_kr.jpg

이제 90백분위수 플레이어의 경우에도 부트스트랩 시간은 18.5초에 불과합니다. 플레이어 여러분 중 약 90%는 부트스트랩 시간이 이보다 더 짧다는 의미죠. (최근 성능 개선은 느린 컴퓨터를 사용할수록 더 잘 체감됩니다.)

지난 블로그 글에서 저희는 코로나19로 인한 플레이어 트래픽 증가로 야기된 부트스트랩 시간 증가에 대해 말씀드린 적이 있습니다. 위 그래프에서 올해 5월 즈음에 부트스트랩 시간이 급증한 것이 바로 이것 때문이죠.

그 이후 저희는 몇 개월간 부트스트랩 시간을 꾸준히 개선해왔지만, 얼마 전에 있었던 10.16 패치에서 가장 큰 성과를 냈습니다. 담당 팀에서 시행했던 두 가지 핵심 조치 덕분이었죠.

먼저, 10.14 패치에서 저희는 클라이언트에서 사용하는 68개의 플러그인 중 개별 플러그인이 부트스트랩 시간에 얼마나 영향을 주는지 파악하는 기술을 적용했습니다. 그 결과 일부 플러그인이 다른 플러그인보다 훨씬 더 큰 문제를 발생시킨다는 것을 알 수 있었죠. 불과 8개의 플러그인이 플러그인 로딩 시간 중 75%를 차지하고 있었고, 나머지 60개는 25%만 차지하고 있었습니다.

이를 알고 나자 통합해야 할 플러그인을 찾는 일이 훨씬 간단해졌습니다. 저희는 또한 통합 작업과 더불어 추가 조치를 취하기로 했죠. 그래서 10.16 패치에 특정 플러그인과 엠버 앱 로딩을 보류하고 플레이어가 실제로 필요할 때 로딩하게 해주는 솔루션을 더 본격적으로 시행하기 시작했습니다.

이제 부트스트랩 시간에 대한 목표 달성을 코앞에 두고 있으니 마침내 클라이언트 개선 작업의 두 번째 단계로 넘어갈 준비가 된 것 같습니다. 두 번째 단계는 바로 챔피언 선택 과정의 응답성 및 안정성과 클라이언트 기타 핵심 부분을 개선하는 것이죠.

저희 계획에 대해 자세히 말씀드리기 전에 세계 각지 플레이어를 대상으로 한 설문 조사를 통해 수집한 클라이언트 관련 데이터를 여러분과 공유하고자 합니다.

클라이언트 인식 설문 조사 데이터

아마 여러분께서는 이렇게 생각하셨을 겁니다. “라이엇 게임즈, 뭘 몰라도 한참 모르시네. 클라이언트 설문 조사를 해야 알아요? 클라이언트 안 좋은 건 이미 알잖아요!”

뭐, 틀린 말은 아닙니다. 하지만 이 문제에 대한 여러분의 생각을 더 세부적으로 파악하고자 합니다. 이 문제는 얼마나 큰 문제일까요? 그중에서도 어떤 문제가 가장 심각할까요? 이러한 문제에 대답하는 것은 저희가 할 일의 우선순위를 정하는 데 도움이 됩니다. 클라이언트에 대한 측정할 수 있는 인식을 조사함으로써 여러분의 클라이언트에 대한 의견이 시간이 지남에 따라 어떻게 변했는지 파악할 수도 있죠.

첫 번째 설문은 일부 지역만을 대상으로 했지만, 앞으로 필요에 따라 질문을 수정하고, 추가하고, 삭제하면서 추가 설문을 진행해 시간에 따른 저희의 진척도를 추적해 나가려고 합니다.

이외 관련해서 여러분께 보여드릴 몇 가지 멋진 그래프를 준비했습니다.

먼저, 저희가 파악하고자 하는 것 중 하나는 클라이언트에 대한 월별 인식 변화입니다.

chart1_kr.png

전혀 예상하지 못한 결과는 아니지만, 데이터로서 가치는 있습니다. 앞으로도 이 설문을 계속해나가면 저희의 진척도를 훨씬 더 잘 파악할 수 있기 때문이죠. 앞으로도 여러분과 이 데이터를 공유하겠습니다.

세부적인 문제를 파악하기 위해 저희는 다음 질문을 던졌습니다.

chart2_kr.png

각 문제의 발생 빈도는 다르지만, 설문 조사에 참여한 플레이어 중 약 50%가 다섯 개의 문제 중 적어도 하나가 발생했다고 답했습니다.

다음으로 저희는 기술적 문제를 겪었다고 답한 플레이어에게 각 기술적 문제의 불편함 정도를 ‘전혀 불편하지 않다’에서부터 ‘극도로 불편하다’까지 다섯 단계 중에 선택하도록 했습니다. 아래 그래프는 각 문제를 매우 또는 극도로 불편하다고 답한 응답자의 비율을 보여줍니다.

chart3_kr.png

아래 그래프를 보시면 각 문제의 신고 빈도와 응답자들이 답한 불편함의 정도를 알 수 있습니다.

chart4_kr.png

위와 같은 그래프를 보면 두 개의 문제가 눈에 띕니다.

먼저, 챔피언 선택 시 챔피언을 선택하거나 금지할 수 없는 문제가 독보적으로 불편하다는 것입니다. 두 번째는 게임 종료 화면 로딩 시간이 길어지는 문제가 극도로 자주 발생한다는 것입니다. 이러한 정보를 통해 저희는 다음 단계에서 무엇에 중점을 두어야 할지를 더 잘 파악할 수 있었습니다.

추후 행보

앞으로 몇 달간 저희는 플레이어 여러분께서 겪는 가장 흔하고 가장 불편한 클라이언트 관련 문제 해결에 집중하고자 합니다. 그래서 클라이언트 개선 작업의 다음 단계에서 저희는 챔피언 선택 과정과 게임 종료 후 명예 화면 및 클라이언트로의 전환을 개선하는 데 초점을 맞출 예정입니다.

먼저 챔피언 선택 과정에 대해 말씀드리죠.

저희는 지난 2월에 저희의 궁극적인 목표는 챔피언 선택 화면에서 사용자 경험(UX)/사용자 인터페이스(UI) 버튼의 응답성을 개선하는 것이라고 말씀드린 바 있습니다. 세부적으로, 90백분위수 플레이어의 경우에도 ‘준비 완료’ 버튼 등의 응답 시간을 100ms 아래로 낮추려 한다고 말씀드렸죠.

하지만 플레이어 여러분이 만족할만한 개선을 위해서는 챔피언 선택 과정의 핵심 요소를 재구성해야만 한다는 것을 알게 되었습니다.

챔피언 선택 과정에 있어 저희는 다음과 같은 세 가지 작업에 중점을 두고자 합니다.

  1. 챔피언 선택 과정의 효율과 안정성을 개선하겠습니다. 플레이어 여러분께서는 오래전부터 더 깔끔하고 응답성이 좋은 챔피언 선택 과정을 요청해왔습니다. 저희는 기존 요소를 재구성해 응답성을 개선하고, 메모리 사용량을 줄이고, 아키텍처를 간소화하고, 의도치 않게 이탈하는 경우를 줄이고자 합니다.
  2. 챔피언 선택 과정의 사용자 경험(UX) 및 사용자 인터페이스(UI)를 다시 평가하겠습니다. 저희는 기획 팀과 협업해 필요성과 성능이 떨어지는 애니메이션과 큰 리소스를 사용하는 요소의 제거 또는 효율성 제고에 대해 검토할 것입니다.
  3. 파악한 버그는 가능한 한 많이 수정하겠습니다. 버그로 인해 빚어지는 차질에 따라 우선순위를 정해 버그를 수정하겠습니다.

챔피언 선택 과정에 초점을 맞추는 동시에 저희는 명예 화면에서 게임 종료 로비로의 전환이 효율적으로 이루어질 수 있도록 노력을 기울일 것입니다. 이 게임 단계에서 차질이 있다고 신고하는 플레이어가 너무 많기 때문에 저희는 이 문제에 대처하기 위해 이미 엔지니어링 계획을 추진하고 있습니다.

이 과정에는 저희가 바라는 것보다 더 오랜 시간이 걸릴 것입니다. 하지만 이 작업이 끝날 때까지 저희는 사내에서 담당자들끼리 의사소통하는 것과 같은 방식으로, 솔직하고 투명하게 여러분께 소식을 전하겠습니다.

몇 달 내로 또 다른 클라이언트 블로그 글로 여러분께 진척 상황을 알리겠습니다. 리그 오브 레전드를 플레이해주셔서 감사합니다.



  • 클립보드에 복사됨