Ich denke die erste Funktion ist definitiv mit weniger Arbeit verbunden.
...
Überzeugt mich nicht so recht. Hast du denn mal getestet ob das wirklich die Performance runterreißt?
Zitat
Gibt es nicht eine Möglichkeit die Tabelle zu komprimieren und nur jeweils diejenige Tabelle zu dekomprimieren welche gerade benötigt wird?
Zum Beispiel wird die Tabelle als String oder Zahl mit WIDTH*HEIGHT Ziffern gespeichert und durch besondere Verfahren komprimiert und beim Betreten der jeweiligen Karte dann einmalig geladen und dekomprimiert.
...
Ich habe doch schon Code für eine BitTable-Klasse geschrieben. Die speichert jeden Tabelleneintrag in ein Bit ab. Für eine 500x500 Map bräuchtest du also nur noch 30 Megabyte, statt 488, wie bei einer Table, oder gar 976 Megabyte, wie bei einem Bitmap.
Zum Komprimieren in eine Datei verwendest du einfach die Zlib Library.
Hier mal als Beispiel für meine BitTable2D Klasse