Crusader Kings II geliştirici günlüklerinde bu hafta Meneth yapayzekadan ve optimizasyondan bahsediyor.
Herkese merhabalar ben Magne “Meneth” Skjæran, bir başka günlükle yine karşınızdayım. Bu şekilde günlüklere başlarken daha önce ne hakkında günlükler yazdığımdan bahsetmek gittikçe daha çok zaman alan bir eylem haline geliyor, bu sebeple favorilerim olan modlama, optimizasyon ve arayüz geliştirmeleri ile ilgili günlükler yazdığımı belirtmek isterim.
Bugün sizlere bu konulardan biri hakkında, optimizasyon hakkında konuşacağız. Bunun yanı sıra önümüzdeki yamayla birlikte yapayzekayı geliştirmek için neler yaptığımızdan bahsedecek, hatta yamada yapayzeka ile ilgili tüm değişiklikleri sizlerle paylaşacağım. Bu yamadaki yapayzeka değişiklikleri CK2 tarihinde yapayzeka üzerine yapılmış en kapsamlı çalışmalar oldu.
Gelin optimizasyonla başlayalım, hatırlarsanız The Reaper’s Due eklentisinin yanında çıkan yamada da optimizasyon çalışmalarımız olmuştu, bu yamadaki çalışmalar o çalışmaların yanına yaklaşabilecek seviyede değil, ancak Tibet’e, Tarim Basin’e, Ortadoğuya eklediğimiz yeni bölgeler doğrultusunda oyunun yavaşlamadığından emin olmak istedik. Geliştirme esnasında oyunu daha hızlı yapabileceğini düşündüğümüz bazı bölgeleri belirledik ve geceleri açık bıraktığımız observer oyunlarımızda oyunun hızını ölçtük.
Sonuç itibariyle kimisi büyük çaplı kimisi ise küçük şeyler olmak üzere 50’yi aşkın farklı değişiklik sonrasında oyunun yavaşlamasını engellemiş olmak bi kenara, oyunu 2.7’deki haline oranla hızlandırmış olduk.
Aşağıda bunu sağlamak için yaptığımız çalışmalardan bazılarını inceleyebilirsiniz:
- HoI4’ün arayüz optimizasyonunu CK2’ye uyarladık.
- Birim harita ikonları üzerinde optimizasyonlar yaptık.
- Saray üyeleri artık 20 günde 1 değil, 50 günde 1 event olup olmadığını kontrol ediyor.
- Alt ünvanlarda güncelleme yapılıp yapılmamasının gerektiği paralel olarak gerçekleşiyor.
- Yapayzekayı oyundaki decadence mekaniğini yıllar önce değiştirdiğimize dair bilgilendirdik ve bu doğrultuda artık aile üyelerine sırf vermiş olmak için ünvan vermiyor.
- Topraksız karakterler artık “konsey üyesi olma” isteğine sahip olamıyor.
- Decisionlar için ai_check_interval süresi eklendi.
- Plot ve ambition seçimleri artık paralel olarak yapılıyor.
- Yağma orduları nereye gideceğini artık normal ordular gibi belirliyor.
Değişiklikler genel olarak çok sayıda küçük değişiklikten ve bazı paralelleştirmeden ibaret.
Bunların yanı sıra oyunda “gereksiz karakter” oluşturulmasını engellemek adına bazı değişikliklerde bulunduk.
- Oynanabilir karakter için karakter üreten eventler ve decisionlarda kısıtlamalarda bulunuldu.
- PopulateCourt üzerinde geliştirmelerde bulunuldu, artık konsey üyelerini, mevcut concubineleri daha iyi sayıyor.
- Saklanan veya hapse atılmış karakterler artık kadınları hamile bırakamıyor.
- AI baron oluşturma sistemi artık ilk olarak sarayda uygun bir aday arıyor, eğer bulamazsa yeni karakter oluşturuyor.
- Gemili paralıaskerlerin birimaltı komutanları oluşturmaları hatası giderildi.
2.8 ile birlikte çok sayıda bölge eklenmesine ve çeşitli yollarla Çinli karakter üretilmesine rağmen oyunun hızı 2.7 ile benzer bir seviyede:
Karşılaştırma yapmak gerekirse bu tablo Reaper’s Due’da şu şekilde görünüyordu:
Ne yazık ki Monks and Mystics için benzer bir tabloya sahip değilim, ancak Jade Dragon tablosuyla benzer bir şekilde olacağını tahmin ediyorum.
Yukarıda listelediklerimizin yanı sıra çok sayıda küçük değişikikler yaptık ancak bunlardan bahsetmek hem ilginizi çekmeyecek hem de fazla teknik ifade içeriyor.
Genel olarak tüm bu değişikliklerle oyunu 2.7 sürümünden %8 ila %16 daha hızlı hale getirdik, tahmin edebileceğiniz üzere bu fark bilgisayardan bilgisayara değişiyor ancak şunu belirtmek isterim ki test yaptığımız her bilgisayar oyunu 2.7’den daha hızlı çalıştırdı. Asıl amacımızın oyunun yavaşlamadığından emin olmak olmak olduğu için yaptığımız testler sadece oyunun ilk 10 senesindeki hızı net bir şekilde ortaya koysa da, yaptığımız geceboyunca açık bırakmak üzerine testlerde uzun vadede de aynı sonucu gözlemleyebiliyoruz.
Oyunda aynı zamanda oyunun hafıza kullanımını azaltan bazı değişikliklerimiz oldu ancak bunun çok düşük seviye RAM’e sahip bilgisayarlar dışında farkedileceğini sanmıyoruz.
Şimdi gelin yapayzekadan bahsedelim. CK2 yapayzekası her zaman bazı sorunlara sahipti, oyunun karakter odaklı olması bunun oyunu etkilemesini minimalize eden bir unsurdu çünkü düşündüğünüzde insanlar da sorunlu olabiliyor. Ancak bazı hususlarda -özellikle ordu yönetiminde- sıkıntılar, yapayzekanın diğer karakterlere ünvan dağıtırken adamın bir toprağının alakasız yerde diğer toprağının alakasız yerde olmasına sebep olması gibi durumlar bazı değişiklikler yapmamızı şart kıldı.
2.8 yamasındaki yapayzeka ile ilgili kısmı forum konusundan inceleyebilirsiniz.
Özetlemek gerekirse bu değişiklikler askeri yapayzekanın yaptığı bazı fazla basit hataların büyük bir kısmını gideriyor, açıkçası halen bazı problemler sözkonusu örneğin yapayzekanın bir yere ordu gönderip sonra hemen geri çekme hususunu farketmiş olsak da save dosyasına girdiğimizde aynı durumun yaşanmasını sağlayamadık dolayısıyla o duruma neyin sebep olduğunu bilmiyoruz.
Bunun yanı sıra yapayzeka artık ünvan dağıtmada ve vassal transfer etmede çok daha iyi. Bir yandan mevcut vassalları haddinden fazla güçlendirmemeye dikkat ederken, diğer yandan karakterlerin ve toprağın kültürüne ve dinine daha dikkat ederek paylaşım yapıyor, hanedanını güçlendirmeye çalışıyor. Alakasız yerlerde uzak vassallara bambaşka yerlerden ünvanlar vermiyor. Veraset yoluyla halen alakasız yerlerden topraklar edinebilirsiniz ancak bu tamamen tarihsel bir durum. Son olarak Papa artık dibinde önemli tehditler varken Hindistan’a haçlı ilan etmiyor.
Bugünlük bu kadar.