|
|




80er-Jahre Retro-Karriere III:Persian Gulf Inferno 2/3



Wie das bei einer mehrteiligen Textreihe so ist: Gut wenn man weiß was bisher geschehen ist. Teil Eins ist hier zu finden. Und jetzt geht´s weiter.
Verdammter Ehrgeiz. Meine C64-Umsetzung des Antiterror-Actiongame Persian Gulf Inferno sollte dem Amiga-Original möglichst ähnlich sehen. Musste alles aus der alten Hardware herauskitzeln. Ich wollte ein weiches Vier-Wege-Scrolling. Unbedingt. Damit die Kulisse der Heldenfigur schön sanft in alle Himmelsrichtungen folgt, sobald sie sich über Aufzüge und Treppen nach oben und unten, oder durch die Flure nach links und rechts bewegt. Ich wollte den Multicolor-Modus des C64 nutzen. Die meisten Programmierer lieben ihn wegen seiner flexiblen Farbhandhabung – ich auch. Der Multicolor-Modus lässt dir die Wahl. Er zeigt Bilder entweder mit vier Farben und sehr hohem Tempo an, oder mit bis zu 16 Farben – aber das kostet dann enorm viel Prozessorleistung und bedingt erheblich aufwändigere Programmierung. Hätte aber den charmanten Nebeneffekt, dass ich durch einen weiteren Trick zumindest Teile der Umgebung – für Kenner: einzelne acht-mal-acht-Characters – in voller Hires-Auflösung mit 320 x 256 Pixel zeichnen kann. Dadurch fällt der eine große Nachteil des Multicolor-Modus weniger ins Gewicht, nämlich die halbierte Auflösung von nur noch 160 x 256 Bildpunkten. Der Multicolor-Modus ist der Grund dafür, dass so viele 64er-Spiele arg klobig aussehen. Die Rundungen an den Rohrleitungen zum Beispiel, die ich mir auf so einer Bohrinsel vorstelle, sehen in Hires deutlich weiblicher aus als in purem Multicolor.

Die einzelnen Grafikelemente entstehen damals nicht mehr auf Karopapier wie noch für mein Jump´n´Run-Frühwerk Twinky goes hiking. Inzwischen gab es leistungsfähige Malprogramme und Editoren, die sogar Amiga-Grafik auf das C64-Format herunter rechnen können. Sie machen dabei Fehler, man muss nacharbeiten, trotzdem eine große Hilfe.
Die Umsetzung eines fehlerfreien Multicolor-Scrolling in alle Himmelsrichtungen ist allerdings ECHT schwer zu programmieren. Ich lerne: Den gesamten Bildschirm inklusive Farbattributen animieren, das sieht man aus gutem Grund nur ganz selten in Spielen für den Commodore 64. Selbst technische Meisterwerke wie Wizball verzichten auf die volle 16-Farb-Power und bescheiden sich lieber mit dem deutlich weniger komplexen Vierfarb-System. Scheisse, ist das zeitkritisch und kompliziert. Ungefähr ein Jahr dauern die Entwicklungs-Arbeiten. Die Schule lag in diesen Monaten brach. Ich verbringe meine Zeit lieber mit Assembler als Geometrie. Irgendwann erhalte ich einen Brief vom Schuldirektor persönlich: Ob ich mich denn mal wieder bei ihm im Hause blicken lassen möchte. Eher nicht, denn das Abitur lasse ich sausen. Meine Eltern sind entsetzt und überreden mich etliche Monate später zumindest zu einer Ausbildung als Industriekaufmann.

Dafür bin ich ihnen heute sehr dankbar. Aber im Sommer 1989 hänge ich anderen Gedanken nach. Ich überlege, wie ich die Figuren so groß kriege, das sie dem Amiga-Originalspiel nahe kommen. Die gängige Methode auf dem Commodore 64 – also die Figuren mit Hilfe der in den VIC-Videochip integrieren Hardware-Sprites zeichnen – stößt an ihre Grenzen. Allein die Abbildung des Helden benötigt zwei Hardware-Sprites, jeder Terrorist verbraucht weitere zwei. Der VIC kann eigentlich nur acht Sprites zeichnen. Wenn also jede Figur zwei Sprites verbraucht, ergibt sich daraus eine simple Rechnung: Ohne Tricks und Kniffe würden neben dem Befreier maximal zwei Terroristen und eine Geisel auf dem Bildschirm Platz finden. Viel zu wenig.

Auf aktuellen Commodore-64-Emulatoren
läuft Persian Gulf Inferno ganz prima.


Die Lösung bringt ein sogenannter Sprite-Multiplexer, wie er beispielsweise bei Oceans großartiger C64-Arcadeumsetzung Terra Cresta und Sensible Softwares vielleicht größtem Wurf auf dem C64, dem originellen Ballergame Wizball zum Einsatz kommt. Mit Hilfe dieses Software-Trick lässt sich die Sprite-Anzahl vervielfachen. Man biegt dem Commodore 64 über Rasterzeilen-Interrupts und Maschinensprache-Codes bei, er soll zu ganz bestimmten Zeitpunkten ein im oberen Bildteil bereits verwendetes Sprite nehmen, und es im Bildteil darunter ein zweites oder sogar drittes Mal zeichnen. Das Timing ist ein bisschen kritisch. Bestimmte Prozessor-Kommandos müssen auf die hunderstel Sekunde genau zwischen der 6510-CPU und dem VIC-Videochip synchronisiert werden, sonst gibt´s Bildsalat.

Ich muss den Code sorgfältig ausbalancieren und darauf achten, dass nie mehr als vier menschliche Figuren – also acht Sprites – nebeneinander positioniert sind. Andernfalls gerät der Sprite-Multiplexer in Panik und bringt eher wildes Geflacker als fiese Araber hervor. Irgendwann klappt´s. Der Rest ist Geduldsarbeit. Bitgepfrimel. Wanzensuche. Was Programmierer damals wie heute Tag für Tag auf sich nehmen.

Das Amiga-Original von Persian Gulf Inferno
wurde kurz nach Erscheinen indiziert. Für den
deutschen Markt ändern wir nur den Namen
auf North Sea Inferno, das Gamplay bleibt unangetastet.


Dank Multiplexer rennen nun also problemlos fünf oder mehr fiese arabische Terroristen über den Bildschirm. Sie sind allerdings der Grund dafür, dass das Amiga-Original von Persian Gulf Inferno kurz nach Erscheinen aus dem Handel verschwindet. Ich kriege das Drama erstmal gar nicht mit. Die Amiga-Version erscheint einige Zeit, bevor ich meine Umsetzung für den Commodore 64 vollenden kann. So ungefähr vier Wochen vor Beendigung der Arbeiten klingelt mich frühmorgens das Telefon aus dem Bett. Ein aufgeregter Ralf Kleinegräber – Chef meines Auftraggebers Magic Bytes – ruft in die Leitung: die Bundesprüfstelle habe Persian Gulf Inferno indiziert. Warum, wisse er nicht so genau. Er vermute aber, es läge an den arabischen Terroristen. Während wir telefonieren, ahne ich Schlimmes.

Meine Textreihe Eine 80er-Jahre Karriere besteht aus mehreren Kapiteln, die in aufeinanderfolgenden Ausgaben des Retro Magazin veröffentlicht wurden und die ich hier online nachreiche. Für meinen Blog hab ich das Kapitel Persian Gulf Inferno in drei Unterkapitel gesplitte.


P.S.: Noch etwas Werbung in eigener aktueller Sache, man möge mir verzeihen: Lust auf kreatives Gameplay, das ebenfalls große Gefühle auslöst? Dann lade Dir Anno Domini auf dein iPhone oder iPad. Code by me, Gamedesign by Frank Furtwängler, Publishing bei Ravensburger Digital.




80er-Jahre Retro-Karriere III:
Persian Gulf Inferno 2/3

Wie das bei einer mehrteiligen Textreihe so ist: Gut wenn man weiß was bisher geschehen ist. Teil Eins ist hier zu finden. Und jetzt geht´s weiter.
Verdammter Ehrgeiz. Meine C64-Umsetzung des Antiterror-Actiongame Persian Gulf Inferno sollte dem Amiga-Original möglichst ähnlich sehen. Musste alles aus der alten Hardware herauskitzeln. Ich wollte ein weiches Vier-Wege-Scrolling. Unbedingt. Damit die Kulisse der Heldenfigur schön sanft in alle Himmelsrichtungen folgt, sobald sie sich über Aufzüge und Treppen nach oben und unten, oder durch die Flure nach links und rechts bewegt. Ich wollte den Multicolor-Modus des C64 nutzen. Die meisten Programmierer lieben ihn wegen seiner flexiblen Farbhandhabung – ich auch. Der Multicolor-Modus lässt dir die Wahl. Er zeigt Bilder entweder mit vier Farben und sehr hohem Tempo an, oder mit bis zu 16 Farben – aber das kostet dann enorm viel Prozessorleistung und bedingt erheblich aufwändigere Programmierung. Hätte aber den charmanten Nebeneffekt, dass ich durch einen weiteren Trick zumindest Teile der Umgebung – für Kenner: einzelne acht-mal-acht-Characters – in voller Hires-Auflösung mit 320 x 256 Pixel zeichnen kann. Dadurch fällt der eine große Nachteil des Multicolor-Modus weniger ins Gewicht, nämlich die halbierte Auflösung von nur noch 160 x 256 Bildpunkten. Der Multicolor-Modus ist der Grund dafür, dass so viele 64er-Spiele arg klobig aussehen. Die Rundungen an den Rohrleitungen zum Beispiel, die ich mir auf so einer Bohrinsel vorstelle, sehen in Hires deutlich weiblicher aus als in purem Multicolor.

Die einzelnen Grafikelemente entstehen damals nicht mehr auf Karopapier wie noch für mein Jump´n´Run-Frühwerk Twinky goes hiking. Inzwischen gab es leistungsfähige Malprogramme und Editoren, die sogar Amiga-Grafik auf das C64-Format herunter rechnen können. Sie machen dabei Fehler, man muss nacharbeiten, trotzdem eine große Hilfe.
Die Umsetzung eines fehlerfreien Multicolor-Scrolling in alle Himmelsrichtungen ist allerdings ECHT schwer zu programmieren. Ich lerne: Den gesamten Bildschirm inklusive Farbattributen animieren, das sieht man aus gutem Grund nur ganz selten in Spielen für den Commodore 64. Selbst technische Meisterwerke wie Wizball verzichten auf die volle 16-Farb-Power und bescheiden sich lieber mit dem deutlich weniger komplexen Vierfarb-System. Scheisse, ist das zeitkritisch und kompliziert. Ungefähr ein Jahr dauern die Entwicklungs-Arbeiten. Die Schule lag in diesen Monaten brach. Ich verbringe meine Zeit lieber mit Assembler als Geometrie. Irgendwann erhalte ich einen Brief vom Schuldirektor persönlich: Ob ich mich denn mal wieder bei ihm im Hause blicken lassen möchte. Eher nicht, denn das Abitur lasse ich sausen. Meine Eltern sind entsetzt und überreden mich etliche Monate später zumindest zu einer Ausbildung als Industriekaufmann.

Dafür bin ich ihnen heute sehr dankbar. Aber im Sommer 1989 hänge ich anderen Gedanken nach. Ich überlege, wie ich die Figuren so groß kriege, das sie dem Amiga-Originalspiel nahe kommen. Die gängige Methode auf dem Commodore 64 – also die Figuren mit Hilfe der in den VIC-Videochip integrieren Hardware-Sprites zeichnen – stößt an ihre Grenzen. Allein die Abbildung des Helden benötigt zwei Hardware-Sprites, jeder Terrorist verbraucht weitere zwei. Der VIC kann eigentlich nur acht Sprites zeichnen. Wenn also jede Figur zwei Sprites verbraucht, ergibt sich daraus eine simple Rechnung: Ohne Tricks und Kniffe würden neben dem Befreier maximal zwei Terroristen und eine Geisel auf dem Bildschirm Platz finden. Viel zu wenig.

Auf aktuellen Commodore-64-Emulatoren
läuft Persian Gulf Inferno ganz prima.


Die Lösung bringt ein sogenannter Sprite-Multiplexer, wie er beispielsweise bei Oceans großartiger C64-Arcadeumsetzung Terra Cresta und Sensible Softwares vielleicht größtem Wurf auf dem C64, dem originellen Ballergame Wizball zum Einsatz kommt. Mit Hilfe dieses Software-Trick lässt sich die Sprite-Anzahl vervielfachen. Man biegt dem Commodore 64 über Rasterzeilen-Interrupts und Maschinensprache-Codes bei, er soll zu ganz bestimmten Zeitpunkten ein im oberen Bildteil bereits verwendetes Sprite nehmen, und es im Bildteil darunter ein zweites oder sogar drittes Mal zeichnen. Das Timing ist ein bisschen kritisch. Bestimmte Prozessor-Kommandos müssen auf die hunderstel Sekunde genau zwischen der 6510-CPU und dem VIC-Videochip synchronisiert werden, sonst gibt´s Bildsalat.

Ich muss den Code sorgfältig ausbalancieren und darauf achten, dass nie mehr als vier menschliche Figuren – also acht Sprites – nebeneinander positioniert sind. Andernfalls gerät der Sprite-Multiplexer in Panik und bringt eher wildes Geflacker als fiese Araber hervor. Irgendwann klappt´s. Der Rest ist Geduldsarbeit. Bitgepfrimel. Wanzensuche. Was Programmierer damals wie heute Tag für Tag auf sich nehmen.

Das Amiga-Original von Persian Gulf Inferno
wurde kurz nach Erscheinen indiziert. Für den
deutschen Markt ändern wir nur den Namen
auf North Sea Inferno, das Gamplay bleibt unangetastet.


Dank Multiplexer rennen nun also problemlos fünf oder mehr fiese arabische Terroristen über den Bildschirm. Sie sind allerdings der Grund dafür, dass das Amiga-Original von Persian Gulf Inferno kurz nach Erscheinen aus dem Handel verschwindet. Ich kriege das Drama erstmal gar nicht mit. Die Amiga-Version erscheint einige Zeit, bevor ich meine Umsetzung für den Commodore 64 vollenden kann. So ungefähr vier Wochen vor Beendigung der Arbeiten klingelt mich frühmorgens das Telefon aus dem Bett. Ein aufgeregter Ralf Kleinegräber – Chef meines Auftraggebers Magic Bytes – ruft in die Leitung: die Bundesprüfstelle habe Persian Gulf Inferno indiziert. Warum, wisse er nicht so genau. Er vermute aber, es läge an den arabischen Terroristen. Während wir telefonieren, ahne ich Schlimmes.

Meine Textreihe Eine 80er-Jahre Karriere besteht aus mehreren Kapiteln, die in aufeinanderfolgenden Ausgaben des Retro Magazin veröffentlicht wurden und die ich hier online nachreiche. Für meinen Blog hab ich das Kapitel Persian Gulf Inferno in drei Unterkapitel gesplitte.


P.S.: Noch etwas Werbung in eigener aktueller Sache, man möge mir verzeihen: Lust auf kreatives Gameplay, das ebenfalls große Gefühle auslöst? Dann lade Dir Anno Domini auf dein iPhone oder iPad. Code by me, Gamedesign by Frank Furtwängler, Publishing bei Ravensburger Digital.