klar, ich werde sowiso kein bmp nehmen. warscheinlich png.
desweitren werde ich das eben in kleine abschnitte teilen und dann nioch mit der packer-library packen.
aber, wie sind eigentlich die maps von alarmstufe rot aufgebaut?
eine tilemap ist ähnlich aufgebaut, wie ein screen der mit buchstaben gefüllt ist.
in dem map-speicher stehen in 2D anordnung (zeilen, spalten) kennziffern dafür, welche grafik (tile = engl.kachel) an dieser stelle steht.
so wie in einem textscreen eine folge von bytes steht, die jeweils ein zeichen darstellen,
das bit-muster der zeichen ist extra gespeichert (charset, entspricht dem tileset)
die eigentliche Tile ist 16x16 oder 32x32 oder 64x64 groß, und setzt damit die komplette karte zur laufzeit zusammen..
der vorteil liegt auf der hand: du hast 256 kleine 32x32 grafiken, dein TileSet.
(im speicher: 256x32x32x4byte = 1MB)
in deinem Map-Array brauchst du jetzt nur ein byte pro tile, um das jeweilige aus dem Set zuzuordnen.
also, eine 1024x1024 tiles große map (das wäre ca. 41x55 screens groß)
brauchst du 1MB fürs tileset und 1MB für die Map.
wenn du das als gesamtgrafik speichern willst, wären das 4 GB,
damit kickst du deinen hauptspeicher inklusive swap.
...immer dran denken: auf der platte kann der krempel PNG sein,
im GraKa-Speicher steht er als entpackte Bitmap,
da beißt die maus keinen faden ab.
deswegen macht man tilesets und tilemaps, das war schon aufm alten C64 so,
und der hatte grad mal 64KB speicher, und manche games hatten echt schicke große maps....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.