Geliştirici Günlükleri

MKA Engine'i geliştirirken tuttuğumuz günlükler: neyi neden böyle kurduğumuz ve ne ölçtüğümüz.

MKA Engine'i geliştirirken tuttuğumuz günlükler. Her günlükte bir kararı, nedenini ve ölçtüğümüz sonucu yazıyoruz. Motorun kendisi için MKA Engine sayfasına bakın.

Geliştirici Günlükleri

Geliştirici Günlüğü #20: Aile ağacı ve veraset yasası

· Ayrı sayfada aç

Bir aile ağacı, dallar arasında aktarılan bir taç ve ayrı bir unvan zinciri

Kısaca: MKA Engine, aile bağlarını ve unvanlar arasındaki düzeni oyunun belirlediği verilerden bulmaya yardımcı olur. Oyun isterse kendi veraset yasasını kullanarak mirasçı adaylarını sıralatabilir. Kime unvan verileceğine ve kuralın ne anlama geldiğine oyun karar verir.

Sorun ne idi?

Bir hükümdar öldüğünde oyunun yanıtlaması gereken birkaç ayrı soru vardır: Kimler akraba? Unvanlar—oyunda izlenen makam veya rütbeler—nasıl sıralanıyor? Veraset yasasına göre hangi aday önce gelir? Bunlar birbiriyle bağlantılıdır, ama aynı karar değildir. Aile ağacı kişilerin bağlarını, unvan düzeni makamların ilişkisini, veraset kuralı da oyunun seçimini anlatır.

MKA Engine bu ilişkiler arasında gezinmeye ve oyunun verdiği kuralları uygulamaya yardım eder. Aileyi, unvanları veya miras yasasını kendisi icat etmez. Bu sınır, strateji oyunlarının farklı hanedan ve veraset kuralları kurabilmesini sağlar.

Aile bağları: atalar, torunlar ve akrabalık

Oyuna içerik ve kurallar ekleyen bir mod paketi, aile bağlarını sağlayabilir. Motor bu bilgilerden bir karakterin atalarını ve torunlarını bulur. İki kişi arasındaki akrabalık uzaklığı, aralarındaki en kısa ebeveyn yolundaki bağların sayısıdır. Oyunun verdiği aile ilişkilerinin ötesindeki biyografi veya hanedan anlamı motorun kararı değildir.

Bu ayrım aile kuralı kurarken işe yarar. Örneğin sınama aile ağacında iki kuzen ortak ataya uzanırken, dışarıdan biriyle arama sınırı içinde ortak ata bulunmadı. Bir oyunun elinde evlilik veya başka bir seçim için aday listesi varsa, motor hayatta olmayan adayları ve oyunun koyduğu yakınlık sınırına uymayanları eleyebilir; kalanları oyunun verdiği önceliğe göre sıralayabilir. Adayları kimin belirlediği, hangi yakınlığın uygun olduğu ve evliliğe izin verilip verilmediği oyunun kuralıdır.

Oyun, aynı aile dalından saydığı kişileri bir soy grubu olarak tanımlayabilir. Motor bu gruptaki yaşayan kişileri listelemeye yardımcı olur; grubun hanedan mı, aile dalı mı sayılacağını oyun belirler.

Unvan düzeni aile ağacından farklı

Aile ağacı insanlar arasındaki ebeveyn bağlarını gösterir. Unvan düzeni ise bir makamın başka bir makamın üstünde veya altında bulunmasını anlatır. Bir unvanın üstünde başka bir unvan bulunması, o iki unvanın sahiplerinin ebeveyn ve çocuk olduğu anlamına gelmez.

Solda ortak atadan ayrılan karakterleri gösteren aile ağacı, sağda kişilerden bağımsız unvan hiyerarşisi

MKA Engine, oyunun tanımladığı bu düzen içinde üstteki veya alttaki unvanları bulmaya yardımcı olur. Oyun bir unvanın yerini değiştirmek isterse, yeni düzenin bir unvanı izleyerek başlangıçtakine geri dönen bir döngü yaratıp yaratmayacağını da sorabilir. Motor sonucu bildirir; unvan düzenini değiştirme kararı yine oyundadır.

Veraset: oyun seçer, motor adayları sıralar

Veraset, mevcut unvan sahibinden sonra kimin gelebileceğini belirleyen oyun kuralıdır; motor desteği isteğe bağlıdır. Oyun kendi yasasını içerik olarak tarif edip bu desteği kullanırsa motor yaşayan mirasçı adaylarını bulabilir, oyunun uygunluk koşullarını uygulayabilir ve yasada belirtilen sıraya koyabilir. Örneğin bir yasa daha yakın kuşakları önceleyip aynı kuşaktakilerden daha yaşlı olanı öne alabilir; başka bir oyun başka bir kural seçebilir.

Bir sınama oyununda, ilk sıradaki aday sonraki oyun adımında öldüğünde sonraki adaylar yeni sırayla öne çıktı. Bu, sonuç listesinin değişmiş oyun durumunu izleyebildiğini gösteren örneklerden biridir. Motor aday listesini sağlar; unvanı kime vereceğini ve bu değişikliği oyuna nasıl uygulayacağını oyun belirler.

Aile kayıtları ve oyun yasası adayları sıralıyor; unvanın yeni sahibini oyun kendi verisine yazıyor

Sınamalar ne gösteriyor?

Sınamalar, aile bilgilerinden beklenen ilişkilerin ve aday filtrelerinin çıktığını; unvan düzeninde döngüye yol açacak değişikliğin tanındığını; isteğe bağlı veraset yolunun da oyunun yasasına göre sıralama yaptığını doğruluyor.

Ayrı bir simülasyonda, aile, unvan düzeni ve veraset özellikleri kullanılmadan gün ilerleyişi ölçüldü. Günlük sonuç özetleri aynı kaldı; sürelerdeki küçük değişimler, tekrarlı ölçümlerde görülen olağan oynaklık sınırındaydı. Bu ölçüm, özellikler etkin biçimde kullanıldığında aramaların hızını göstermiyor; bu konuda performans iddiasında bulunmuyoruz.

Neden böyle seçtik?

Aile bağlarının ve unvanların oyunda ne ifade ettiğini her oyun farklı belirleyebilir. Motorun ortak ilişkileri bulmaya yardım etmesi, bu kuralları tek bir hanedan veya miras modeline sabitlemeden tekrar kullanılabilir kılar. Oyunun kendi yasasını da isteğe bağlı olarak kullanabilmesi, motor yardımıyla oyun kuralı arasındaki sınırı korur.

Bedeli ne?

Oyun aile ve unvan ilişkilerini sağlamalı, motorun veraset yolunu kullanacaksa kendi yasasını tanımlamalıdır. Etkin aile ve veraset sorularının performans maliyeti, burada aktarılan ölçümde yer almıyor.

Sırada ne var?

Bir sonraki günlükte, anlaşmaların, örgütlerin ve ülkeler arasındaki anlaşmazlıkların motorda nasıl temsil edildiğine bakacağız.

Sık sorulanlar

Motor aile ağacını kendisi mi belirliyor?

Hayır. Motor, oyunun veya mod paketinin verdiği aile bağlarını takip eder; bu bağların anlamını oyun belirler.

Akrabalık uzaklığı evlilik kararını verir mi?

Hayır. Motor, oyunun belirlediği adaylar üzerinde yakınlık hesabına yardım edebilir. Evlilik koşullarını ve sonucu oyun belirler.

Unvan düzeni aile ağacıyla aynı şey mi?

Hayır. Biri insanlar arasındaki aile bağlarını, diğeri makamların üst-alt ilişkisini anlatır.

Her oyun motorun veraset desteğini kullanmak zorunda mı?

Hayır. Oyun kendi yasasını motor desteğiyle uygulayabilir veya veraseti kendi kurallarıyla yönetebilir.

Dünya verilerinin oyunda nasıl saklandığı için Geliştirici Günlüğü #3, devlet denetiminin oyuncular arasında nasıl değiştiği için Geliştirici Günlüğü #15 yazılarına bakabilirsiniz. Daha fazla bilgi için MKA Engine ve geliştirici günlükleri sayfalarını, sorularınız için iletişim sayfasını ziyaret edin.