Anzahl der Sprites/Backgrounds reduzieren

  • iOS

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Anzahl der Sprites/Backgrounds reduzieren

    Hallo Leute,

    hat irgendjemand hilfreiche Tipps wie man die Anzahl der Sprites und/oder Backgrounds in einem Spiel reduzieren kann?

    Habe nämlich herausgefunden (durch testen) dass das iPhone 4 "nur" ca. 42 Texturgruppen mit der Größe von 1024 x 1024 px gleichzeitig im speicher haben kann.

    Mit folgenden Tricks versuche ich bis jetzt die anzahl der Sprites zu verringern:

    - Animation welche nur eine Drehung oder Ähnliches beinhalten mit Hilfe von image_angle bewirken, anstatt mit animierten Sprites

    - Sprites welche sich nur in der Farbe unterscheiden in der Farbe Weiß einsetzen und dann mit Hilfe von Code einfärben, anstatt für jede Farbe ein Sprite

    Dadurch lässt sich in meinem Spiel schon einiges an Sprites einsparen.



    Für weitere Tipps bin ich sehr dankbar!!! :)

    Vielen Dank im Voraus!


    Gruß,
    Pascal
  • Mit dem hier kannst du alle versch Animationen in ein Sprite stecken und getrennt voneinander wieder aufrufen : GM 8 Sequenz Animation - einfache Verwaltung - Tutorialarchiv - Game Maker Domäne.htm

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Aku_Ryou schrieb:


    Mit dem hier kannst du alle versch Animationen in ein Sprite stecken und getrennt voneinander wieder aufrufen : GM 8 Sequenz Animation - einfache Verwaltung - Tutorialarchiv - Game Maker Domäne.htm
    Danke für Deinen Hinweis!

    Aber damit werden die Sprites doch nur anders angeordnet, weniger Sprites werden es dadurch doch nicht, oder?


    Und noch ne andere Frage: Gibt es in Game Maker Studio eigentlich irgendeine Möglichkeit die Sprites/Backgrounds zu komprimieren?
  • In erster Linie würde ich allgemein gerne wissen warum 42 x 1024 x 1024 = 44040192px gleichzeitig nicht für alle Zwecke ausreichend sind.

    Sollten 42 Texturepages doch nicht genügen:

    1. Die Texturenpages sinngemäß auf die einzelnen Welten/Maps/Levels aufteilen (Gegner von der Lavawelt haben nichts auf der Texturpage von Unterwassertiles/mobs zu suchen)

    2. Bei Charakteren evtl. zusehen dass bei bestimmten Ausrichtungen der Sprite einfach gespiegelt wird:
    Bsp.:
    :

    Es mag vielleicht nicht so schön aussehen wie 8 Richtungsrendering, hat aber einen extremen Speichervorteil


    Beispiel wie es sich in einem RPG Spiel auswirken könnte:

    anstelle von 8 Richtungen sind nur 5 Richtungen als Sprites, 3 davon (auf dem Bild grau eingefärbt) sind die Spiegelungen.

    Angenommen der Charakter hat 5 verschiedene Animationen jeweils mit 15 Frames, jeweils in der Größe 120x120px


    8 Seiten Rendering:
    8x5x15x120x120 = 8640000 px

    5 Seiten Rendering:
    5x5x15x120x120 = 5400000 px

    eine Texture Page von 1024x1024 hat 1048576 px d.h. pro animation im 5 Seiten Rendering brauchen wir eine gesamte Texturepage. Im 8 Richtungs Rendering brauchen wir ca 3 Pages mehr. Natürlich müssen sie alle nicht gleichzeitig geladen werden, jedoch merkt man dass bei der 5 Seiten Rendering Methode jeweils 1 Animation pro Page benötigt wird und diese auch nur dann geladen wird wenn diese benötigt wird. Bei der 8 Richtungsmethoden
    überschneiden sich die Animationen untereinander und es müssen hin und wieder 2 Texturepages anstelle von nur 1 geladen werden.
  • Danke für Deine Hilfe! :thumbup:

    Fin schrieb:

    In erster Linie würde ich allgemein gerne wissen warum 42 x 1024 x 1024 = 44040192px gleichzeitig nicht für alle Zwecke ausreichend sind.


    Weil ich gerne ein abwechslungsreiches Spiel mit möglichst vielen Gegnern, Elementen, Hintergründen, Animationen etc. erstellen würde. :D

    Fin schrieb:

    1. Die Texturenpages sinngemäß auf die einzelnen Welten/Maps/Levels aufteilen (Gegner von der Lavawelt haben nichts auf der Texturpage von Unterwassertiles/mobs zu suchen)


    Hab ich bereits getan.

    Fin schrieb:

    2. Bei Charakteren evtl. zusehen dass bei bestimmten Ausrichtungen der Sprite einfach gespiegelt wird:
    Bsp.:
    :


    Mach ich auch schon...


    Weitere Ideen?