2d-Karte: Billiger Wassereffekt



  • Hallo,

    ich hoffe meine Frage ist nicht zu Wischi-Waschi:

    Bei vielen (alten) Spielen auf Hex-Karten (sowas wie Civ oder Panzer Corps oder sowas) sind die Wasser-Tiles nicht statisch, sondern 'machen was'.

    Also 'machen was' heisst: irgendwas ändert sich, damit es etwas nach bewegtem Wasser aussieht.

    Ich hab manchmal das Gefühl, dass das eine besonders gefärbte Texture ist und man einfach den Farbwert leicht ändert und das dann halbwegs nach was aussieht.
    Kann das sein?

    Welche einfachen Möglichkeiten kennt ihr, um Wasser-Tiles nach Wasser aussehen zu lassen?
    Am besten mit reinem SFML (also ohne openGL).

    Danke.





  • Na gut, das hätte ich vielleicht dabei schreiben sollen, dass das nicht das ist, was ich lesen wollte 😉

    Ich denke eine Tile-Map wird idR durch ein RenderTexture (recommended bei SFML) gemalt oder zumindest durch ein vertexArray.
    Aber die komplette Map mit Sprites vollzuhauen, scheint mir nicht der beste Ansatz.
    Aber gut möglich, dass ich mich da täusche.
    Ich warte mal noch auf andere Ideen.



  • Jockelx schrieb:

    Aber gut möglich, dass ich mich da täusche.

    jop 😉


  • Mod

    Jockelx schrieb:

    Ich hab manchmal das Gefühl, dass das eine besonders gefärbte Texture ist und man einfach den Farbwert leicht ändert und das dann halbwegs nach was aussieht.
    Kann das sein?

    so in etwa war es frueher auch. die karte neuzeichnen zu lassen jedesmal waere zu langsam, sie wurde nur dort geupdated wo sich etwas veraendert hat. die wasser sprites und andere simple animationen wurden mit farbpaletten gemacht und die eigentliche palette (bzw teile davon) bekamen dann andere werte pro frame um einen animationseffekt zu erreichen.

    gibt eine schoene seite die den oldschool effekt demonstriert: http://www.effectgames.com/demos/canvascycle/?sound=1

    unter "color cycling" findest du mehr.

    das ist natuerlich nicht mehr der weg den du heute gehen wuerdest, da niemand mehr wirklich palletierte sprites verwendet.



  • Ok, sehe ich ein, dass man den Weg heute nicht mehr geht.
    D.h. du würdest dich dot anschliessen und Sprites dafür verwenden?



  • Je nachdem, wie viele Sprites du brauchst, um den Bildschirm voll zu machen (du willst natürlich nur die momentan sichtbaren drawen), ist das vermutlich die mit Abstand einfachste Lösung und auch ausreichend schnell. Natürlich ginge es effizienter, wenn man z.B. OpenGL direkt verwendet...


  • Mod

    Jockelx schrieb:

    Ok, sehe ich ein, dass man den Weg heute nicht mehr geht.
    D.h. du würdest dich dot anschliessen und Sprites dafür verwenden?

    unter den restriktionen und wuenschen die du hast, wird dich dots vorschlag zum ziel fuehren 👍


Anmelden zum Antworten