Saya perlu menyimpan beberapa data game khusus. Peta, pemain, dll.
Semuanya akan memiliki "sub objek". Misalnya, peta dan peta akan memiliki "larik" ubin. yaitu, data hierarkis. Semoga tidak ada biner.
Apa format yang baik untuk ini?
Sejauh ini saya telah mempertimbangkan:
Serailization: Ini CEPAT dan mudah, tetapi cenderung rusak ketika saya mengubah kelas yang mendasarinya :(
XML: Saya sangat benci menguraikan ini. Kasing pengujian saya adalah lebih dari 100 baris kode dan sepertinya banyak sekali "pekerjaan sibuk" bahkan untuk format yang sangat sederhana.
INI: akan sangat janggal untuk data hierarkis.
Protobuf: Tidak pernah menggunakannya, tetapi membaca Anda harus melakukan banyak manual mucking dan istirahat jika Anda mengubah kelas.
Pilihan lain? Itu sebabnya saya di sini!
Sunting: ini adalah Java btw.
Edit 2:
Saya memilih "Serialisasi Biner Terkendali" (lihat di bawah).
Pro:
itu cepat
itu kecil (pada disk) dan dapat dengan mudah dikompresi / didekompresi saat membaca / menulis.
sangat mudah untuk membaca / menulis dari game dan toolset.
Saya dapat memutuskan apa yang akan disertakan / dikecualikan dari objek.
Objek / Data dapat disarangkan.
Cons:
Tidak dapat mengeditnya dengan tangan (seperti XML, YAML, dll)
Tidak dapat dengan mudah membaca / memodifikasinya dengan skrip
Serialisasi Java secara default cukup lambat / kembung dibandingkan dengan implementasi lain, tetapi stabil dan berfungsi