Daten(Spielstände oder auch andere gespeicherte Daten) binär oder als Text speichern?



  • Hi
    Ich habe gerade eine nette Diskussion darum, wie man denn Spieldaten am besten speichern sollte, ich sage man sollte das ganze binär speichern. Der andere hingegen meint als Text(nicht XML).
    Ich wollt mal frage, was ihr so denkt?



  • kommt drauf an, ob benutzer des spiels die daten verändern dürften, z.b. um mods zu erstellen. beispiel: GTA III, in noch weiterem maße Vice City.

    oder willst du kleine kinder davon abhalten, im spieleordner unfug zu betreiben?
    dann binär + lustiger endung.

    bei den binär-dateien sparst du dir das parsen der text-daten, davon sind sie, z.b. für testzwecke, einfach "von außen" zu bearbeiten, ich denke, das kommt immer auf den einsatz zweck an.



  • Bloß nicht diesen XML Schrott. Einfach binär dumpen und fertig.



  • T2.0 schrieb:

    Einfach binär dumpen und fertig.

    das ist eine schlechte Idee, da du so sehr unportabel wirst. Und unportabel kann schon damit zu tun haben, dass du eine neuen Compilerrelease benutzt.



  • Xantus schrieb:

    oder willst du kleine kinder davon abhalten, im spieleordner unfug zu betreiben?
    dann binär + lustiger endung.

    Das kannst auch mit einer textbasierten Serialisierung erreichen. z.B. eine Checksum mitspeichern die evtl. modifizierte Spielstände einfach als korrupt erkennt.



  • Mehraufwand++

    Ihr müsst mal lernen die Kirche im Dorf zu lassen. Für sein kleines Hobbygamechen, was vielleicht 5 Leute gamen werden, lohnt es sich doch nicht, so einen großen Aufwand zu betreiben. Meinen Vorschlag halte ich nach wie vor für den besten. Der Kosten/Nutzen Faktor ist hier das entscheidende Kriterium IMHO.



  • Nagut, jetzt hat er einige Möglichkeiten, sowie die Vor- und Nachteile und kennt sogar noch einen "professionellen" Weg... picobello.. er kann auswählen...



  • T2.0 schrieb:

    Bloß nicht diesen XML Schrott. Einfach binär dumpen und fertig.

    Wie dumpt man am einfachsten binär?



  • du Spacko schrieb:

    T2.0 schrieb:

    Bloß nicht diesen XML Schrott. Einfach binär dumpen und fertig.

    Wie dumpt man am einfachsten binär?

    struct Foo { int x; int y; char name[256]; int score; }
    
    struct Foo foos[256];
    FILE* file = fopen(filename, "w");
    fput(foos, sizeof(struct Foo), 256, file);
    fclose(file);
    

    geht aber nur, wenn Foo keine Zeiger auf irgendwas enthaellt.


Anmelden zum Antworten