Tricks für mehr Tempo: Steve Bak schreibt die schnellsten Scroll-Routinen

Steve Bak, 1952 in Nottingham geboren, blickt wohl auf eine der ungewöhnlichsten Programmierer-Karrieren zurück. Von seinem 16. Lebensjahr an arbeitete Steve 16 Jahre lang unter Tage als Bergarbeiter. Da er sich für Spielautomaten interessierte, kaufte sich der Ehemann und Vater von drei Kindern 1982 im Alter von 30 Jahren seinen ersten Computer: einen »Acorn Atom«. Wie er bald feststellte, gab es für diesen Computer keine Action-Spiele. Für Steve Grund genug, sich die Spiele-Programmierung in Maschinensprache beizubringen.

Als 1983 in England der Heimcomputer-Boom einsetzte, verdiente Steve mit seinem Hobby mehr Geld als mit dem Bergbau: »Genaugenommen bezahlte ich dafür, um in die Mine zu fahren.« Am 4. Februar 1984 gab er diesen Beruf auf und programmiert seither Spiele für den Dragon 32, Commodore 64 und C 16, Enterprise, Sinclair QL, Atari ST und Amiga. Sein erster großer Erfolg war »Karate Kid II« für den ST. »Goldrunner« hält Steve für sein bestes Spiel.

Steve setzt seine Spiele auch auf den Amiga um. »Mir gefällt an beiden Computern der 68000-Prozessor. Er ist einfach traumhaft. Der Amiga hat die bessere Spiele-Hardware, im Kern ist der Amiga auch nichts anderes als eine Spiele-Konsole mit Tastatur. Das ist sein einziger Zweck. Seine Hardware ist sehr schön. Das Betriebssystem macht ihn aber fast unbenutzbar, nicht ganz, aber fast. Er eignet sich deshalb auch nicht für die Softwareentwicklung. Mit dem TOS des ST läßt sich ganz gut arbeiten, auch wenn ich selbst überhaupt nicht auf das Betriebssystem zurückgreife.

Das einzige, was mir am ST fehlt, ist ein horizontales X-Register für ein Scrolling ohne Tricks. Ich brauche weder Tausende von Farben, noch Digi-Sound. So etwas ist oft von Nachteil. Ein Beispiel: Der Sound von Goldrunner auf dem ST ist komprimiert und verbraucht 46 KByte. Der DMA-Sound des Amiga ist zwar sehr schön, läßt sich aber nicht komprimieren. So benötigt der gleiche Sound auf dem Amiga 140 KByte. Da bringe ich viel mehr Effekte im ST unter.

Return to Genesis: Erobern Sie mit der Hilfe von diversen Wissenschaftlern einen fremden Planeten.

Noch ein Beispiel: 4096 Farben im k HAM-Modus sind sehr schön. Was soll ich aber damit, wenn der Prozessor währenddessen anhält? Verglichen mit den 8 MHz des ST ist der Amiga mit seinen 7.114 MHz etwa 10 Prozent langsamer. Stellt der Amiga in der 320 x 200-Punkte-Auflösung 32 Farben dar, so verliert er noch mal 25 Prozent an Geschwindigkeit. In der niedrigen Auflösung ist der ST dann fast doppelt so schnell! 16 Farben reichen außerdem völlig aus.«

Steve schätzt besonders seine Kollegen David Braben und Jeff Crammon. Der eine schrieb »Elite« und »Virus«, letzterer entwickelte »Sentinel«, das Steve für das »tollste Spiel überhaupt« hält. »De-fender« ist bis heute sein Lieblingsautomat, »weil es dabei nur auf die Reaktion ankommt«.

Rasantes RTG-Scrolling

»'Return to Genesis’ ist ’Goldrunner’, auf die Seite gedreht. Der einzige Grund, Goldrunner zu schreiben, war die Behauptung, der ST beherrsche keine schnell scrollenden Spiele. Als die Leute Goldrunner sahen, sagten sie O.K. Aber das ist nur vertikal mit drei Farben. Deshalb habe ich RTG gemacht. Schnelles horizontales Scrolling mit 16 Farben, Parallax Scrolling und unter Objekten hindurchfliegen. Mich reizte hauptsächlich die technische Herausforderung«, so Steve Bak.

Alle Spiele entstehen in Steves Heim auf einem Mega ST. »Devpac II« benutzt Steve zum Assemblieren. »Devpac ist unheimlich schnell und sogar ziemlich intelligent. Findet er beim Assemblieren einen Fehler, macht er keinen zweiten Pass, sondern hört sofort auf. Es ist so offensichtlich, aber nicht selbstverständlich.« Steve bringt pro Jahr etwa sieben Spiele heraus und arbeitet immer an mehreren Projekten gleichzeitig. Grafik und Sound kauft er für seine Programme von anderen Programmierern ein. Die Arbeit an RTG erstreckte sich über etwa neun Monate. Gerade einen halben Tag benötigte Steve für die Scroll-Routine.

Vier Tage später hatte er das Letzte an Geschwindigkeit aus der Routine herausgeholt. Der Trick dieser Routine ist, daß RTG überhaupt nicht scrollt! Nach jedem Bildschirm-Refresh zeichnet der ST das gesamte Bild in einer anderen Position neu. Das ganze ist viel schneller als gewöhnliches Scrolling, denn es macht keinen Unterschied, um wie viele Pixel sich das Bild bewegt. Ob 1 Pixel oder 100 Pixel, das »Pseudo-Scrolling« verbraucht immer dieselbe Rechenzeit. Herkömmliches Scrolling wird um so langsamer, je mehr Pixel es bewegt.

Der Hintergrund ist im Speicher in 16 Positionen vorgeshiftet und wird zusammen mit dem Parallax-Effekt nur noch in den Bildschirmspeicher kopiert.

Steve Bak, der nie ein Buch über Programmierung gelesen hat, hält solche Tricks für eine Frage des Nachdenkens. »Der ST ist noch lange nicht ausgereizt. Es hängt nur vom Programmierer ab, neue Wege des Betrugs zu finden. Je mehr Tricks er anwendet, desto besser ist das Resultat. Es gibt außerdem nichts auf einem Heimcomputer, was nicht jemand schon vorher einmal auf einem Spielautomaten gemacht hat.«

Steve schreibt alle Spiele zunächst für den ST und paßt den Code dann an den Amiga an: »Ich habe bei RTG für den ST nur die Tracks von 0 bis 6 verändert, und schon hatte ich die Amiga-Version.«

Bei einem neuen Spiel setzt sich Steve sofort hin und programmiert es. Das Spielkonzept entwickelt sich dabei in vielen kleinen Schritten. Nur ein paar Routinen, wie die zur Tastatur- und Joystick-Abfrage, übernimmt er aus fertigen Programmen. Alles andere schreibt er von Grund auf neu: »Für jedes Spiel programmiere ich andere Zeichen-Routinen, die so schnell sind, wie es nur irgend geht. Mit dem grundlegenden Spiel habe ich dann ungefähr 50 Prozent der Arbeit geschafft. In der zweiten Hälfte sitze ich an der Feinarbeit. Wenn das Spiel auch technisch gut sein soll, muß man das Betriebssystem umgehen.«

Auch Steve Bak hat einen Tip für ambitionierte Spiele-Programmierer: »Achtet auf die Firma, die Euer Spiel vertreibt. Denn es gibt mehr Firmen, die mich nicht bezahlt haben, als umgekehrt.« (T. Bosch/hb)


Tarik Ahmia
Aus: ST-Magazin 01 / 1989, Seite 143

Links

Copyright-Bestimmungen: siehe Über diese Seite