Respawn, 'tek bir kod satırından' kaynaklanan aylarca süren Apex Legends ses sorunlarının olduğunu doğruladı

Respawn, 'tek bir kod satırından' kaynaklanan aylarca süren Apex Legends ses sorunlarının olduğunu doğruladı

Kaynak Düğüm: 2627193

Bugün "video oyunu yapmak zor" haberi: Respawn'ın Apex Legends'ta aylarca süren ses sorunlarına neden olan bir hatayı bulma yolculuğu. Patlamayan el bombaları, ateş etmeyen silahlar, kaynağı olmayan hasar ve aylarca süren ıstıraplı soruşturma - görünüşe göre bunların hepsi Apex Legends'ın 16. Sezon güncellemesine eklenen tek bir kod satırından kaynaklanıyor.

A'da belirtildiği gibi kapsamlı Reddit gönderisi (yeni sekmede açılır) Respawn topluluk yöneticisi Amy Thiessen tarafından, sorun Şubat ayında Sezon 16'nın başında başladı. Stüdyo, Apex'te "kaybolan nades" raporları almaya başlamıştı. Respawn kısa süre sonra el bombalarının tam olarak "kaybolmadığını" ancak bazen oyunculara hasar vermesine rağmen patlamadıklarını belirledi.

Gönderide, "Bu, 16. Sezon oyun testimiz sırasında meydana gelmemişti, ilk raporlardan sonra dahili olarak çoğaltılamadı ve temel neden her zaman oyuncunun bakış açısında gösterilmediğinden canlı oyun videoları kullanılarak tespit edilmesi çok zordu" yazıyor.

Respawn, eksik silah sesi FX ve parçacık efektleri hakkında benzer raporlar aldıktan sonra sorunu daha iyi ele aldı. "Bir ön araştırmadan sonra, birincil şüphelinin, sunucularımızın çeşitli efektler (örneğin belirli sesler, parçacık sistemleri, fizik darbeleri, mermi izleyicileri, patlamalar) için 'başlat'/'durdur' komutlarını göndermek için kullandıkları sistem olduğu bulundu."

Geliştirici Ekibi Güncellemesi: Ses Güncellemesi itibaren r / apexlegends

Esasen, bir maç sırasında, sunucunun ses FX veya parçacıklar sınırını aşırı yükleyebilecek ve bazı seslerin ve FX'in düşmesine neden olabilecek bir şey oluyordu.

"Bu noktadan hareketle teori, bir şeyin bu motor sınırlamasını doldurup her saniye binlerce efekt talep ediyor olabileceğiydi!" yazı diyor. "Fakat bu sistemik bir sorun muydu yoksa tek bir varlık harekete geçebilir miydi? Her sezon güncellemesi, varlıklar, kod, komut dosyası ve seviyelerde yapılan binlerce değişikliği içerir. Bu da samanlıkta iğne bulmak anlamına geliyordu.”

Respawn, sorunu çözmeye yardımcı olmak için metriklere döndü, ancak telemetride hiçbir şey net bir sorun göstermedi. Bu, Respawn'a bu hatanın, sistemlerinin daha önce görmediği benzersiz bir durum olduğunu düşündürdü.

"Bu bizi, topluluğumuzu etkilediğini bildiğimiz karmaşık bir sorunla karşı karşıya bıraktı, ancak ayrıntılı raporlara rağmen yeniden oluşturması zordu, şirket içinde çok az ipucu vardı ve bu sınıra ulaşıldığını kesin olarak kanıtlayacak hiçbir ölçüm yoktu."

Ordan nereye gidiyorsun? Respawn, Apex Legends sunucularını kasıtlı olarak kırarak aşırı yüklenmiş etkiler teorisini test etmeye karar verdi. Ekip bir test derlemesi başlattı ve hepsi aynı anda silah ateşleyen ve sunucu efektleri yükünü sınırın ötesine itmek için sonsuz sayıda yetenek kullanan 50 karakter üretti. İşe yaradı; ekip sonunda hata raporlarına benzer şekilde ses damlaları üretebildi, ancak bunun gerçek oyunculara nasıl olduğu hala bir muammaydı.

"Bu bize FX'in bırakılacağına dair kanıt verdi, ancak yalnızca tamamen gerçekçi olmayan test durumlarında. Sunucu performansımızın çeşitli yönleri araştırıldı, ancak kesin bir şey bulunamadı."

Respawn, Sezon 16 şiddetle devam ederken konuyu yakından takip etti. Ekip sonunda düşen sesli raporların yüksek seviyeli oyundan gelme eğiliminde olduğunu fark etti. Bu onlara, Respawn'ın daha küçük bir eşleşme alt kümesinde yeni ölçümleri izlemesine izin veren bir sunucu güncellemesi dağıtma fikrini verdi ve bu da anında bir atılım sağladı.

“Sunucu güncellemesi tamamlanırken onu bulduk. Sorunun temel nedeni olarak tek bir kod satırı belirlendi. 16. Sezonun yeni silahı.”

Bu silah, Apex'in en yeni enerji patlamalı saldırı tüfeği Nemesis'tir. Nemesis, hasar vermenin silahı "doldurduğu" ve daha hızlı ateş etmesini sağlayan benzersiz bir mekaniğe sahiptir. gösterdi (yeni sekmede açılır) yukarıdaki YouTuber Dazs tarafından). Bu yükleme etkisi, namlu içinde elektrik arkı oluşturarak tabanca üzerinde görsel olarak temsil edilir. Respawn, silah dolu değilken veya kılıfında değilken bu etkiye “durmasını” söylemeyi amaçlayan bir kod satırının aslında envanterinde bir Nemesis tutan tüm oyuncular için süresiz olarak tekrarlandığını söylüyor.

"Bu, yüksüz bir Nemesis'e sahip her bir oyuncunun sunucuda her karede bir 'durdurma parçacığı' etkisi yaratacağı anlamına geliyor ve bu kod satırı, silah kılıflıyken bile çağrılıyordu."

İşin garibi, bu aynı zamanda yüksek seviyeli oyunlarda ses düşüşlerinin neden daha sık olduğunu da açıklıyor. "14 fps'de çalışan bir Nemesis'e sahip 180 istemci, FX'in düşmeye başlaması için yeterli olacaktır." Bir kez olsun, en üst düzey PC oyuncularıydı. dezavantaj.

Respawn, bunun dahili testinin neden hatayla karşılaşmadığını da açıkladığını söylüyor.

"Test için kullanılan yapılar, oyunda yeterince Nemesis kılıfına sahip olmayabilir, eksik FX ile daha nadir bir korelasyona sahip olabilir veya o fps'de yeterli istemciye sahip olmayabilir; bu, aklımızda tutmamız ve gelecekteki testler için geliştirmemiz gereken bir şey."

Geçen hafta dağıtılan bir yama sonunda hatayı tamamen ortadan kaldırdı. Ve işte karşınızda - uzun vadede Respawn'ın benzer hataları oyunculara ulaşmadan yakalamasına yardımcı olacak, karmaşık bir temel nedeni olan işgüzar bir ses hatası. Respawn, gönderiyi testlerle ilgili bir kenara bırakarak sonlandırdı ve oyunculara "Apex oynayan bir dakikalık oyuncu, oyunu bir yıl boyunca oynayan 10 testçiye eşdeğerdir!"

Zaman Damgası:

Den fazla PC Gamer