Bazı üniversitelerle bir 2D platform geliştiriyorum. Döşeme haritasını saklamak için .txt dosyalarını kullanan XNA Platformer Başlangıç Seti'ni temel aldık. Bu basit olsa da, seviye tasarımı ile bize yeterince kontrol ve esneklik sağlamaz. Bazı örnekler: birden çok içerik katmanı için birden fazla dosya gerekir, her nesne ızgaraya sabitlenir, nesnelerin döndürülmesine, sınırlı sayıda karaktere vb. İzin vermez. ve harita dosyası.
Bu, oyun sırasında kullanılacak veri yapısını değil, yalnızca karo haritalarının dosya sistemi depolamasını ilgilendirir. Döşeme haritası bir 2D diziye yüklenir, bu nedenle bu soru diziyi hangi kaynağın dolduracağı ile ilgilidir.
DB için akıl yürütme: Benim bakış açımdan, döşeme veri depolamak için bir veritabanı kullanarak daha az veri artıklığı görüyorum. Aynı özelliklere sahip aynı x, y pozisyonundaki karolar seviyeden seviyeye tekrar kullanılabilir. Veritabanından belirli bir düzeyde kullanılan tüm karoları almak için bir yöntem yazmak için yeterince basit gibi görünüyor.
JSON / XML için gerekçe: Görsel olarak düzenlenebilir dosyalar, değişiklikler SVN üzerinden çok daha kolay takip edilebilir. Ancak tekrarlanan içerik var.
Ya diğerine kıyasla herhangi bir dezavantajı (yükleme süreleri, erişim süreleri, bellek vb.) Var mı? Ve endüstride yaygın olarak kullanılan nedir?
Şu anda dosya şöyle görünüyor:
....................
....................
....................
....................
....................
....................
....................
.........GGG........
.........###........
....................
....GGG.......GGG...
....###.......###...
....................
.1................X.
####################
1 - Oyuncu başlangıç noktası, X - Seviye Çıkış,. - Boş alan, # - Platform, G - Mücevher