Greatking
Admin
- Katılım
- 11 Yıl 9 Ay 12 Gün
- Mesajlar
- 932
- Tepkime puanı
- 199
- Puanları
- 43
- Discord
- greatking
- Cinsiyetiniz
- Bay
- Şube
- Bursa

Selamlar Kalradya Savaşçıları!
Bu hafta, sizlere yeni tanıttığımız, performans güncellemelerinin yanında birçok grafik iyileştirmesi içeren 1.4 versiyonlu oyun motorumuzdan bahsetmek istiyoruz.
Motor özelliklerini, herbiri bir versiyon olarak adlandırılan ayrı iş paketlerinde geliştiriyoruz. Bu, bizim yeni özellikleri kapsamlı ve etkili bir biçimde test etmemize olanak verirken oyun mekaniği programcılarımızın çalışma verimliliklerini de bozmamış olur.
Küresel Işıklandırma
Oyun motorumuza hem statik hem de dinamik objeleri doğru ışıklandırabilen yeni bir küresel ışıklandırma sistemi ekledik. “Precomputed Radiance Transfer” adı verilen, önceden hesaplamaya bağlı bir sisteme dayanıyor. Atmosferden bağımsız çalışıyor ki bu, günün farklı saatlerinde gireceğiniz sahnelerin olduğu Bannerlord gibi bir oyun için ödün veremeyeceğimiz bir zorunluluktur. Sistem, ışıklandırma verilerini düzenli bir kılavuzdaki problara kaydediyor. Çok sayıda otomatik yerleştirme aracı geliştirdik, böylece grafikerlerin bir sahneyi tamamlamaları için harcamaları gereken süre en aza inmiş oldu. Mod geliştiriciler de bu araçları kullanarak sahnelerine küresel ışıklandırmalar ekleyebilecekler.
Compute Shader Skinning
Yapmış olduğumuz performans analizleri sonucunda, geniş ölçekli savaşlarda GPU zamanının büyük çoğunluğunun nesne örgülerinin skinning işlemlerine harcandığını gördük. Normalde, skinning süreci örgü görüntülerinin her oluşturulması gerektiğinde (gölge, geometri, özel saç ışıklandırmaları vs. için) tekrarlanır. Bununla mücadele etmek için, iskelete ait örgülerdeki skinning hesaplamaları Vertex Shader aşamasından Compute Shader aşamasına taşınmıştır. Her iki aşama da, GPU üzerinde çalışmasına rağmen skinning sonuçları geçici bellekte saklamak için ayrı bir aşama yönetmek, bizim kare başına sadece bir kez skinning hesaplamaları yapmamıza ve Compute Shader’a özgü özel optimizasyon mekanizmaları kullanabilmemize olanak verir. Bunun sonucunda, örgülerin skinning işlemi süresi %60 kısalır ki bu, çeşitli GPU’lardaki büyük savaş sahnelerinde 60FPS’yi elde etmemize olanak verir.
Partikül Işıklandırma Atlası
Bu sistemi geliştirdikten sonra partiküller, ayrı bir GPU fazında (compute shader) gölgelendirilmektedir. Mevcut karede görünen her bir partikül, küresel ışıklandırma atlasında, kendi ekran boşluğu boyutuna göre dikdörtgen bir bölgeye (2x2, 4x4, 8x8, 16x16 ya da 32x32)atanır. Işıklandırma, bu küçük bölgelerde bir compute shader sahnesiyle yapılır. Sahnenin son görüntülemesi sırasında sadece atlas dokusundan ışıklandırma sonucu çekilir ve herhangi bir karmaşık ışıklandırma hesaplanmasına gerek kalmaz. Işıklandırma ve çizim aşamalarını ayırmak, gölgelendirilmiş piksel sayısı fazlasıyla azaldığından dolayı, partiküllerin ekrandaki doluluk maliyetlerini azaltabilmemizi sağlar. Bu da çöl gibi sahnelerin yüksek GPU maliyetini azaltır. Bu yöntem ayrıca, partiküller üzerindeki keskin gölgeleri ortadan kaldırır ve Bannerlord’un zaten güzel görünen partiküllerinin görsel kalitesini daha da arttırır!
Bu noktada, oyun motorumuzu hala geliştirdiğimiz ve yeni eklemeler yaptığımız gerçeğine de dikkat çekmekte fayda olduğunu düşünüyoruz: bu işler Bannerlord’un geliştirilmesi ile tamamen parallel yürütülüyor. Kendini işine adamış oyun motoru ekibimiz, bizlere daha büyük savaşlar yapma, yüksek FPS oranları, daha iyi görsel gerçekliği ve daha hızlı yükleme süreleri imkanlarını verecek daha iyi optimize edilmiş bir oyun motoru sunabilmek için sürekli çaba gösteriyorlar. Bu çalışmalar oyunun geliştirilme sürecini hiçbir şekilde yavaşlatmıyor, aksine oyunun son halinin genel kalitesini iyileştiriyor.
Gelecek haftanın bloğunda, oyun mekaniği programcılarımızdan Korneel Guns ile konuşuyoruz. Korneel’in asıl odak noktası Mount&Blade II: Bannerlord’un çok oyunculu yönü. Kendisine sorularınız varsa yorum kısmına yazabilirsiniz ve biz oradaki sorulardan bir tanesini röportajda soruyor olacağız!