New World'de Yenilenen Savaş Ve Animasyon Sistemi Detaylı İnceleme

BlackFoaL

Etkileşim Canavarı
Authorized-Member
Katılım
4 Ay 12 Gün
PVP_Ebonscale_1920x1080.jpg

New World, Guardian Sezonu ile birlikte, yoğun oyuncu alanlarında performansı artırmak amacıyla eski savaş ve animasyon sistemini güncelliyor. Bu yeni sistem, içtenlikle Slayer Script olarak adlandırdığımız bir C++ tabanlı komut dosyası dili kullanılarak geliştirildi. Aynı zamanda, ilerleyen zamanlarda savaşı daha da geliştirmeyi kolaylaştıracak. Oyunun hissini korumak adına elinden geleni yapmışa benziyor. Gelin hadi yapılan değişikliklere bir göz atalım.

PVP-Hammer_1920x1080.jpg

SLAYER SCRIPT:

Slayer Script, C++ tabanlı bir komut dosyası dilidir. Doğrudan derlenir ve New World tarafından dinamik olarak yüklenerek hem mükemmel performans hem de komut dosyalarına canlı güncellemeler sağlar. Bu dil, olayları tetikleyebilir (düşmanları ortaya çıkarabilir, sesler çalabilir, vb.), olaylara yanıt verebilir (bir düşman öldüğünde, bir oyuncu odaya girdiğinde, vb.), animasyonları oynatabilir, hareketi kontrol edebilir ve daha fazlasını gerçekleştirebilir. Az kodla çok iş yapma potansiyeline sahiptir.

NW_Brimstone_PvP_Launch_Final_1920x1080.jpg

GELİŞTİRME SÜRECİ:

New World, sık sık güncellenen büyük sayıda nesneye sahiptir, bu da geleneksel komut dosyası dillerini verimli bir şekilde kullanmayı zorlaştırır. Lua gibi bir yorumlama dilinin kullanılması, donanım optimizasyonlarından yararlanamaz. Lua'nın yürütme performansı iyi olsa da, yüzlerce nesne için kullanılacaktı ve bu, bellek maliyetinin ve işlem maliyetinin kabul edilemez olacağı anlamına geliyordu. Bu zorluğu çözmek adına Slayer Script projesi başlatıldı.

PVP_MorningDale_1920x1080.jpg

HEDEFLER:

  • Nativ C++ Kullanımı: Mümkün olan en hızlı olmak için doğrudan derlenmiş C++ kullanımı.
  • Bellek Maliyetinin Azaltılması: Depolanması gereken durum miktarını azaltarak bellek maliyetini düşürmek.
  • Ölçeklenebilirliği İyileştirme: Yeni davranışların yürütme üzerinde daha küçük bir etkisi olan bir mimari kullanarak ölçeklenebilirliği artırmak.
  • Sıcak Yüklenebilirlik: Çalışma zamanında geliştirme olanağı sağlamak adına sıcak yüklenebilir olmak.
  • Hata Ayıklama Kolaylığı: Hata ayıklama sürecini kolaylaştırmak.
NW_Iguana_Battle_Expedition_ROTAE_Announce_1920x1080_Final_CT-002143.jpg

ZORLUKLAR:

  • Hızlı İterasyon: Tasarımcıların çalışmalarının sonuçlarını hızlı bir şekilde görmeleri önemlidir. Derlenmiş bir dil kullanıldığında, genellikle oyunu kapatma, düzenlemeler yapma, derleme ve ardından oyunu yeniden başlatma gerekliliği ortaya çıkar. Slayer Script, çalışan bir modül olarak entegre edilmiştir ve bu sayede modülün dinamik olarak yeniden yüklenmesi mümkün olur.
  • C++ Karmaşıklıklarını Gizleme: C++'ın karmaşıklıklarını Slayer Script kullanacak kişilerden gizlemek zor olmuştur. C++ karmaşık bir dil olabilir, ancak bir komut dosyası dili olarak kullanıldığında diğer komut dosyası dillerinden daha karmaşık olmak zorunda değildir. Bu konuda hala iyileştirme yapılması gerekiyor.

Guardian Sezonu PTR'da geri bildiriminizi bekliyoruz. Desteğiniz için teşekkür ederiz ve sizi Aeternum'da görmek için sabırsızlanıyoruz.
 
Geri
Üst