Spiele Entwicklung in Atari Basic

Die Inspiration für diesen Artikel ist ein Video auf YouTube, in dem die Brüder Eric und Robert Anschutz die von ihnen in Atari Basic geschriebene Programme chronologisch vorstellen. Das Herausragende an diesem Video ist das hier – zumindest meines Wissens – das Kreative Werk zweier Hobby Programmierer von den Anfängen bis zu den letzten Projekten von den Machern selbst im Detail, lückenlos vorgestellt wird. Davon kann man sich in dem hier verlinkten Video selbst überzeugen.

Die App- Store in den spähten 1970er bis hin zum Ende der 1980er Jahre war die jeweils bevorzugte Computerzeitschrift [1]. Ob man die dort veröffentlichen Programme nun abgetippt, oder sich als Datasette/ Diskette von der Deutschen Bundespost nach Hause hat liefern lassen, blieb im Ergebnis das Selbe. Man hatte eine brandneues Programm auf seinem Rechner, sei es nun eines der – überwiegend – veröffentlichen Spiele, oder ein sogenanntes Utility. Mit den Jahren wurden die veröffentlichten Programme immer raffinierter bis das allseits beliebte Basic, in der Dämmerung der unaufhaltsam herannahenden 16- Bit Ära (Atari ST, Commodore Amiga), schließlich immer mehr der Maschinensprache weichen musste. Eigentlich schade, denn im Gegensatz zu einem abgetippten Basic Programm konnte man da nicht mehr viel lernen denn, Programme in Maschinensprache waren reine Zahlenkolonnen (für die Kenner, der mit einem Assemblierer bereits übersetze Maschinencode [2]).

Zeitschriften boten vielen Hobby Programmierern die Möglichkeit zur Veröffentlichung ihrer Software. Zwei Pioniere sind Robert und Eric Anschuetz die in dem Folgenden Video ihre gesammelten Werke vorstellen. Am Ende des Artikels ist zudem ein Interview mit den beiden – dass auf Antic, the Atari 8- bit Podcast geführt wurde – verlinkt [3].

Programming Atari 8Bit Computer games in the 1980.

Interessant ist, das die Brüder am Anfang ihrer Schaffensphase auf den Atari Basic Grafikmodus 0 gesetzt haben. Das verdient deswegen eine besondere Erwähnung, weil es sich um einen reinen Textmodus handelt.

Screen Shot 2020-03-28 at 4.00.10 PM
Car Racer, veröffentlicht in der Deutschen Computerzeitschrift
Computer Kontakt (später Atari Magazin).
Unbekanntes Erscheinungsjahr, Programmierer nicht bekannt.
Das Spiel wurde in der Grafikstufe 0 verwirklicht.
Das Auto und der Straßenrand wurde mit
einem geänderten Zeichensatz gestaltet.

Zwar konnten Text- und Hintergrundfarbe inklusive des Bildschirmrandes aus einer Palette von 16 Farben frei gewählt werden, aber, der Text, in diesem Fall als Bildschirmgrafik verwendet, konnte nur einfarbig sein. Der Vorteil und deswegen wohl auch der Grund warum dieser Grafikmodus für die ersten Projekte gewählt wurde, ist der, dass er einfach programmiert werden konnte. Die Brüder haben es geschickt verstanden die Grafik optimal auszunutzen. War das erste Spiel in dieser Grafikstufe noch mit Grafikzeichen aus dem ROM des Atari gestaltet, so wurde in späteren Projekten ein selbst definierter Zeichensatz verwendet – Ramses ist ein sehr schönes Beispiel – und dann sogar ein mehrfarbiges Spielfeld verwirklicht indem Elemente der Player-Missile Grafik des Atari zum Färben von Teilen des Spielfeldes eingesetzt wurde.

Screenshot aus Eric and Robert talk about programming Atari 8Bit computer games in the 1980.
Das von den Brüdern Anschuetz programmierte Spiel Kookys Quest. Der blaue Hintergrund auf der Kartendarstellung wurde
erreicht, indem ein Player– Objekt (C64 Besitzer kennen das als sogenanntes Sprite) geschickt platziert wurde.

In ihren späteren Projekten wurde dann konsequent auf die Grafikstufen 1 und 2 gesetzt. Dabei handelt es sich zwar auch um Textmodi, aber, für die Zeichen können vier Farben verwendet werden. Grafikstufe 12 und 13 war dann der nächste Schritt, in diesen Modi können bereits mehrfarbige Zeichen dargestellt werden (bis zu fünf Farben je Zeichen).

Bemerkenswert ist ausserdem, dass die Brüder nicht dem Beispiel vieler ihrer Zeitgenossen gefolgt sind, nämlich irgendwann das Basic ganz hinter sich zu lassen und zu 100% auf Maschinensprache zu setzen. Die Beiden haben konsequent auf Basic und die Bessere Ausnutzung dieser Sprache mit Hilfe von Maschinensprache gesetzt.

[1] Computronic, eine bekannte Computer Zeitschrift, seinerzeit.
[2] Assembler. Eine Sammlung von Artikeln hier im Blog zur weiteren Recherche.
[3] Antic, the Atari 8 Bit Podcast. Interview mit Eric und Robert Anschuetz.
[4] Mehr zum Thema Basic in diesem Blog.


4 responses to “Spiele Entwicklung in Atari Basic

  • Frederik

    Wie immer sehr interessant zu lesen – und „Legende“ sieht sehr cool aus, kann man das irgendwo herunterladen?
    BTW: Computer Kontakt (eine meiner Lieblingszeitschriften, weil sie einen ansehnlichen ATARI Anteil hatte und man trotzdem über den Tellerrand zu anderen Systemen schauen konnte) war vom Verlag Rätz/Eberle, Computronic war aus dem Tronic Verlag (der auch die ASM herausgegeben hat).

    • Berthold

      Hallo Frederik,

      freut mich das dir der Artikel gefällt. Danke für den Hinweis mit der Computer Kontakt. Ja, die war tatsächlich von Rätz/ Eberle. Ich habe da etwas verwechselt. Bei mir heist es: CK, später Computronic. Das ist falsch!

      Ich glaube „Mein Homecomputer“ ist später in der „Computronic“ aufgegangen. Aus der Ck wurde der Atari- Teil zum „Atari Magazin“. Vielleicht sagt dir der Name Thomas Tausend noch etwas? Der war dort sehr aktiv für den Atari am schreiben. Er hat sehr viele Programme veröffentlicht. Von Peter Einzel, der ,meines Wissens auch bereits in der CK aktiv war, auf jeden Fall aber später im Atari Magazin, will ich jetzt hier gar nicht anfangen, das währe für dich ja quasi Eulen nach Athen tragen 🙂

      Ich fand es echt spannend, wie die Anschuetz‘ Basic immer die Treue gehalten haben. Klar, zuletzt immer unterstützt durch Maschinensprache, aber, da kann man sehen was man aus der kleinen Kiste und der eingebauten Sprache so alles herauskitzeln konnte. Der Ten- Liner Wettbewerb macht das ja quasi zur Tugend und setzt ganz bewusst Grenzen, nicht nur bezüglich der Größe des Programms….

      Meine Vision ist es, das ganz was ich hier so schreibe zu sortieren. Bezüglich der Evolution der in Basic geschrieben Programme lässt sich sicher der ein oder Andere interessante text schreiben.

      Tja, ein bisschen Eigenwerbung habe ich mit den Beispiel Bildern meiner eigenen Programme schon betrieben.
      Legend war das Letzte größere Projekt das ich auf dem kleinen Atari angepackt habe. Ich bin aber genau zu der Zeit auf den ST umgestiegen. Das habe ich mit dem Argument getan, nun, der kleine Atari hat nicht genug Speicher……. Ich habe die Software mit dem Atmas II entwickelt. Tolles Produkt, eine IDE, Editor Assemblierer und Debugger im Speicher, aber, zu wenig Platz 🙂 Das Thema Cross- Development war damals für mich völlig fremd und ich habe dem kleinen Atari dann (zu schnell) den Laufpass gegeben.

      Du kannst dir meine „Ergüsse“ dort anschauen und herunterladen:
      https://github.com/codingbychanche/MyAtari8BitSoftwareCollection

      Grüße

  • Frederik

    Sehr cool, danke! Ich wusste gar nicht, dass Du damals auch in Assembler programmiert hast, aber Legende sieht wirklich nach was aus! Ich fand‘ in Assembler immer schwierig die Spielphysik hinzubekommen, d.h., wie tief fällt der Player, wie kann man smooth von einer Leiter auf eine Plattform hinüberwechseln etc. Da war Jumpman Jr. für mich immer eine Referenz, bei der ich mich gefragt habe, wie man die erreichen kann ;)…
    Und ja, Peter Finzel und Thomas Tausend sind mir auch aus der CK noch ein Begriff – den Assemblerkurs von Finzel habe ich leider damals nicht würdigen/verstehen können, aber mit dem ATMAS-II habe ich mich auch versucht, um BASIC-unterstützende Routinen zu schreiben. Aber der alleine schon der Workflow war schon um einiges schwerfälliger, als heute mit Emulator und Eclipse zu programmieren ;)…

    • Berthold

      Danke Frederik, ja Legende war 100% in Maschinensprache. Ich musste da halt schon ziemlich tricksen, das ich das alles auf dem kleinen Atari direkt entwickeln konnte. Alle Grafiken, zum Beispiel, habe ich mit einem in Basic geschrieben Tool, direkt auf die Level- Disk geschrieben. Platz im Source Code war da beim besten Willen nicht mehr. Wie gesagt, habe dem kleine leider zu früh den Laufpass gegeben. Wer weis was daraus geworden wäre, wenn ich meine ST als Entwicklungssystem genutzt hätte. Mit Cross- Assembler und so. Tja, aber, wie man so schön sagt: Drüben ist das Gras grüner….

      Fun Fact: Jordan Merchner, der Karateka und Price of Persia Macher, der scheint es tatsächlich geschafft zu haben beide Werke direkt auf seinem Apple II zu entwickeln. Ich habe mir seine Bücher gekauft und dort schreibt er nix von einem Cross- Developement.

      Weiteres Fun Fact: Seinerzeits gab es ja auch noch den Atari Macro Assembler. Der wurde in der Happy Computer getestet und man hat es als Nachteil ausgelegt,dass Editor, Assembler und Debbuger getrennt geladen werden mussten. Das sah ich damals genau so und habe auch übersehen, dass das Teil absolut zur professionellen Entwicklungsarbeit taugt. Editor alleine im Speicher, mehr Platz für den Quelltext. Ausserdem, man konnte den Quelltext aufteilen und so etwas wie den include- Befehl benutzen. Damit konnte man also Quelltexte assemblieren, die mehr Speicherplatz beanspruchten als der interne Speicher. Theoretsich also 90 kB oder 180 kB, je nach Laufwerk. Auf der Anderen Seite schreibt der Assembler den Objektcode auch direkt uf Diskette, das heist, keine Beschränkungen durch das vorhandene RAM und dessen Belegung.

      Diese Vorteile habe ich erst Jahre später eindeckt und mich geärgert, dass ich das damals nicht schon ausgenutzt habe für mich.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

%d Bloggern gefällt das: