Wie speichert ihr eure Spiele/Gute Arten zu speichern
Übersicht

![]() |
M0rgensternBetreff: Wie speichert ihr eure Spiele/Gute Arten zu speichern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey Leute.
Ich hab mir gedacht, man könnte mal einen Thread erstellen um verschiedene Arten vorzustellen, sein Spiel zu speichern (alleinschon weil diese Frage scheinbar oft auftaucht, laut SuFu). Ich fang mal an: Ich hab mir heute Gedanken gemacht, wie ich mein Spiel speichern könnte und bin dann auch ziemlich schnell auf ne Lösung (noch ohne Code) gekommen. Kriterien waren: -X/Y Werte, Lebensenergie, Leben, Munition etc. von Spieler speichern. -X/Y Werte etc. von Gegnern und Objekten (weil zufallsgeneriert) speichern. -Datei soll nicht einfach geöffnet werden können sondern "verschlüsselt" sein. Ich hab folgende Lösung angedacht: Da es ja nur Zahlwerte sind, die gespeichert werden, könnte man diese mit Cäsar Verschlüsslung in die Datei schreiben lassen und dann dementsprechend auslesen. Lg, M0rgenstern |
||
![]() |
Kernle 32DLL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man muss einfach abwägen wie "sicher" man seine Spieldaten haben will. Generell sollte eine einfache abspeicherung in plain-byte reichen, d.h. die Werte wie sie sind in die Datei speichern. Allein dadurch wird die Datei schon etwas unübersichtlich ![]() Ansonsten zum Thema Verschlüsselung: Cäsar ist an der Stelle recht praktikabel da es recht einfach zu integrieren ist. Aber wie gesagt, du musst abwägen wieviel sicherheit du wirklich brauchst. Unter strich lässt sich aber sagen: Es ist nicht möglich ein Savegame von außen unänderbar zu machen. So long, Kernle |
||
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog] Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89 Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009 |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich merke grade, dass man den SInn dieses Threads vllt falsch verstehen kann.
Es geht darum, dass hier verschiedene Techniken zum Speichern von Spieldaten dargestellt werden. Lg, M0rgenstern |
||
![]() |
Arrangemonk |
![]() Antworten mit Zitat ![]() |
---|---|---|
speichers einfach binär(+ unlogische reihenfolge), die anordnung der vareablen rauszufinden dauert meisstens länger als das spiel durchzuspielen
und mit nem kompressionsalgorithmus und nen paar zusätzlichen nutzlosen charactern kannst du jeden entpackversuch mit nem checkum error abstrafen |
||
ingeneur |
![]() |
Firstdeathmaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja, checksum mach ich auch immer. Dann reicht es nämlich alles plain zu speichern.
Noch komfortabler geht es mit XML. Da kann man sich seine ganzen Objekte komplett so abspeichern wie man sie haben möchte. Einfach für jedes objekt eine Lade / Save Methode schreiben. Dazu kann ich das LibXML von bah (englisches Forum, bruceys module) empfehlen. Beispiel wie man dort einen Playerchar. mit 2 Items speichern würde: Code: [AUSKLAPPEN] <player name="Player1" progress="5" checksum="hkjh41237zj348zb3iuz487h3i"> <item id="sword05" slotid="0"/> <item id="shield02" slotid="1"/> </player> Man speichert alles quasi "objektorientiert". Bei großen Daten (wie kompletten Maps etc.) würde ich allerdings manuell abspeichern, da ja doch ein ziemlicher Overhead entsteht. |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
![]() |
Geeecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mh...
Die Methode von FDM ist dann aber irgendwie... sinnlos. Sie verbraucht nur unnötig Speicherplatz. Wieso speicherst du die Daten so sauber ab, mit Namen etc. XML halt, aber so, das man sie nicht verändern kann? Dazu ist's doch da, das man alles schön locker flockig ändern kann. Und wie gesagt, wenn man es nicht ändern können soll (ist möglich, aber... ne? ![]() |
||
.... |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auch wenn es nicht unbedingt das ist was Morgenstern in diesem THread sehen wollte so möcht ich zur Verschlüsselung noch was loswerden: Die einfachste ist meiner Meinung nach Xor, siehe dieses kleine Beispiel:
Code: [AUSKLAPPEN] key=123
test$="Hallo Welt!" test_crypt$=XorCode(test$,key) test_encrypt$=XorCode(test_crypt$,key) Print test$ Print test_crypt$ Print test_encrypt$ WaitKey() End Function XorCode$(txt$,key) Local ret$="" For i=1 To Len(txt$) ret$=ret$+Chr((Asc(Mid(txt$,i,1)) Xor key)) Next Return ret$ End Function Ist doch sehr handlich - und man braucht keine extra "verschlüssel" und "entschlüssel" Funktion -All in One ![]() mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group