Geliştirici Günlüğü #1: Sayılar, şans ve takvim

Kısaca: Aynı başlangıç durumu ile aynı tam oyun komutları dizisi, her bilgisayarda aynı oyun dünyasını üretmelidir. MKA Engine sayıları ve şansı ortak kurallarla hesaplar; #1'in 10 Ekim 2026 içerik tarihinde oyun takvimi yılda 365 gün sayıyordu. 2 Kasım 2026 içerik tarihli #30, sonradan eklenen Gregoryen seçeneği anlatır.
Aynı dünyanın hesabı neye bağlı?
Strateji oyunları aynı anda nüfusu, kaynakları, sınırları ve olayları hesaplar. Ufak bir hesap farkı her gün yeni kararlara dönüşebilir; farklı bilgisayarların dünyaları zamanla birbirinden ayrılabilir. Bu nedenle sayıların, şansın ve zamanın ortak bir kurala ihtiyacı var.
Sayı, şans ve takvim için ortak kurallar
Sayılar: aynı küçük adımlarla hesap
Sabit noktalı sayı, küsuratlı bir değeri seçilmiş büyüklükteki adımları sayarak temsil eder. Para hesabını kuruşla tutmaya benzer; ancak her değer seçilen adımın tam katı değildir. Değer iki temsil edilebilir adımın arasındaysa, en yakını seçilir ve temsil edilen değer yaklaşık olur. MKA Engine bu yuvarlama kuralını açıkça belirler; aynı işlem farklı makinelerde aynı kuralla sonuçlanır.

Bu yaklaşım her ondalık değeri kusursuz temsil ettiği anlamına gelmez. Önemli olan, mevcut en yakın adıma nasıl gidileceğinin belirli olması ve bütün bilgisayarlarda aynı şekilde uygulanmasıdır.
Şans: her sonuç kendi oyun olayına bağlı
Tek bir ortak zar destesi düşünelim: araya başka bir çekiliş girerse, daha sonra beklenen bütün sonuçlar kayabilir. MKA Engine bunun yerine her çekilişi onu isteyen oyun durumuyla ilişkilendirir. Böylece ilgisiz bir olayın daha erken ya da başka bir yerde hesaplanması, bu çekilişin sonucunu değiştirmez.

Zaman: oyuna ait bir takvim
#1'in 10 Ekim 2026 içerik tarihli açıklamasında motorun takvimi yılda 365 gün ve on iki ay kullanıyor, artık gün eklemiyordu. Bu, bilgisayarın gerçek saatinden bağımsız bir oyun takvimiydi. Oyunun seçimine göre bir gün, daha kısa aralıklara bölünebilir ya da bir adım birkaç takvim gününü kapsayabilirdi.
Sonradan eklenen seçenek (içerik tarihi: 2 Kasım 2026): MKA Engine artık her oyun için 365 günlük veya Gregoryen takvim seçeneği sunuyor. Bu gelişme, 10 Ekim tarihli açıklamadan sonradır; ayrıntıları Geliştirici Günlüğü #30: Artık yıllı takvim ve oyun zamanı anlatıyor.

Tutarlı sonuçlar hangi işleri mümkün kılıyor?
Aynı başlangıç durumu ve oyun boyunca verilen komutların tamamı aynı olduğunda, hesap, çekiliş ve takvim her bilgisayarda aynı kuralları izler. Bu tutarlılık; kayıtlı bir oyunu sürdürmenin, aynı oyunu yeniden yürütmenin ve çok oyunculu dünyaları eşleştirmenin temelini oluşturuyor. Bu yazıda hız karşılaştırması sunmuyoruz.
Hesaplamayı, şansı ve zamanı neden birlikte ele aldık?
Oyun kuralları farklı bilgisayarlarda da aynı sonucu üretmeli. Hesaplamayı, şansı ve takvimi tek bir tutarlı modele bağlamak, bu beklentiyi oyunun her gününe taşıyor. Çok oyunculu kullanımın bu temele nasıl dayandığını Geliştirici Günlüğü #2 anlatıyor.
Tutarlılığın temsil sınırları
Sabit adımlı hesapta her küsurat tam temsil edilemez; değerler seçilen adıma göre yuvarlanır. Takvim sınırı ise #1'in 10 Ekim 2026 içerik tarihli kapsamına aittir; sonradan eklenen Gregoryen seçenek #30'da anlatılır.
Çok oyunculu dünyalara geçiş
Bir sonraki günlükte aynı oyun dünyasını birden fazla bilgisayarda nasıl eşit tuttuğumuzu ele alıyoruz.
Sabit noktalı sayı ne demek?
Küsuratlı değerleri belirli büyüklükteki adımlarla temsil eder. Değer seçilen adımların tam katı değilse, en yakın adımla yaklaşık gösterilir; motorun yuvarlama kuralı bu seçimi belirler.
Aynı şans olayı neden aynı sonucu verir?
Çekiliş, onu isteyen oyun durumuna bağlıdır. Başka bir olayın önce hesaplanması bu sonucu kaydırmaz.
Takvim gerçek dünyadaki tarihleri izliyor mu?
#1'in 10 Ekim 2026 tarihli kapsamındaki 365 günlük takvim artık gün eklemiyordu. İçerik tarihi 2 Kasım 2026 olan #30, 365 günlük seçeneğin yanında seçilebilir Gregoryen takvimi de anlatıyor; oyun bu iki seçenekten birini kullanır.
Kaynaklar ve bağlantılar
- Çok oyunculu tutarlılık için Geliştirici Günlüğü #2.
- Motorun genel tanıtımı için MKA Engine, bütün yazılar için Geliştirici Günlükleri sayfasına bakabilirsiniz.