Geliştirici Günlüğü #11: Sınırlı yayılım ve en yakın kaynak

Kısaca: Bir strateji haritasında her başkent seçilen maliyet sınırına kadar ulaşabildiği yerlere yayılır. MKA Engine bu hesabı çok sayıda kaynak için birlikte yapabilir; yalnızca erişilebilir ve uygun grupta kaynağı bulunan yerler kendi gruplarının en düşük maliyetli kaynağıyla eşleşir, uygun kaynak yoksa eşleşme olmaz. Oyun ölçeğine yakın, 30.000 konum ve 282 kaynaklı ölçümde bu yol 13,1 ms; kaynak başına hesaplama ve birleştirme 2.691,8 ms sürdü; bu, tam oyun günü değil, belirli bir harita hesabının ölçümüdür.
Sonradan eklenen ölçüm notu (28 Ekim 2026): Günlüğün özgün içerik tarihi 17 Ekim 2026 olarak korunuyor; aşağıdaki ana karşılaştırma bu sonraki tarihteki yedi turlu ölçüm kaydından geliyor.
Neden her başkentten ayrı hesaplamak pahalıydı?
Her başkentten haritada bir mürekkep damlası gibi yayılım başlatıldığını düşünelim. Eski yaklaşımda her kaynak için maliyet sınırına kadar erişilebilen yerler ayrı hesaplanıyor, ardından sonuçlar birleştiriliyordu. Kaynak sayısı ve erişilebilen yerler arttıkça birleştirilecek sonuçlar da büyüyordu.
Ne değişti?
MKA Engine artık birçok kaynağın yayılımını tek bir hesapta yürütebiliyor. Oyun, her kaynağın seçilen maliyet sınırına kadar hangi yerlere erişebileceğini belirliyor. Yakın kaynak hesabında oyun yerleri gruplara ayırabilir. Yalnızca erişilebilir ve uygun grupta kaynak bulunan yerler eşleşir; bunlar arasından en düşük maliyetli kaynak seçilir. Uygun kaynak yoksa eşleşme oluşmaz.
Böylece aynı haritadaki kaynak sonuçları birlikte görülür; eşleşmenin anlamını yine oyunun maliyet kuralı ve grup seçimi belirler.

Ölçümlerde ne gördük?
28 Ekim ölçümü 30.000 konumlu bir haritada 282 kaynak kullandı; sonuçlar yedi turun ortancasıdır. Makine başka işlerle paylaşılıyordu; kayıtlı sistem yükü değerleri 13,8 / 21,0 / 23,4 idi. Bu yüzden mutlak süreler yalnız bu koşullar için geçerlidir.
| Yol | Ortanca süre |
|---|---|
| Çok kaynaklı yeni hesap | 13,1 ms |
| Kaynak başına hesap ve sonuçları birleştirme | 2.691,8 ms |
Ölçüm süreleri, sonuçların iki sütuna yazılması dahil ilgili motor adımının duvar süresidir; salt hesaplama süresi değildir.
Bu senaryoda 282 kaynak vardı ve maliyet sınırı 226 birimdi. Bu değer örnek harita koşuludur, motorun üst sınırı değildir. Aynı ölçümde daha dar, ülke ölçeğine benzeyen 24 birimlik sınırda yeni yol 8,2 ms, kaynak başına yol 83,3 ms sürdü. Bu sayılar da aynı karşılaştırmanın sonuçlarıdır.
Neden böyle seçtik?
Yakınlık, pazar erişimi ve ikmal aynı temel soruyu sorabilir: Bu yer, kendisi için geçerli ve ulaşılabilir kaynaklardan hangisine daha düşük maliyetle ulaşır? Oyunun hangi kaynakları ve grupları seçeceği değişebilir; hesaplama ise aynı temel işlem olarak kalır.
Bedeli ne?
Sonuç, yalnız en yakın yer için değil, haritadaki her konum için bir değer taşır. Bu ölçümlerde tam oyun turu ve oyunun kendi arazi ya da yol maliyetleri kullanılmadı; gerçek bir senaryodaki toplam süreyi göstermez.
Sırada ne var?
Oyunun kendi maliyet kurallarıyla tam tur süresi bu ölçümlerin kapsamında değildi. Buradaki sonuçlar yalnız kaynak bulma hesabını karşılaştırıyor.
Sık sorulanlar
Sınırlı yayılım ne işe yarar?
Bir kaynaktan başlayıp oyun tarafından seçilen maliyet sınırına kadar ulaşılabilen yerleri bulur. Birden çok kaynak aynı haritada ayrı ayrı kullanılabilir.
En yakın kaynak nasıl seçilir?
Oyun yerleri gruplara ayırabilir. Yalnızca erişilebilir ve uygun grupta kaynak bulunan yerler en düşük maliyetli kaynakla eşleşir; uygun kaynak yoksa eşleşme oluşmaz.
226 birim motorun sınırı mı?
Hayır. Bu, ölçümde kullanılan oyun ölçeğine yakın örnek sınırdır. Başka bir oyun farklı maliyet ve sınır seçebilir.
13,1 ms tam oyun gününün süresi mi?
Hayır. 13,1 ms, 30.000 konum ve 282 kaynaklı ölçümde sonuçları iki sütuna yazma dahil motor adımının duvar süresidir; salt hesaplama süresi değildir. Tam tur ve oyuna özgü maliyet formülleri ölçülmedi.
Bu günlük hakkında sorularınız ya da önerileriniz varsa iletişim sayfasından yazabilirsiniz. Motorun genel tanıtımı için MKA Engine, bütün yazılar için Geliştirici Günlükleri sayfasına bakabilirsiniz.