Hello, Guest the thread was called906 times and contains 34 replays

last post from Retrofan at the

"Optimale" Farbpalette für Retro-Systeme/Games

  • Leute, die Spaß daran haben, Retro-Paletten zu erstellen, die tummeln sich beispielsweise hier:

    https://lospec.com/palette-list

    Ja, da bin ich schon länger zugange. Ich werde dort evtl. auch eigene Paletten hochladen. Ich habe auch einige heruntergeladen und wollte die hier mal zeigen – als gute oder schlechte Beispiele.


    Die Leute haben das einfach aus Spaß an der Freude gemacht, nehme ich an.

    So wie ich auch. Auch dieser Thread entspringt diesem Spaß nach der Entwicklung guter Farbpaletten. Und wer daran keinen Spaß hat, kann ja gerne was anderes machen – unser Hobby bietet viele Optionen, aus denen man seinen Spaß generieren kann. Einige coden, andere pixeln oder musizieren, andere sammeln, reparieren oder löten Neues. So hat halt jeder seinen Spaß.

  • Ein Gedanke, der mir noch kam, ist die Fragestellung umzudrehen: Wer die ideale Palette sucht, der sagt ja implizit, dass die real existierenden Paletten der bekannten Rechner ihre Schwächen haben. Nun wäre es doch interessant, diese Schwächen zu beschreiben, in dem man meinetwegen sagt:


    Eine melancholische Stimmung, die im Game XYZ in Level 23 erzeugt werden soll, klappt auf dem MSX wunderbar, aber ist auf dem C64 nicht möglich, weil die Farbtöne das nicht hergeben. Das ist jetzt eine spontanes Beispiel, aber fände ich interessant, konkret die Leistungen und Grenzen der real existierenden Paletten zu beschreiben, damit man weiß, WARUM man eine ideale Palette suchen muss. :)

  • Nein, die müssen meines Erachtens nicht sein. Ich finde, dem C64 hat es in der Praxis nicht geschadet, dass seine Farben weit weg von RGB-Extremen liegen

    OK

    Bei typischen Retro-Auflösungen kannst du nicht einfach die reinen RGB-Töne mit neutraleren mischen, um Zwischentöne zu erhalten. RGB-Muster ergeben weder auf dem C64 noch auf dem CPC irgendwas wie grau. Auch auf einem modernen Retro-Rechner oder einem Retro-Game würde man wohl eher nicht auf Farbmischungen per Dither setzen, schon alleine, weil heutige Display größer und schärfer darstellen. Ohne künstliche Tricks, wie Scanlines und Blur mischt sich da gar nichts mehr.

    Schachbrett-Dithern findet sich in alten C64-Bildern a la "Wasted youth", oder dem Sentinel-Auge, oder Armalyte...

    Und grad jüngere Bilder nutzen Dithern ganz stark, z.B. October/Joe. Das sieht auch auf einem Vice ohne PAL-Effekte gut aus!

    Wenn Du also was für allgemeine Zwecke machen willst, dann solltest Du auch das Dithern in Betracht ziehen.

  • Wer die ideale Palette sucht, der sagt ja implizit, dass die real existierenden Paletten der bekannten Rechner ihre Schwächen haben. Nun wäre es doch interessant, diese Schwächen zu beschreiben

    Das habe ich doch eingangs teils getan – am Beispiel der TED/VCS-Farbpalette: Zu viele "optisch Dubletten", keine Beachtung/Nutzung der Tatsache, dass das Auge z.B. wenig gesägte Farben (hier sehr dunkle/helle) schlechter unterscheiden kann als stark gesättigte, keine Varianz der Sättigung außer über die Helligkeit, keine Verteilung nach Wahrnehmungs-Gesichtspunkten ...


    Mit einem besseren Berechnungs-Verfahren ließen sich wahrscheinlich bessere Ergebnisse (in Games, wie in Foto-Konvertierungen) mit einer nur halb oder viertel so großen Palette erzeugen.

  • Wenn Du also was für allgemeine Zwecke machen willst, dann solltest Du auch das Dithern in Betracht ziehen.

    Dithern an sich (z.B. von sehr ähnlichen Farben/Helligkeiten) ziehe ich in Betracht – aber nicht Dithern von weit entfernt liegenden Komplementär-Farben (oder r, g, b), um grau zu erzeugen.

  • Ich dachte mal, ein 6-Bit RGB-Würfel (2 Bit je Farbkanal) wäre doch auch gar nicht mal so schlecht, um 64 Farben zu erzeugen. Das ist die EGA-Palette (PC) und auch das Sega Master System verwendet sie. Der CPC verwendet einen "kleinen Bruder" davon, der nur 3 Werte (statt hier 4) je Achse hat (und damit 3x9 = 27 Farben).



    Theoretischer Vorteil gegenüber dem VCS/TED-Prinzip: Nähe schwarz und weiß reduziert sich die Anzahl der Farben (wie bei meinem Ansatz) – aber "dank" RGB bekommt man trotzdem haufenweise nutzlose und kaum unterscheidbare Knall-Farben. Und man erhält nur 2 Grautöne – bei 64 Farben doch recht wenige. Man sieht das Problem, wenn man die Farben in der Fläche ausbreitet:



    Im Gegensatz dazu eine handoptimierte, angeblich "perfekte", Palette:



    Man sieht sofort, dass hier die Farben besser unterscheidbar und weniger gesättigt sind. Man muss, glaube ich, nicht beweisen, dass dies eine "bessere" Palette ist. Aber sie ist halt mühsam handgebaut – ich suche nach einer Formel, um etwas in der Art zu generieren – auch mal schnell mit 24 oder 72 oder 240 Farben.

  • Mit einem besseren Berechnungs-Verfahren ließen sich wahrscheinlich bessere Ergebnisse (in Games, wie in Foto-Konvertierungen) mit einer nur halb oder viertel so großen Palette erzeugen.

    Ich wäre für maximal 32. Ansonsten wird die Suche "zu einfach":D und ein Pixeln von Hand wird für den Laien schwierig.

    Dithern an sich (z.B. von sehr ähnlichen Farben/Helligkeiten) ziehe ich in Betracht

    Gedithert wurde schon mit EGA, siehe Moneky Island 1.


    Gedanklich bin ich (ungewollt) bzgl. der Farben sehr auf die MOS-Chips fixiert. Das könnte es schwierig machen, hier was Sinnvolles beizutragen.


    Man könnte mal den Vorschlag von Hoogo umdrehen: Also mal zig Fotos, Filmscreens oder Screenshots von Videospielen verschiedenster Plattformen und Generationen analyiseren und schauen, ob es da Farbbereiche gibt, die von vornherein nur gaaanz selten vorkommen. Diese könnte man schonmal ausschließen. Ob es solche Bereiche gibt, weiß ich nicht.


    Du hast erwähnt, die knallige Pico-8 Palette passe gut wegen der geringen Auflösung (128x128). Wenn also die Auflösung eine Rolle für dier Palettenwahl spielt, mit welcher soll denn das Gedankenspiel durchgeführt werden?
    Weil wenn die Auflösung nur hoch genug ist, kommt man ja auch mit 4 Farben aus, RGB und schwarz. ;)


    mfg Tobias

  • Retrofan kann man denn nicht einfach einmal rundherum um den Farbkreis gehen (also HSV-maessig) und dort einfach ein paar verschiedene Helligkeiten und Saettigungen nehmen, die anhand einer Kurve berechnet werden? Die "perfekte" Palette sieht ja, abgesehen von den Graustufen und den Pastellfarben irgendwie nach sowas aus.


    Auch wenn ich z.B. in Inkscape gehe, habe ich standardmaessig eine Palette, dir mir (anscheinend) fuer 15 Farbtoene (Hues) jeweils verschiedene Helligkeitsabstufungen bietet, und das nochmal unterteilt in 3 Saettigungs-Level, hier mal als Beispiel die ersten 3 Farbtoene rot, orange, gelb:



    Das ganze jetzt auf das volle Farbspektrum betrachtet aber mit weniger Abstufungen, und diese von der Verteilungskurve her "sinnig" angelegt, duerfte sich doch recht leicht generieren lassen?

  • kann man denn nicht einfach einmal rundherum um den Farbkreis gehen (also HSV-maessig) und dort einfach ein paar verschiedene Helligkeiten und Saettigungen nehmen

    So etwas in der Art ist das ja hier. Nur in einem dafür bestens geeigneten Farbraum (da wahrnehmungsbezogen) und mit noch zu ermittelnden Parametern. ;)



    Auf dem Äquator (orange) liegt der Farbkreis, die kreisförmigen Schnitte stellen die Helligkeitsstufen (hier die "nördlichen" 4 der insgesamt 8 ) dar, die inneren Kreise schwächere Sättigungsstufen.

  • kann man denn nicht einfach einmal rundherum um den Farbkreis gehen (also HSV-maessig) und dort einfach ein paar verschiedene Helligkeiten und Saettigungen nehmen, die anhand einer Kurve berechnet werden?

    Auf dieser Seite findet man recht weit oben ein Beispiel, warum man sowas nicht unbedingt in HSV machen möchte.

  • Auf dieser Seite findet man recht weit oben ein Beispiel

    Übrigens, auch wenn ich hier am Anfang von Lab bzw. CIELAB gesprochen habe, schließe ich natürlich Oklab (ist ja auch Lab-definiert) nicht aus. Der neuere Ansatz ist ja mit dem gleichen Ziel erfolgt – und vielleicht noch besser umgesetzt. Lab bedeutet für mich vor allem "geräteunabhängig und wahrnehmungsbezogen". Oder andersherum: Ich wollte von Anfang an verhindern, dass jemand anfängt, irgendwelche Farben in RGB zu berechnen – das würde uns hier wahrscheinlich kein Stück weiterbringen. Deshalb: Wenn jemand Routinen entwickeln (oder eine Excel-Tabelle füttern) möchte und Oklab als Farbmodell bevorzugt – dann nur zu. Auf die Ergebnisse wäre ich sogar noch gespannter.

  • Ich wäre für maximal 32. Ansonsten wird die Suche "zu einfach" :D und ein Pixeln von Hand wird für den Laien schwierig.

    Ich wäre für "flexibel", also Routinen mit gewissen Einstellmöglichkeiten.


    Man könnte mal den Vorschlag von Hoogo umdrehen: Also mal zig Fotos, Filmscreens oder Screenshots von Videospielen verschiedenster Plattformen und Generationen analyiseren und schauen, ob es da Farbbereiche gibt, die von vornherein nur gaaanz selten vorkommen.

    Wer Spaß daran hat. Aber ich glaube nicht, dass das zu großen Erkenntnissen führt. Und wie schon beim Hoogos Vorschlag: nur weil eine Farbe unterrepräsentiert ist, heißt das noch lange nicht, dass sie unwichtig ist. Auf einer großen Wiese kann der Schmetterling das wichtige Detail sein, auf einem grauen Straßenpflaster das versteckte Kleeblatt und in einer Großstadt-Szene die kleine rote Ampel, die gerade von jemandem übersehen wird. Nur weil eine Farbe (selbst in vielen Bildern) selten bzw. kleinflächig vorkommt, darf die nicht einfach fehlen.


    Wenn also die Auflösung eine Rolle für dier Palettenwahl spielt, mit welcher soll denn das Gedankenspiel durchgeführt werden?

    Typische 8-Bit-Auflösungen, im Bereich wie 160 x 200 oder 256 x 180. Ich würde sagen, Auflösungen unterhalb von (oder bis allerallerhöchstens) 320 x 200 Pixel. Die Auflösung spielt dahingehend eine Rolle, dass man nicht davon ausgehen kann, dass geditherte Flächen wie eine homogene Mischfarbe aussehen werden, sondern man das Muster wahrscheinlich erkennen kann. Wenn man das als Stilmittel einsetzen will, z.B. bei ähnlichen Farben als Übergang – alles OK. Aber diese Auflösungen wären nicht dafür geeignet, aus schwarz und weiß ein glattes Grau zu erzeugen (oder halt erst, wenn man einen Abstand zum TV einnimmt, der ein Loft oder Schloss benötigt) – es bliebe halt ein Raster aus schwarz und weiß.

  • Warum lassen sich die Farben des C64 so gut mischen? Nur wegen der Helligkeitsstufen oder auch wegen der konstanten Farbamplituden?

    Großflächig mischen funktioniert gar nicht so gut, weil man den Raster (vor allem in Multicolor-Auflösung) fast immer erkennt (es gibt Tricks aber lassen wir das mal) – zudem verliert man bei einer Mischfarbe (da man dafür 2 andere benötigt) eine Farbe je Char-Block und hat dann (abgesehen vom Background) nur noch eine frei.


    Was aber beim C64 gut funktioniert, sind geditherte Übergänge/Verläufe von einer Farbe/Helligkeit zur anderen, also "Farbmischungen" auf kleinem Raum. Da helfen verschiedene Eigenschaften der Farben. Zum einen sind sie verhältnismäßig gering gesättigt (oder auch "schmutzig", verglichen z.B. mit dem CPC), was sie ähnlicher erscheinen lässt und man sich bei einem Verlauf z.B. auch mal mit einem Grau aushelfen kann, wenn in einer nötigen Helligkeitsstufe sonst nichts passendes vorhanden ist. Dann sind manche Helligkeiten unverschämt nah beieinander (z.B. bei orange und rot oder rot und braun), was einen Übergang sehr leicht macht. Und zuletzt würde ich noch die relativ gute Auswahl der Farben hervorheben. Da sind eben nicht einfach die ersten 8 nochmal in abgedunkelt/aufgehellt wiederholt, sondern mit Fingerspitzengefühl ausgewählt worden (z.B. das Hellrot, das Braun und die "vielen" Grautöne). Dadurch kann man fast immer Color-Ramps über 3 oder mehr Farben anlegen, die dann einen schönen Verlauf ergeben – z.B. Dunkelblau/blau/cyan/hellgrün oder braun/rot/orange/hellrot/gelb oder weiß/hellgrau/mittelgrau/dunkelgrau. Da helfen natürlich auch die feineren Helligkeitsstufen der späteren VIC-II-Typen gegenüber dem ersten Modell.


    Ich glaube übrigens, dass den Technikern da jemand geholfen hat, der sich mit Grafik (zumindest in Games) ein wenig auskannte. Der C64 war ja nicht der erste farbfähige Computer von Commodore, sodass man auf gewisse Erfahrungen (z.B. von Spielentwicklern) zurückgreifen konnte – und eine Werbeagentur hatte Commodore sicherlich auch unter Vertrag.