Je dois sauvegarder des données de jeu personnalisées. Carte, joueur, etc.
Tous auront des "sous-objets". Par exemple, une carte et une carte auront un "tableau" de tuiles. c'est-à-dire des données hiérarchiques. Espérons que rien n'est binaire.
Quel serait un bon format pour ceux-ci?
Jusqu'ici, j'ai envisagé:
Sérialisation: C’est rapide et facile, mais a tendance à casser lorsque je change de classe :(
XML: Je déteste vraiment analyser cela. Mon cas de test comptait plus de 100 lignes de code et semblait plaire à des tonnes de "travail occupé", même pour un format très simple.
INI: serait vraiment maladroit pour les données hiérarchiques.
Protobuf: Je ne l' ai jamais utilisé, mais lisez, vous devez faire beaucoup de travail manuel et casser si vous changez de classe.
Autres options? C'est pourquoi je suis ici!
Edit: il s'agit de Java.
Edit 2:
J'ai opté pour la "sérialisation binaire contrôlée" (voir ci-dessous).
Avantages:
c'est rapide
il est petit (sur disque) et peut être facilement compressé / décompressé en lecture / écriture.
c'est super facile à lire / écrire à partir de jeux et d'outils.
Je peux décider quoi inclure / exclure de l'objet.
Les objets / données peuvent être imbriqués.
Les inconvénients:
Impossible de l'éditer à la main (comme XML, YAML, etc.)
Ne peut pas facilement lire / modifier avec des scripts
La sérialisation Java par défaut est assez lente / gonflée par rapport aux autres implémentations, mais elle est stable et fonctionne