Geliştirici günlüğü

Geliştirici Günlüğü #8: Modlar oyuna nasıl katılır?

Modlar oyuna içerik, kural ve davranış ekler. Aynı bölüm çakışmalarını, çok oyunculu mod listesi uyumunu ve oyun adımındaki mod hatasının nasıl raporlandığını açıklıyoruz.

İçindekiler
Mum ışığında bir atölyede büyük bir masa haritası var. Solda bir kâtip harita üzerindeki eyalet kartlarını ve fermanları düzenliyor; sağda bir usta, haritanın altındaki cam kasanın içine yeni bir dişli mekanizma yerleştiriyor.

Kısaca: MKA Engine modları oyuna yeni içerik, kural ve davranışlar ekleyebilir. Taşınabilir mod, motorun ayrı bir çalışma ortamında yürüttüğü eklentidir. Ayrıca, oyun adımı sırasında hata veren böyle bir modun durdurulup adıyla raporlandığı bir örneği açıklıyoruz.

Mod özgürlüğü hangi yeni riskleri getiriyor?

Bir strateji oyununun modu yeni bir olay ya da görünüm ekleyebilir; kimi modlar oyunun kurallarını veya düzenli çalışan davranışlarını da değiştirir. Bu özgürlük, başka modlarla aynı içerik öğesinin aynı bölümünü değiştirme ve yanlış veriyle oyunun akışını bozma ihtimalini de getirir. Bu yüzden yalnızca “modlar neler ekleyebilir?” sorusuna değil, değişikliklerin nasıl sıralandığına ve bir hata oluştuğunda hangi parçanın etkilendiğine de cevap vermek gerekir.

İçerik, kurallar ve taşınabilir davranışlar

MKA Engine modlara üç tür katkı için yol açıyor. İlki, olay, karar ve benzeri oyun içeriğini eklemek veya var olan bir içerik öğesinin tamamını ya da bir bölümünü değiştirmek. Modlar belirli bir sırayla uygulanıyor. İki mod aynı içerik öğesinin aynı bölümünü değiştirirse motor çakışmayı bildiriyor; yükleme sırasındaki sonraki değişiklik oyunda geçerli oluyor. Farklı bölümlere yapılan kısmi değişiklikler tek başına otomatik çakışma sayılmıyor.

İkinci tür katkı, oyun kuralları. Bir koşul, bir olayın hangi durumda açılacağını belirleyebilir; bir etki de kararın dünya üzerindeki sonucunu değiştirebilir. Bu yaklaşımın temelini Günlük #5'te anlattığımız kural dili oluşturuyor.

Daha geniş davranışlar gerektiğinde, MKA Engine taşınabilir modların oyun dünyasında çalışmasına izin verir. Böyle bir mod yeni oyun verileri ve dünya ilerlerken çalışan davranışlar tanımlayabilir. Motor, modun hangi verilere hangi koşullarda erişebileceğini sınırlar; her davranış oyunun kendisine açtığı sınırlar içinde kalır.

Harita üzerindeki içerik taşları, bir terazide temsil edilen kural değişiklikleri ve haritaya bağlı dişlilerle yeni davranışların üç ayrı katkı türü olarak gösterilmesi

Çakışma ile oyun adımı hatası nasıl ayrılıyor?

Modlar arasındaki içerik çakışması ile taşınabilir modun oyun adımında hata vermesi ayrı durumlardır. Aynı içerik öğesinin aynı bölümündeki çakışmada motor hangi değişikliğin geçerli olduğunu bildirir. İncelenen örnek oyun adımı hatasında mod durdurulur; raporda modun adı ve adımın olağan çıktısı yer alır.

Tek bir taşınabilir mod düzeneği şeffaf bir sınır içinde çevresinden ayrılmış; görsel, yalnız oyun adımındaki hata sonrasında o modun durdurulmasını simgeliyor

Bu örnek yalnızca oyun adımındaki bu hata yolunu anlatıyor.

Çok oyunculu oyunlarda her bilgisayarın aynı mod listesiyle çalışması gerekir; yoksa aynı komutlar farklı dünyalar doğurabilir. Kayıt dosyası da hangi modlarla oynandığını saklar. Varsayılan açılış yolu kayıt ile yüklü modlar uyuşmadığında oyunu reddeder. Uyarı vererek açmaya izin veren ayrı bir yol da vardır; bu, farklı modların aynı sonucu üreteceğinin garantisi değildir. Bu tutarlılık gereksinimini Günlük #2'te ele almıştık.

Modları koruyup etkilerini sınırlandırmak

Modların oyun dünyasını genişletmesi, motora sınırsız erişim verilmesini gerektirmiyor. İçerik çakışmasının görünür olması da mod yazarına hangi değişikliğin sonuç verdiğini anlatıyor.

Hata veren modun oyuncuya etkisi

Mod durduğunda oyuncu, onun eklediği bir davranıştan yararlanamayabilir.

Mod desteğinin kapsamı

Bu günlük, modların içerik ve davranış katkılarına odaklanıyor; tam bir mod hazırlama kılavuzu veya performans ölçümü sunmuyor.

Sık sorulanlar

Bir mod oyunun her bölümünü değiştirebilir mi?

Hayır. Mod, motorun ve oyunun kendisine açtığı veri ve davranış alanları içinde çalışır.

Hangi mod değişiklikleri çakışma sayılır?

İki mod aynı içerik öğesinin aynı bölümünü değiştirirse motor çakışmayı bildirir; yükleme sırasındaki sonraki değişiklik geçerli olur. Farklı bölümlere yapılan kısmi değişiklikler tek başına otomatik çakışma sayılmaz.

Taşınabilir mod oyun adımında hata verirse ne olur?

İncelenen bu oyun adımı hatasında mod durdurulur; raporda adı ve adımın olağan çıktısı yer alır. Bu yanıt yalnızca bu örnekle sınırlıdır.

Kayıt başka modlarla açılabilir mi?

Varsayılan yol mod listesindeki farkı reddeder. Uyarı vererek açmaya izin veren ayrı bir seçenek vardır; bu seçenek dünyaların eşit kalacağını garanti etmez.

Kaynaklar ve bağlantılar

Kaynaklar ve ilgili belgeler

Bunlar da ilginizi çekebilir