Günlük: Stellaris - Modlanabilirlik Değişiklikleri ve Progenitor Hive Origini
#1
diarystl.png

Stellaris geliştirici günlüklerinde bu hafta modlanabilirlik değişikliklerinden ve Progenitor Hive origin'inden bahsediliyor.

https://forum.paradoxplaza.com/forum/dev...e.1523352/ :unknown.png

Herkese merhaba!

Umarım önümüzdeki hafta bir sonraki genişleme paketimiz olan Overlord'u oynamak için heyecanlısınızdır! Bağlı devlet/Hükümdar dinamiğinin geliştirilmesi hem sizin hem de bizim uzun zamandır beklediğimiz bir şeydi, nihayet sonuca ulaştığını görmek gerçekten harika!

Overlord çıkana kadar sizi idare etmesi için yama notlarını içeren geliştirici günlüğünü okuyabilirsiniz.

Ama önce bahsetmemiz gereken birkaç topluluk etkinliği var.

Bugün TSİ 18.00'de Overlord Geliştirici Soru Cevap etkinliği için Resmî Stellaris Discord'unda bize katılın. Bugünkü yama notlarıyla alakalı aklınıza bir şey mi takıldı? Gelip sorun.

Ayrıca 7 ve 8 Mayıs TSİ 15.00'te İçerik Üreticisi Multiplayer Gösterisi için bize katılın. Topluluktaki favori içerik üreticilerimizden bazılarıyla tüm hafta sonu boyunca Twitch ve YouTube üzerinden Overlord yayınlayacağız.

Overlord'u istek listenize ekleyin!

3.4 'Cepheus'taki Modlanabilirlik Değişiklikleri
Bunu standartlarıma uygun olarak kısa tutacağım. Yakın zamanda gelen güncellemeler modculara üzerinde uğraşacakları bayağı şey verdi, 3.4 de bundan farklı değil. Vaziyetler sistemini birkaç hafta önce tanıtmıştık, modcular tarafından çokça kullanılacağına şüphe olmadığından diğer betik dili değişikliklerine geçeceğim.

Akla gelen en büyük geliştirme değişkenler alanında yaşandı. Tetiklenen değişkenlerde artık tetiklenen o değişkene değişken ya da betik değeri uygulamanızı sağlayan bir "mult" değeri tanımlayabiliyorsunuz:

Kod:
triggered_pop_modifier = {
    potential = {
        NOT = { is_same_species = owner }
}
    modifier = { pop_citizen_happiness = 1 }
    mult = modifier:non_main_species_happiness_mult
}

Görebileceğiniz gibi oyunda olmayan bir değişken tanımladım. Çünkü artık kendi geçici değişkenlerimizi tanımlayabiliyoruz, örneğin:

Kod:
non_main_species_happiness_mult = {
    icon = mod_planet_happiness_mult
    percentage = yes
    good = yes
    category = pop
}

Bu değişken elbette yalnızca bir yere uygulandığında bir şeyler yapacak fakat bugünlerde bunun mümkün olabileceği çok yer var. Örneğin tür özelliklerinin işlerden gelen amenity ve ticaret çıktısını değiştirerek bu sistemi kullanmasını sağladık. Bu sayede sayıları değiştirmek için gereken çaba azaldı.

Sade ama gayet hoş bir geliştirme olarak belirli değişkenler belirli bağlamlarda çalışmadığında artık yükleme sırası hatası almıyorsunuz.

Yaptıklarımız bu kadarla kalmıyor. Overlord'u geliştirmek doğal olarak eski sistemleri elden geçirmemiz için bazı fırsatlar sundu. Örneğin yeni "event inheritance" sistemi kullanılarak anklavların betiklerinde binlerce satır kaydedildi. Bununla birlikte bir event bir diğerinin özelliklerini alması için “base = <some_event_id>” aracılığıyla seçilebiliyor. Ardından  “desc_clear”, “option_clear”, “picture_clear” ve “show_sound_clear” aracılığıyla çeşitli özelliklerin üzerine yazılabiliyor. Bu sayede belirli bir event'in davranışını içeriği değiştirerek alabiliyoruz.

Liste uzayıp gidiyor. Yeni bir common/tradable_actions klasörü artık diğer imparatorluklarla ticaretini yapabileceğiniz özel aksiyonları tanımlamanıza izin veriyor. Örneğin bağlı devletler başka avantajlar karşılığında süzerenlerine bağlılık yemini edebiliyor. Bu klasör de baştan aşağı belgelendi:

Kod:
# trade_action_my_example_action = {
#  # If this is set to 'yes', then the action will be fired and then removed from the trade deal.
#  # If 'no', then the trade deal will be treated as a treaty that lasts for at least 10 years.
#  fire_and_forget = no
#
#  # Determines if the action will show up in the list in the trade deals view.
#  # SCOPE: Country "giving" the action
#  # FROM: Country "receiving" the action
#  potential = {
#      has_overlord = from
#      is_specialist_subject_type = { TYPE = bulwark }
#  }
#
#  # If this trigger returns 'no', then the trade deal will be cancelled. Checked on daily tick. Only relevant if fire_and_forget is 'no'.
#  # SCOPE: Country "giving" the action
#  # FROM: Country "receiving" the action
#  active = {
#      has_overlord = from
#      is_specialist_subject_type = { TYPE = bulwark }
#  }
#
#  # Effect that fires when the trade deal is accepted.
#  # SCOPE: Country "giving" the action
#  # FROM: Country "receiving" the action
#  on_traded_effect = {
#      from = {
#          set_galactic_custodian = yes
#      }
#  }
#
#  # Effect that fires when the trade deal ends. Only relevant if fire_and_forget is 'no'.
#  # SCOPE: Country "giving" the action
#  # FROM: Country "receiving" the action. Not guaranteed to be valid, since a trade deal is cancelled if one of the countries dies.
#  on_deal_ended_sender_effect = {
#  }
#
#  # Effect that fires when the trade deal ends. Only relevant if fire_and_forget is 'no'.
#  # SCOPE: Country "receiving" the action
#  # FROM: Country "giving" the action. Not guaranteed to be valid, since a trade deal is cancelled if one of the countries dies.
#  on_deal_ended_recipient_effect = {
#      set_galactic_custodian = no
#  }
#
#  # Used to determine how much the AI will value the action in a trade deal.
#  ai_weight = {
#      weight = 1
#
#      modifier = {
#          weight = 2
#          from = {
#              is_galactic_custodian = no
#          }
#      }
#  }
# }

Yapay zekâ ve diplomasiden bahsetmişken, diplomatik aksiyonlar artık betik yoluyla biraz daha fazla kontrol edilebiliyor. Onlar hâlâ büyük ölçüde kod aracılığıyla çalışsa da yapay zekânın teklifleri kabul ya da reddetmesi “ai_acceptance” alanında kodlanabilirken “should_ai_propose” alanı yapay zekâyı onu teklif etmekten alıkoymanızı sağlıyor.

Son olarak modcuların bilmesi gereken bir şey de senkronize yerelleştirmede yaptığımız değişiklikler. Daha doğrusu onu tamamen kaldırmış olmamız. Yani eskiden kullanıldığı her yerde artık normal yerelleştirme sistemini kullanıyoruz. Bunun sağladığı faydalar aşağıdaki gibi:
  • Multiplayer oyunculardan biri Çince diğeri İngilizce oynuyorsa bile çalışacak (Mevcut durumda çalışmıyor.)
  • Tüm isimleri diğer dillere çevirmek artık teorik olarak mümkün (Ne yazık ki bunu yapacağımıza söz veremem çünkü Avrupa dillerinin karmaşık gramerleri var ve henüz buna ilişkin mantıklı bir çözüm yolu bulamadık. Yine de mümkün olması bile güzel.)
 
Maalesef şöyle özetleyebileceğimiz birtakım zorluklar da var: özellikleri bir şey adlandırıldığında olduğu gibi kaydetmemiz (diğer bir deyişle özellik değişebiliyor fakat bu durum nasıl yerelleştirildiğini etkilemiyor) ve hangi dilde oynarsanız oynayın doğru biçimde yerelleştirildiğinden emin olmamız gerekiyor.

Yani isim ayarlarken köşeli parantez kullanmak istiyorsanız ismi belirlediğiniz yere girmeniz gerekiyor, örneğin:

Kod:
set_name = {
                    key = "NAME_Absorbed_Species"
                    variable_string = "[Root.GetSpeciesNamePlural]"
                }
NAME_Absorbed_Species:0 "Absorbed [Root.GetSpeciesNamePlural]"

random_names dizinindeki imparatorluk isimleri artık bu amaca hizmet etmesi için yeni bir "lookups" satırına sahip:

Kod:
# Imperial Spiritualist 2
empire_name_format = {
    random_weight = {
        factor = 0
        modifier = {
            add = 1
            has_government = "gov_theocratic_monarchy"
            is_pirate = no
            is_primitive = no
            NOT = { is_country_type = fallen_empire }
            NOT = { is_country_type = awakened_fallen_empire }
        }
    }
    lookups = "<imperial_spi> [This.Capital.GetName]"
    format = format.imp_spi.2 # <imperial_spi> of [This.Capital.GetName]
    noun = format.homeworld # [This.Capital.GetName]
    prefix_format = format_prefix.imp_spi.2 # [This.Capital.GetName] <imperial_spi>
    # Empire of Earth
}

İsimlerin betikte tanımlandığı durumlarda, ki bu durum modlarda epey yaygın, muhtemelen önceden çalıştığı gibi çalışmaya devam edecektir. Bunu tamamen garanti edemem çünkü daima çevrilmiş isimler kullanan Çince çevirileri bozabildiğinden bu fonksiyonu bizzat kullanmıyoruz.

Her köşeli parantezin C++ kodunda çalışması gerekiyor. Kullanmak isteyebileceğiniz her durumu kapsamak için elimizden geleni yaptık fakat atladıklarımız olabilir. Eğer kaçırdığımız dikkat çekici durumlar varsa lütfen hata raporu gönderin.

Bekleyin, dahası var:

Nivarias bu hafta Progenitor Hive origin'ini tanıttı.

unknown.png

Başlangıçta Progenitor vardı.

Ana gezegeninizde yaşam sert ve çekişmeliydi, yine de ihtişamlı Progenitor topraklarını genişletiyordu. Bu denli geniş topraklara hükmetmek kısa zaman içinde zorlaşmaya başladı, bu yüzden Progenitor ilk Offspring'i yarattı. Offspring'in tek başına idare edemeyeceği zamanla ortaya çıktı. Yurdumuzu ehlîleştirmede yardımcı olması için dronlar üretti.

Yıldızlar arasında ilk adımlarınızı attığınızda Progenitor kendini özel bir yuvaya kapattı. Kontrol sahibi olarak Progenitor'ın nüfuzunu galaksideki tüm yıldızlara yaymaya hazırsınız. Progenitor her zaman vardı, her zaman var olacak.


Progenitor Hive origin'i Overlord'la birlikte gelecek olan yeni bir Hive Mind origin'i, bu yüzden oynanması için Utopia da gerekiyor.

Kovan büyük oranda kuvvetli Offspring'in varlığına bel bağlıyor. O yakındayken kovan gelişiyor ve büyük efektiflikle çalışıyor.

Offspring Vessel'ları filolarınıza dâhil ederek gemilerinizin sahip olduğu eksileri azaltan bir etki alanına sahip olabilirsiniz. İmparatorluğunuzun aynı anda sahip olabileceği Offspring Vessel sayısı Titan'lara benzer şekilde toplam donanma kapasitenizle sınırlanıyor. Offspring Vessel'lar bir havuzu paylaşıyor, büyük gemiler havuzun daha büyük kısmını işgal ediyor.

unknown.png

İmparatorluğunuzu koruyan bir yıldız üssü binası da var, gemilerden daha büyük katkı sağlıyor.

unknown.png

Offspring Nest, normal kovanların sahip olduğu Spawning Pool'ların yerini alıyor. Her gezegeninizde bunlardan birer tane bulundurmak isteyeceksiniz.

unknown.png

Offspring Drone işini yapanın olduğundan emin olun, aksi takdirde kolonilerinizdeki yönlendirilmeye muhtaç dronlar zorluk çekecektir.

unknown.png

Progenitor Hive'daki liderler sabit bir hızda pasif olarak deneyim kazanıyor, diğer imparatorlukların liderlerinden çok daha hızlı biçimde beceri seviyesi alıyorlar. Deneyim arttırıcı veya diğer deneyim kaynakları olmadan her yıl pasif olarak aşağı yukarı bir seviye kazanıyorlar.

Diğer kovanların aksine Progenitor sektörleri vasal olarak serbest bırakabiliyor ve sektörün kaderini Progenitor statüsüne yükselerek yeni imparatorluğun hükümdarı olan bir Offspring'in ellerine bırakıyor. Serbest bırakılan Progenitor bağlı devletleri Progenitor Hive origin'ini sahip olduğu tüm bonuslar ve eskilerle imparatorluğunuzdan alıyor.

unknown.png

Progenitor Hive olmayan bir bağlı devlete sahip olursanız gezegenlerinde Offspring Nest inşa ederek dro- yani işçilerini denetleyebilirsiniz. Sonuçta aynı şeyler, değil mi?

unknown.png

Ayrıca tanıtacağımız bir yerleşim (Progenitor Hive ile alakalı değil) daha var!

Environmentalist civic'ine sahip süzerenler, bağlı devletin gezegenindeki consumer goods kullanımı düşürüp lonca var olduğu sürece kaldırılamayan bir Nature Preserve engeli ekleyen bir Range Lodge inşa edebiliyor.

unknown.png

unknown.png

Range Lodge yalnızca engellenebilir district'lere sahip olan doğal gezegenlerde inşa edilebiliyor; Ecumenopolis, Hive World, Machine World ve Relic World'lerde inşa edilemiyor.

Overlord'u istek listenize ekleyin!
IbnE9P2.gif
Ara
Cevapla
#2
Bu yamadaki micromanagement değişiklikleri favorim. Özellikle Auto Resettlement iyileştirmeleri güzel olmuş.
tTRiYax.png
Ara
Cevapla
 




Konuyu Okuyanlar: 1 Ziyaretçi



Strategyturk Forumları

Strategyturk Forumları tüm Türk stratejiseverler için büyük ve kaliteli bir platform olma amacı güder. Forum içerisinde çok sayıda strateji oyunu için bölüm ve bu bölümlerde haber konuları, rehberler, mod tanıtımları, multiplayer etkinlikleri ve üye paylaşımları için alanlar yer alır.