Zitat von
Florian H:
[...]Aber wie gesagt, ich muss mir mal überlegen wie ich das am Besten umsetze. Das Dateiformat bisher ist ja leider eh nicht sonderlich glücklich.[...]
Also ich könnte nichts an einem Levelformat aussetzen. Was man machen könnte, wäre eine binäre Speicherung. Wobei ich dann gerne die Möglichkeit hätte Metadaten zu speichern (wie Autor oder eine Beschreibung), sodass ich auf die "Hackmap" verzichtet kann. Auf eine Rasterkarte würde ich verzichten, da sie zum einen nicht immer besser sein muss und zum anderen nur eine Sache pro "Fixel" ^^ (Also Feldeinheit) gespeichert werden kann oder dass Format unnötig aufgebeläht wird.
Was Verbesserungswürdig ist, ist das Mappackformat. Ich würde dass ein eine Datei speicher. Also Metadaten, sowie die einzelnen Level.
Ein Vorschlag (menschenlesbar):
Code:
<Name des Levels>
<Anzahl der Levels>
<Länge der Beschreibung>
<Beschreibungstext>
<Levelinformationen des 1. Levels>
<Levelinformationen des 2. Levels>
....
Ein Beispiel:
Code:
MaPpAcK
2
8
Testpack
%10|20|30|40|
1|2|3|0|
2|3|4|0|
3|4|0|0|
%10|20|30|40|
1|2|3|0|
2|3|4|0|
3|4|0|0|
Nagut in dem Beispiel sind die beiden Karten, aber ich hoffe das Prinzip wird deutlich. Die einzelnen Level werden dadurch getrennt, das ein Leerzeile zwischen beiden ist, da dies normalerweise nicht in einem Level auftaucht. Ansonsten könntest du natürlich auch einfach eine "Nichtzahl" in diese Zeile schreiben, sodass ein neues Level dann daran erkannt wird.
Die binäre Speicherung hätte den Vorteil, dass die Levels kleiner würden (ich würde sagen auf < 50%), da du kein "Trennzeichen" und Zeilenumbruch mehr brauchst. Auch könntest du x und y Koordinate in einem Byte speichern (das Feld ist 12x16 Fixel groß, also < 255) und würdest so bei den Koordinaten nochmal 50 % sparen. Das Problem wäre dass das Erstellen, Auslesen und Bearbeiten schwieriger wird (dennoch würde ich es vorziehen, da es so irgendwie professioneller wirkt ^^).
MfG
xZise