Şampiyon seçimi ve oyun sonu ekranını iyileştirmek için çalışıyoruz.
Bu yılın başlarına doğru, League of Legends İstemcisi'nin performansını ve istikrarını arttırmaya yönelik perde arkası çalışmalarımızı her iki ayda bir sizinle paylaşacağımıza söz vermiştik.
Bugünkü güncelleme, serimizin dördüncü yazısı olacak. (İlk yazımızı burada, ikinci yazımızı burada ve üçüncü yazımızı da burada bulabilirsiniz.)
ÖZET: İstemci başlama sürelerini iyileştirdiğimize ve mimarimizi geliştirmeyi tamamladığımıza göre artık şampiyon seçimine odaklanabiliriz. Ayrıca, oyun sonu ekranı da önceliklerimiz arasında yer alıyor.
Martta bu yazı serimize başladığımızda iki ana hedefimiz olduğundan bahsetmiştik: Sırasıyla istemci önyükleme süresini ve şampiyon seçiminin hassasiyetini iyileştirmek. Eylül ayında nihayet önyükleme süresini (istemcinin başlatılma süresi) oyuncularımızın %90'ı için 15,5 saniyeye indirmeyi başardık ve şampiyon seçimi üzerine çalışmaya başlayacağımızı duyurduk.
İlk güncellemelerimiz karşınızda.
Şampiyon seçiminin de istemcinin geri kalanıyla benzer bir onarım işlemine ihtiyacı olduğunu düşünüyorduk. Ember uygulamalarını sağlamlaştırmak, kodları optimize etmek, hataları gidermek gibi. Derinlemesine inceleme gerçekleştirdikten sonra beklenmedik türden bir sorunla karşılaştık: Şampiyon seçiminin (ve istemcinin) arkasında bıraktığı bellek izi, aynı oturumda bu süreçten geçtikçe giderek artıyor.
Yani %90'lık bölümdeki oyuncular için durum şu şekilde oluyor:
Tek bir oturumda daha fazla oyun oynadıkça en sonunda istemci çok yavaşlamaya başlıyor ve tek çözüm yeniden başlatmak oluyor.
İstemcideki bellek sızıntıları bizim için yeni bir şey değil ve bu sızıntıların bir kısmının şampiyon seçiminden kaynaklı olduğunu biliyorduk. Ancak sızıntıların boyutu ve kapsamı, yaklaşımımızda değişiklik yapmamız gerektiğini gösteriyor. İlk aşamada planladığımızla paralel olarak, şu anda tüm istemcideki bellek sızıntılarını daha etkili bir şekilde tespit etmemize ve gidermemize yardımcı olarak iyileştirmeleri uygulama süremizi kısaltacak özel geliştirici araçlarını uygulamaya koymak için çalışıyoruz.
Paralel olarak dedik çünkü yavaş ilerleme kaydediyor olsak da şampiyon seçimi performansını iyileştirecek ilk düzenlemeleri 10.23 Yaması'yla birlikte istemciye eklemeyi planlıyoruz. Sihirdar büyüsü ve totem görünümü seçimlerini de iyileştirdik. Artık açıldıklarında fazladan ember uygulaması oluşturmayacaklar. Bu, oyuncular şampiyon seçimi sırasında büyülerini ve totem görünümlerini seçerken bellek kullanımında küçük ama ölçülebilir bir azalma (yaklaşık 1,6 MB) sağlayacak. Bunlar, ilk aşamada keşfettiğimiz bellek sızıntılarından yalnızca ikisi ve bunları düzeltmek, yakın gelecekte daha kapsamlı bellek sızıntılarını gidermek için yapacağımız çalışmaları uygulamaya geçirmenin ilk adımı görevini görüyor. Yıl sona ermeden önce daha fazla kayda değer iyileştirmeyi uygulamayı planlıyoruz.
Bozuk olan şeyleri düzeltmek dışında, şampiyon seçimini iyileştirmenin bir diğer yöntemi de oyuncuların bu süreçte hangi işlevleri önemsediğini ve hangi işlevleri önemli bulmadığını tespit ederek onları kaldırmak. Bunu yapmamızdaki sebep, şampiyon seçimi deneyiminin temel oyun döngüsü için çok kritik olması. Bu yüzden bu noktada ne kadar az karmaşıklık olursa o kadar az şey ters gidebilir. Oyuncu anketleri sayesinde şampiyon seçimi kullanıcı deneyimi ve kullanıcı arayüzü konularında sizin için nelerin önemli olduğunu öğrendik. Ayrıca istemci içi oyuncu etkinliği verilerini de toplayarak bu bilgileri pekiştireceğiz.
İlk aşamada elde ettiğimiz sonuçlar ve bunlarla yapmayı planladıklarımız şu şekilde:
Oyuncuların yaşadığını söylediği en can sıkıcı sorunlardan biri de şampiyon seçimine başladıktan sonra birkaç farklı sorunun meydana gelebilmesi. Şampiyon seçiminin düzgün çalışması, oyuncuların önlerindeki karşılaşmaya odaklanabilmesi için çok önemli. Şampiyonları yasaklamanızı veya seçiminizi kilitlemenizi engelleyen tüm sorunları çözmek büyük önem taşıyor. Aynı zamanda yüzlerce karşılaşmada kullandığınız kostümün, sihirdar büyülerinin veya rünlerin haberiniz olmadan değişmesi konusunda da endişelenmemeniz gerekiyor.
Bu alanda çalışmaya başlarken, odağımızdaki ana hedefler oyuncuların şampiyon seçimine kritik kararları verecek süreye sahip olarak girebilmesi, şampiyon yasaklamalarının ve seçimlerinin düzgün çalışması ve tüm oyuncuların oyuna başarıyla başlayabilmesi.
İstemci temizliği çalışmalarına başladığımızda ana odak noktalarımızdan biri olmasa da oyun sonunun (yani Zafer/Bozgun ekranında "Devam Et" butonuna bastıktan sonra oyun sonu lobisiyle etkileşime girebilene kadar geçen tüm süre), neredeyse istemci önyükleme süreleri, şampiyon seçiminin hassasiyeti ve düzgün çalışması kadar can sıkıcı bir konu olduğunu keşfettik. Buna sebep olan farklı iki temel sorun bulunuyor:
Şampiyon seçimi ve oyun sonu çalışmalarımızın yanında, son birkaç yamada ortaya çıkan Ayarlar menüsü sorunlarıyla da ilgileniyoruz. Bu sorunların arasında şampiyon seçimi ekranının seçili sihirdar büyülerini hatırlamaması ve eski açılır pencerelerin sürekli (kapattıkça tekrar açılacak şekilde) açılması var. Bunların temel sebeplerini bulmak bizim için gerçekten zorlu bir süreç oldu. Birkaç ekip birbirinden bağımsız olarak aynı anda kendi arka plan sistemlerini güncellemeye çalışıyordu ve bu sebeple nadiren görülen bazı sorunlar oyuncuların daha sık karşısına çıkmaya başlayarak birçoğunuzun en az bir türden ayar sorunuyla karşılaşmasına sebep oldu. Son yazımızdan beri, en sonuncusu da 10.21 Yaması'yla olmak üzere bu sorunların büyük çoğunluğunu çözüme ulaştıracak üç ayrı düzeltmeyi oyuna ekledik.
Hem şampiyon seçimi hem de oyun sonu ekranlarında büyük çaplı iyileştirmeler yapmaya devam ederken içerideki ekiplerimizle işbirliği içinde oyuncuların canını sıkan sorunları da (eğer meydana gelirse) takip edip ortadan kaldırmaya devam edeceğiz.
Bugünlük güncellememiz bu kadardı! Yılın sonuna kadar daha tamamlamamız gereken çok fazla iş var ve biz istemciyi her yamayla birlikte tüm oyuncular için daha iyi bir hale getirmeye çalışırken sabırla beklediğiniz için hepinize teşekkür ederiz!