Collab: Entwicklung eines TSB-Puzznic-Klons

Es gibt 1.089 Antworten in diesem Thema, welches 110.465 mal aufgerufen wurde. Der letzte Beitrag (1. November 2024 um 23:56) ist von Omega.

  • Was mich ein bisschen irritiert ist, dass weiße Pixel immer als "an" gewertet werden und schwarze Pixel als "aus". Wenn ich Grafiken am PC entwerfe, mache ich das immer andersherum.

    Ja, das war es, was ich dir am Anfang auch sagen wollte (erinnerst du dich? Meine Fee war zuerst invertiert.) Das lag daran, dass ich genauso gedacht habe wie EgonOlsen71 : schwarz ist Hintergrund, weiß ist Malfarbe, (%00 ist schwarz, %01 ist weiß, auch beim C64). Ich glaube, dass ist so Konvention (weiß einer das genauer?)

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Also bei mir kommt das aus der internen Pixel-Logik bzw. dem Farbwert. 0 ist schwarz und damit Hintergrund, weil 0 eben 0 ist. Null, nada, nix, niente...also Hintergrund.

    Das hat bei mir gar nichts mit dem C64 zu tun. Das kommt von Software-Renderern auf dem PC. Eine leere Textur ist für mich eine voller 0en. Nicht eine voller 1en.

    Aus Sicht eines Zeichners ist es vermutlich tatsächlich eher umgedreht. Aber macht ja nix, -i dreht das ja einfach um.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Meine DALL-E2 Credits gehen sowieso langsam zu neige. Und ab Anfang April gibt's keine neuen kostenlosen Credits mehr. Dann muss man tatsächlich dafür bezahlen. Ich glaube nicht, dass ich mich dazu durchringen kann. Für ChatGPT würde ich, glaube ich, auch nichts bezahlen. Dafür bin ich zu geizig.

    Nimm Ideogram...da hast du mehr Credits bzw. die füllen sich viel früher wieder auf und die Ergebnisse sind in den meisten Fällen auch besser als beim kostenlos DALL-E 2 (DALL-E 3 ist auch gut, kostet aber eben auch ...)

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • %00 ist schwarz, %01 ist weiß, auch beim C64). Ich glaube, dass ist so Konvention (weiß einer das genauer?)

    Ich glaube, dass man das nicht so eindeutig sagen kann. So wie ich es sehe ist %00 Pixel aus. Und %01 ist Pixel an. Ob das jetzt schwarz oder weiß ist, hängt ja davon ab, wie man die Hintergrund- und die Spritefarbe eingestellt hat. Mann kan ja den Hintergrund auf schwarz oder auf weiß setzen. Und die Sprite/Zeichenfarbe kann man auch auf schwarz- oder auf weiß setzen.

    Edit: Ich meine die Zeichenfarbe. Nicht die Spritefarbe. Ist ja aber eigentlich egal.

  • Nimm Ideogram...da hast du mehr Credits bzw. die füllen sich viel früher wieder auf und die Ergebnisse sind in den meisten Fällen auch besser als beim kostenlos DALL-E 2

    DALL-E2 ist bald nicht mehr kostenlos. Ab 1. April gibt's keine Credits mehr umsonst. (Oder ist das ein Aprilscherz?)

    Bitte melde dich an, um diesen Anhang zu sehen.

    Vielleicht probiere ich mal Ideogram.

  • EgonOlsen71: Dein Charcool-Tool finde ich bereits jetzt sehr praktisch. Ich finde es sehr gut, dass man in der neuen Version mit -l<Anzahl> die Anzahl Blöcke festlegen kann, die aus der PNG-Datei ausgelesen werden. Ich habe mir überlegt, dass es nützlich wäre, wenn man auch noch festlegen könnte ab welchem Startblock die Blöcke aus der PNG-Datei ausgelesen werden. Dafür könnte man vielleicht den Buchstaben s benutzen. Also z.B. möchte ich nur die Blöcke 10-19 aus der PNG-Datei importieren. Dann würde man angeben -s10 -l10.

    Ob das möglich ist? (Ich wage es kaum zu hoffen.)

  • Ja, dachte mir schon, dass das kommt...habe es aber ausnahmsweise noch nicht vorbereitet. Muss gucken, ob ich heute die Kiste anschalte...sonst morgen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Dir ist schon klar, dass es bei Omega GmbH keine freien Sonntage gibt? :whistling:

    Natürlich! Deswegen ist hier ja auch schnell die erweiterte Version...-s<zahl> bestimmt den Startblock, die Zählung beginnt bei 0.

  • Als ich heute meinen Mittagsschlaf gemacht habe, kam mir eine bizarre Idee.

    Was wäre, wenn es so ein Tool auch für Sprites geben würde? Das würde im Grunde genauso funktionieren, nur dass man als "Ziel" statt einer Zeichensatzdatei eine Datei mit Spriteblöcken angeben würde. Bei der Angabe von 2*2 würde ein Grafikblock von 48x42 Pixel aus einer PNG-Datei in vier hintereinanderfolgende Spriteblöcke einer Sprite-Datei abgelegt werden. Und der nächste Grafikblock rechts daneben würde dann in die nächsten vier Spriteblöcke abgelegt werden usw.

    Aber nein. Was für eine verrückte Idee. Das wäre wirklich zu krass. Wenn es so ein Tool geben würde, dann würde mein Schwein pfeifen tun. :emojiSmiley-10:

    Ich habe mal die Diskette mit meinem Spriteeditor angefügt. Da ist eine Datei drauf ("initspr") mit 64 Spriteblöcken. Die liegen im Bereich von $F000-$FFFF.

  • Als ich heute meinen Mittagsschlaf gemacht habe, kam mir eine bizarre Idee.

    Was wäre, wenn es so ein Tool auch für Sprites geben würde? Das würde im Grunde genauso funktionieren, nur dass man als "Ziel" statt einer Zeichensatzdatei eine Datei mit Spriteblöcken angeben würde. Bei der Angabe von 2*2 würde ein Grafikblock von 48x42 Pixel aus einer PNG-Datei in vier hintereinanderfolgende Spriteblöcke einer Sprite-Datei abgelegt werden. Und der nächste Grafikblock rechts daneben würde dann in die nächsten vier Spriteblöcke abgelegt werden usw.

    Aber nein. Was für eine verrückte Idee. Das wäre wirklich zu krass. Wenn es so ein Tool geben würde, dann würde mein Schwein pfeifen tun. :emojiSmiley-10:

    Ich habe mal die Diskette mit meinem Spriteeditor angefügt. Da ist eine Datei drauf ("initspr") mit 64 Spriteblöcken. Die liegen im Bereich von $F000-$FFFF.

    Aber so was ähnliches gibt es doch schon bei GoDot - Das Modul heißt BossConvert

    Bitte melde dich an, um diesen Link zu sehen.

    Vielleicht kann dann Arndt, den dann etwas anpassen für deine zwecke. ^^

  • GoDot - Das Modul heißt BossConvert

    Das ist nur für Multicolor.

    Und nur für ein spezielles Format.

    Arndt

    GoDot C64 Image Processing
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Als ich heute meinen Mittagsschlaf gemacht habe, kam mir eine bizarre Idee.

    Was wäre, wenn es so ein Tool auch für Sprites geben würde? Das würde im Grunde genauso funktionieren, nur dass man als "Ziel" statt einer Zeichensatzdatei eine Datei mit Spriteblöcken angeben würde. Bei der Angabe von 2*2 würde ein Grafikblock von 48x42 Pixel aus einer PNG-Datei in vier hintereinanderfolgende Spriteblöcke einer Sprite-Datei abgelegt werden. Und der nächste Grafikblock rechts daneben würde dann in die nächsten vier Spriteblöcke abgelegt werden usw.

    Aber nein. Was für eine verrückte Idee. Das wäre wirklich zu krass. Wenn es so ein Tool geben würde, dann würde mein Schwein pfeifen tun. :emojiSmiley-10:

    Ich habe mal die Diskette mit meinem Spriteeditor angefügt. Da ist eine Datei drauf ("initspr") mit 64 Spriteblöcken. Die liegen im Bereich von $F000-$FFFF.

    Mir ist nicht ganz klar, was genau das tun soll. Beim Zeichensatz ist das klar, weil das ein definiertes Format ist und es auch nur um die Anreicherung geht. Aber wie denkst du dir das hier? Wieso soll man eine vordefinierte Datei reinkippen, in der dann Sprites erzeugt werden? Wo soll die herkommen, wenn man nicht zufällig deinen Editor nutzt? Wäre es nicht sinnvoller, man würde die Datei mit den konvertierten Sprites einfach direkt erzeugen? Und falls man das tut, kann dein Editor die dann wieder laden? Oder muss das irgendwie immer von $F000 bis $FFFF gehen?

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Einmal editiert, zuletzt von EgonOlsen71 (11. März 2024 um 07:15)

  • EgonOlsen71: Der Grund ist genau der gleiche wie bei dem Zeichensatz-Tool.

    Nehmen wir mal an, du möchtest in einem Spiel eine größere Sprite-Grafik haben, die aus vier (oder mehr) zusammenhängenden Sprites besteht. Die können sowohl quadratisch oder auch nebeneinander angeordnet sein. Oder übereinander.

    Es ist viel einfacher solche zusammenhängenden Bilder am PC zu erzeugen. Bei meinem Editor kann ich immer nur ein Sprite sehen und habe keinen Überblick über das Ganze.

    Ich kenne mich mit C64 Grafik nicht sehr viel aus. Aber ich nehme an, dass Sprites (wie Zeichensätze) auch in einem definierten Format vorliegen. D.h. du hast 3 Bytes pro Zeile und 21 Zeilen. Ich glaube, dass mein Spriteditor kein besonderes "Format" benutzt. Da werden einfach die Spriteblöcke aus dem C64-Speicher in eine Datei geschrieben. Dafür hat TSB extra den Befehl SCRSV.

    Ich glaube auch, dass es TSB egal ist, ob die Sprites von $F000-$FFFF liegen oder nicht. Bei dem Befehl zum Laden (SCRLD) kann man angeben, an welche Zieladresse die Daten geladen werden sollen.

    Von der Funktionalität stelle ich mir das genauso vor wie bei CHARCOOL. D.h. du hast eine PNG als Eingangsdatei. Und eine Datei mit Spriteblöcken aus dem C64-Speicher als Ausgabedatei. Dann legt man noch die Größe der "Kacheln" fest 1*1 oder 2*1 oder 8*1 oder 1*8 usw. Invertierung Ja oder Nein. Und wieviele Sprites ab welchem Spriteblock in die Spritedatei eingefügt werden sollen.

    Vielleicht sehe ich das mit meinem jugendlichen Eifer zu naiv? Ich weiß es nicht.

  • Ja, die Idee habe ich schon verstanden. Ich habe nur nicht verstanden, wieso du eine Eingabedatei haben wolltest. Ich gehe jetzt aber davon aus, dass du das eigentlich gar nicht willst/brauchst. Es würde reichen, wenn man einfach eine Datei mit den Spritedaten an einer einstellbaren Startadresse ablegt.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.