Sprites auf dem C64 erstellen in den 1980er Jahren

In den frühen 1980er Jahren war die Erstellung von Computergrafiken noch sehr schwierig. Gerade bei bewegten Grafiken auf dem C64 behalf man sich oft mit sogenannten „Sprites“ – einige solcher Vorlagen habe ich noch immer.

Bewegte Computergrafik in den 1980er Jahren
Ein Kamel als Sprite

Ein Kamel als Sprite

Just in diesen Tagen (Mitte November 2020) ist die PlayStation 5 veröffentlicht worden – eine Konsole mit Leistung im Teraflop-Bereich, die in Echtzeit gerenderte 4k-Grafiken darstellt und in der Rechenleistung ungefähr mit einem knapp 60 Millionen teuren Rechner vergleichbar ist, der 2005 noch der schnellste Rechner Deutschlands war.

In den 1980er Jahren sah es natürlich anders aus: Heimcomputer wie der C64, der bis zur Einführung des Amigas die beste Grafik hatte, konnten maximal 320×200 Pixel darstellen – und die waren unbeweglich. Für bewegliche Grafik (wie Spielfiguren, Gegner, Raumschiffe, Schüsse, …) gab es spezielle Objekte, die sogenannten „Sprites“. Und für ein paar Jahre existierte ein Wettbewerb: Der Computer mit den meisten, größten Sprites mit den meisten Farben war automatisch der „bessere“ Spielecomputer.

Alte Skizzen von Sprites für den C64
Leere Sprite-Vorlage (C64)

Leere Sprite-Vorlage (C64)

Zwischen 1985 und 1987 besaß ich einen C64, und bald wurde es langweilig, nur zu spielen. Also begann ich zu programmieren. Das Buch, mit dem ich meine allerersten Schritte machte, besitze ich heute noch! Kurz danach ging es dann logischerweise mit Grafiken weiter. Photoshop erschien erst 1990, also wie „malte“ an dann diese Grafiken?

Ganz einfach: Man verwendete kariertes Papier, und jede karierte Zelle stellte einen Pixel dar. Die Sprites für den C64 waren 24×21 Pixel groß – man stelle sich das auf einem mittlerweile fast schon unterdurchschnittlichen FullHD-Monitor vor – da könnte man fast 90 Sprites nebeneinander setzen! Der C64 konnte 8 (!) solcher Sprites gleichzeitig anzeigen, mit einigen Tricks konnte man das auf 8 pro Zeile ausweiten. Und als ob das nicht genug gewesen wäre, galt die Größe 24×21 Pixel nur für einfarbige Sprites. Im „Multicolor-Modus“ (bei dem maximal 16 Farben, mit weiteren Einschränkungen möglich waren), wurde diese Größe sogar auf 12×24 Pixel reduziert. Eigentlich ein Wunder, dass man dennoch damals so tolle Spiele entwickeln konnte, oder?

Umrechnung in Zahlenwerte
Ufo für "Das Zauberschloß"

Ufo für „Das Zauberschloß“

Schritt 1 war es also, sich ein solches leeres Sprite-Vorlagenblatt zu besorgen. Ich habe damals sehr viele Kopien davon angefertigt (was auch nicht ganz so billig war damals, selbst in schwarz-weiß), einige davon mit Hilfe von Matrizen.

In Schritt 2 musste man die 24 Pixel Breite nochmal in 3 Spalten unterteilen. Damit blieben pro Zeile 3 Spalten mit je 8 Pixeln übrig. Wer rudimentäre IT-Erfahrung hat, der weiß, dass die Zahl 8 eine besondere Bedeutung hat: Jedes Pixel hat für einen Computer entweder den Wert „0“ oder „1“ (In diesem Beispiel etwa: Pixel ist nicht da oder Pixel ist da). Und den Wert 0/1 an einer Stelle im Rechner kann man durch ein sogenanntes „Bit“ setzen – und 8 Bit ergeben ein „Byte“. Eine Zeile einer Sprite-Grafik konnte man also in 3 Bytes abspeichern. In Summe bestand ein einfarbiges Sprite also aus 3×21=63 Byte.

Rechnen… und Fehler
Zahlenwerte eines Sprites

Zahlenwerte eines Sprites

In Schritt 3 berechnete man die tatsächlichen Zahlenwerte, mit denen der Computer dann die Grafik wieder zusammenbauen und darstellen kann. Das tat man im Dualsystem. Ich hatte damals zwar schon einen Taschenrechner – die waren Anfang der 1980er Jahre nicht gerade billig, und nicht in jedem Haushalt waren welche zu finden, aber es war üblich, solche Sachen schnell im Kopf auszurechnen. Wenn man das ein paar Mal gemacht hatte, konnte man das Ergebnis schneller ausrechnen, als die Zahlen in einen Rechner einzutippen.

Und so wurde aus der Grafik oben eine Liste von Zahlen (die ich in diesem Fall, mit leichten Unterschieden zur gezeichneten Grafik, auf der anderen Seite aufgeschrieben hatte). Diese gab man in den Programmcode ein, und wenn man das Programm startete, erschien die Grafik. Ein bewegender Moment…

Mehrere Sprites ergeben ein großes Bild
Ein Schloss aus 9 Sprites

Ein Schloss aus 9 Sprites

Die Bewegung musste man dann selbst programmieren – nichts war damals wirklich so einfach wie heute, in den „guten alten Zeiten“. OK, jetzt hatte man eine sehr kleine Grafik, die aus 24×21 Pixeln bestand.

Und wenn man größere Grafiken anzeigen wollte?

Dann musste man mehrere Sprites zusammenbauen. Auch dafür habe ich noch Beispiele in meinem alten Fundus entdeckt, von denen ich einige zeigen möchte. Ihr könnt euch vorstellen, dass da so manche Erinnerungen hochkamen, als ich diese alten Zettel in einer Plastikhülle entdeckte, die wiederum in einem alten Plastikhefter steckte, wie man ihn nur in den 1980er Jahren kannte. So waren zum Beispiel zwei Schlösser dabei – eins davon sogar aus 9 Sprites.

Der elektronische Glückwunsch zum Geburtstag
Herzlichen Glückwunsch zum Geburtstag - als 10 Sprites

Herzlichen Glückwunsch zum Geburtstag – als 10 Sprites

Und dann war da noch mein wahrscheinlich erster Scrolltext, in Form von vielen hintereinander geschalteten Sprites: „Herzlichen Glückwunsch zum Geburtstag, …“ – das habe ich sogar mehrmals verwendet, denn ich habe auch mehrere Namen gefunden, die danach eingefügt wurden.

Diese kleinen Grafiken sind wahrscheinlich Anfang bis Mitte 1986 entstanden, denn danach verlor ich ein wenig die Lust, auch weil ich dann schon die ersten Grafiken des kommenden Superstars, dem Commodore Amiga, sehen konnte. Und der hatte eigentlich gar keine Limitierungen mehr (nach damaligen Maßstäben), was die Erstellung von Grafiken anging.

Kann wahrscheinlich keiner im Jahr 2020 mehr nachvollziehen, wie man 1985 auf Heimcomputern Grafiken erstellt hat – es war mühselig und voller Restriktionen, aber irgendwie hat man es trotzdem geschafft. Und ich find’s cool, dass einige meiner ersten Computerspielereien immer noch überlebt haben!

Oliver Kilb

Oliver Kilb

Schön, dass ihr vorbeischaut! Viel Spaß auf meiner kleinen Homepage.

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.