Freezing Rocks

Felsen-Tileset frozenNachdem das Felsen-Tileset steht und auch der Schneesturm funktioniert, ist der nächste logische Schritt, alles zu vereisen. Es war nicht mal sonderlich aufwändig, was mich sehr freut.

Wie das ganze technisch umzusetzen ist, hat mich schon länger beschäftigt. Meine erste Idee war, per Skript das verwendete Tileset auszutauschen. D.h. ich würde meine gesamte Karte ganz normal bauen, und nach dem Schneesturm würde das Spiel von einer Grafikdatei zur nächsten wechseln, von den normalen Felsen zu den gefrorenen. SGDK2 unterstützt das leider nicht. Aber ich fand im Forum eine andere Lösung, die ich zuerst wegen des hohen Aufwands verwarf, später dann aber doch darauf zurückkam.

Ich musste für jedes einzelne Felsen-Tile eine Mini-Animation (Mapped Tile) erstellen. Zu diesem Zeitpunkt hatte ich 35 normale Tiles und 12 für die schwebenden Felsen. Da ich nur in der vordersten Ebene Glanzpunkte und Schattendetails habe, verdoppelte sich die Gesamtzahl der zu erstellenden Animationen auf 94.

Die Arbeit bestand darin, jedes Tile anzuwählen, daraus ein Mapped Tile zu machen, ihm einen Counter zuzuweisen und dann in der endlosen Liste nach dem passenden vereisten Gegenstück zu suchen. Dieses wurde als zweites Frame der Animation eingefügt. Das Programm reagierte aufgrund der hohen Anzahl der Tiles in der Liste und ihrer Größe (128×128 Pixel) schon ziemlich lahm.

Den zugewiesenen Counter brauchte ich hierfür: Sobald der Schneesturm ungefähr bei der Hälfte seiner Lebensdauer ist (da ist er am dichtesten und der Spieler kriegt nichts mit), wird der Counter von 0 auf 1 umgeschaltet. Da die Animation mit dem Counter verknüpft ist, springt sie von Frame 0 (normaler Fels) zu Frame 1 (vereist). Das war es auch schon.

Advertisements

%d Bloggern gefällt das: