Bazı özel oyun verilerini kaydetmem gerekiyor. Harita, oyuncu vb.
Hepsinde "alt nesneler" olacak. Örneğin, bir harita ve harita bir "kiremit dizisine" sahip olacaktır. yani, hiyerarşik veri. Umarım ikili bir şey değil.
Bunlar için iyi bir format ne olurdu?
Şimdiye kadar düşündüm:
Serailization: Bu HIZLI ve kolay, ancak altta yatan sınıfları değiştirdiğimde kırılma eğiliminde.
XML: Bunu ayrıştırmaktan gerçekten nefret ediyorum. Test davam 100'den fazla kod satırından oluşuyordu ve çok basit bir format için bile tonlarca "yoğun iş" seviyor gibiydi.
INI: hiyerarşik veriler için gerçekten sakar olurdu.
Protobuf: Hiç kullanmadım, ama sınıfı değiştirirseniz, elinizde çok fazla manuel zorlama ve kırılma yapmanız gerektiğini okuyun.
Diğer seçenekler? Bu yüzden buradayım!
Düzenleme: bu Java btw.
Düzenleme 2:
"Kontrollü İkili Serileştirme" konusuna yerleştim (aşağıya bakınız).
Artıları:
hızlı
küçük (diskte) ve okuma / yazma sırasında kolayca sıkıştırılabilir / açılabilir.
Oyun ve araç setinden okumak / yazmak çok kolay.
Nesnenin ne dahil edilmesine / hariç tutulmasına karar verebilirim.
Nesneler / Veriler iç içe geçebilir.
Eksileri:
El ile düzenleyemiyorum (XML, YAML, vb. Gibi)
Scriptlerle kolayca okuyamıyor / değiştiremiyorum
Java Serileştirmesi varsayılan olarak diğer uygulamalara kıyasla oldukça yavaş / şişirilmiş, ancak kararlı ve çalışır