★ APPLICATIONS ★ AIDE A LA CREATION DE JEUX ★ ACB : ARCADE CONSTRUCTION BASIC ★ |
Spiele konstruieren: Do it yourself mit ACBasic (CPC Magazin) | ACB : ARCADE CONSTRUCTION BASIC (CPC Amstrad International) | ACB : ARCADE CONSTRUCTION BASIC (Aktueller Software Markt) |
55 neue Befehle machen den CPC 464 erst richtig fit Jedem, der es leid ist, vorgefertigte Spiele zu kaufen und dann auch noch vor dem Problem zu stehen, wie man diese von Cassette auf Diskette kopiert, sei gleich vorweg das ACBasic (Arcade Construction Basic) empfohlen. Dabei handelt es sich um eine Befehlserweiterung des CPC-464-Basic, die über die In-directions des 464 eingehängt wird, also keine RSX-Erweiterung. Laufwerke von vortex und vor allem die RAM-Karte derselben Firma konnten die Arbeit nicht behindern, aber unterstützen. Die 55 neuen Befehle beschäftigen sich hauptsächlich mit der Erzeugung und Steuerung von Sprites. Dies sind genau definierte Bildschirmbereiche, deren Breite und Höhe in Pixels gemessen werden. Der Cursor des CPC ist in MODE 2 ganze 8 mal 8 Pixels groß, in MODE 0 ist er physikalisch 32 Punkte breit. Die Höhe beträgt wiederum 8 Pixel. Die Positionierung eines Sprites erfolgt wie bei den Befehlen MOVE, DRAW und PLOT im Schneider-Basic. Die linke, untere Ek-ke des Bildschirms hat dabei die Koordinaten 0,0. Die Sprites lassen sich dann gezielt in 8 Richtungen über den Bildschirm bewegen, und zwar ohne die Zeit des Betrachters mehr als notwendig zu beanspruchen. Da nur in MODE 0 gearbeitet werden kann, mit Ausnahme der Befehle in Tabelle 2, stehen einem somit vertikal 200 und horizontal 160 Punkte zur Verfügung. Allerdings kann ein einzelnes Sprite bis zu 255 Bildpunkte hoch und breit sein. Dann ist jedoch nur ein Ausschnitt von ihm zu sehen. Solche Supersprites lassen sich konkret als bewegter Hintergrund verwenden, wie zum Beispiel die wogende See hinter einem Schiff. Sprites, die über einen Bildschirmrand hinausbewegt werden, erscheinen am gegenüberliegenden. Dies aber erst, nachdem sie auf der einen Seite völlig verschwunden sind. Spaßige Effekte, wie halbes Männchen am rechten und linken Bildschirmrand, bleiben einem somit, zumindest bei Spritegrößen bis zu 55*99 Punkten, erspart. Dazu ist um den Bildschirm ein fiktiver Rand gezogen, um auch den Hintergrund sauber verschieben zu können. Bewegt sich der Hintergrund zum Beispiel nach links, kann man im nicht sichtbaren rechten Teil schon neue Elemente anfügen, die dann langsam nachrücken. Ein sehr effektvoller Befehl ist WAY. Damit kann man potentielle Feindsprites auf vorgegebenen Wegen die Landschaft beleben lassen. Das erspart viel Rechenzeit und Kollisionstests, obwohl gerade für letzteres auch ein zeit- und arbeitsschonender Befehl zur Verfügung steht. Auch der Befehl ANIMATE ist eine äußerst nützliche Einrichtung für bewegte Grafik. Mit ihm lassen sich mehrere Sprites zu Bewegungsabläufen zusammenfassen, also alle Phasen einer Schrittbewegung oder der Flug des Phönix in die Asche. Echte Angriffe der Gegner lassen sich mit SPRGOTO verwirklichen. Ein oder mehrere so aktivierte Sprites werden auf Teufel komm raus versuchen, an das jeweüs zugeordnete Opfer heranzukommen. Dies ist natürlich nur sinnvoll, wenn es sich bei den Verfolgten um vom Spieler oder den Spielern steuerbare Figuren handelt. Die Steuerung wird mit SPRGOBJ oder SPRGOBK (Sprite go by joy/key) ermöglicht. Aber in diesem Falle nützt einem das gar nichts. Die mit SPRGOTO auf die Reise geschickten Sprites folgen unerbittlich in jede Richtung, auch diagonal, zur Not auch noch in den nicht sichtbaren Bildbereich. Damit der Abstand nicht immer gleich bleibt, kann man auch noch die Bewegungsgeschwindigkeiten mit XSTEP und YSTEP erhöhen oder erniedrigen. Um die wohl zeitaufwendigste Arbeit zu erledigen, nämlich die Sprites zu definieren, gibt es zwei Wege. Beim ersten kann man zwei spezielle Befehle (SPRDEF und SPRDAT) des ACBasic verwenden. Der zweite, durchschaubarere und somit anwenderfreundlichere, ist der mitgelieferte Spritedesigner. Mit ihm lassen sich mit Hilfe von Joystick, Cursortasten, COPY und Zehnerblock doch ganz ansehnliche Gebilde er-tüpfeln, abspeichern, laden und editieren. Und damit man sie auch in seinem Programm verwenden kann, wird eine kleine, in Basic geschriebene Subroutine erzeugt, die die Sprites mit den Befehlen SPRDEF und SPRDAT für die Ewigkeit festhält. Diese Routine kann wiederum ganz einfach mit MERGE an ein Basic-Programm, das unter der Erweiterung laufen soll, angefügt werden. Dazu wird sie auch in dem für MERGE erforderlichen ASCII-Format abgespeichert. Zusätzlich zu den Der-Bildschirm-lebt-Befehlen gibt es noch einige andere, die auch in MODE 2 arbeiten, weü sie teilweise nichts mit Grafik zu tun haben. Einige von ihnen sind auf den CPC der 6er-Reihe fest installiert. Dazu gehören unter anderem GPEN, GPAPER und GMODE, mit denen der Stift und das Papier des Grafikmodus festgelegt werden können. Mit GMODE kann zwischen Überschreiben, XOR, AND und OR gewählt werden. Was das im einzelnen bedeutet, steht im CPC-Handbuch bei Steuercodes. Dazu kommen noch die Möglichkeiten, Text invers und transparent darzustellen. Die Möglichkeit der Buchstabendrehung und -Spiegelung ist beinahe schon zu den Gags zu zählen, es sei denn, man benutzt den Befehl SYMBOL, um Minisprites zu kreieren (8*8, 16*8 und 32*8 Zeichenmatrix, je nach MODE). Ein weiterer Befehl von 664/6128 ist COPYCHR, der im ACBasic als TREAD implementiert ist. Mit ihm lassen sich jetzt Zeichen, die schon auf dem Bildschirm zu sehen sind, wieder in eine Variable einiesen. Sie müssen jedoch in der Symboltabelle des CPCs vorhanden oder mit dem Befehl SYMBOL definiert worden sein. Vor dem Einlesen muß der Cursor mit dem Befehl LOCATE positioniert werden. Wer ein Anhänger des schnellen Bildwechsels ist, kommt auch auf seine Kosten. Mit dem Befehl BANK kann man zwischen den RAM-Bereichen 4000h und C000h umschalten. Während also mit BANK 0 der Bereich 4000h bis 7FFFh zu sehen ist, kann man mit DRAWON 1 den Bildschirmbereich C000h bis FFFFh als Ausgabekanal benutzen. Sobald das Bild gezeichnet ist, schaltet man mit BANK 1 auf den oberen Bereich um. Das neue Bild wird dann sofort als Ganzes dargestellt. Sonstige ACBasic-Befehle
Eine echte Spezialität ist der Befehl zum Programmieren des Soundchips, der sich ja in Form eines AY-3-8912 im CPC befindet. Man kann so ganz leicht über 8 der dort fest eingebauten Hüllkurven verfügen. Dadurch stehen einem schon ganz ordentliche Soundeffekte ohne große Klimmzüge zur Verfügung. Auch an die Tastatur wurde gedacht. Der Befehl CLEAR KEY der CPC-6er-Reihe wurde übernommen. Sicherheitsabfragen werden damit noch sicherer. Bisher wurden diese gelegentlich einfach übergangen, da man die erforderliche Taste schon gedrückt hatte, bevor überhaupt nach ihr gefragt wurde. Jetzt kann man vor Ausgabe der Meldung den Tastaturpuffer löschen. Neu ist auch das An- und Abschalten von CAPS LOCK aus einem Programm heraus. Programme sollen einem ja Routine-Handlungen abnehmen. Die Funktion WAIT KEY ist etwas mager ausgefallen: die gedrückte Taste wird nämlich nicht in einer Variablen zurückgemeldet. Man kann also nicht auf einfache Weise erfahren, welche Taste gedrückt wurde. Aber das ist auch fast der einzige Schwachpunkt des ACBasic. Zu guter Letzt gibt es noch für die Assemblerfreaks einen XCALL, mit dem die Register AF bis HL gefüllt werden können und die Routine (angesprun-gen?) aufgerufen wird. Dann, aber erst dann, ist die Ideenvielfalt von ACBasic erschöpft und die des Anwenders gefordert. Wer schon Basic-Kenntnisse besitzt, dürfte mit der Handhabung dieses Programms keine Schwierigkeiten haben, da es sich nahtlos ins Locomotive-Basic einfügt und alle Befehle im Handbuch mit kleinen Beispielen veranschaulicht sind. Dennoch wäre unbedingt noch ein kleiner Anhang wünschenswert, in dem die Nutzung der ACBasic-Routinen aus Maschinenprogrammen heraus zumindest andeutungsweise erwähnt wird. Die Anhänger des Maschinencodes gehören inzwischen wirklich keiner ausgeflippten Minderheit mehr an und wären sicher dankbar, da es die langwierige Sucherei mit dem Disassembler abkürzen würde. Daß die Programmknackerei nicht verhindert werden kann, wurde vom Vertreiber schon berücksichtigt. Eine Kopiererlaubnis, um die mit ACBasic konstruierten Spiele auch verkaufen zu können, fehlt aber noch. ACBasic-Befehle
Bei aller Begeisterung darf jedoch eines nicht vergessen werden: Das eigentliche Programmieren nimmt einem ACBasic nicht ab. Also, kaufen und ab geht die Post mit 1000 Sprites und spitzen Schreien, das ist nicht möglich. Ein Programm will erst einmal geschrieben und die Sprites müssen entworfen sein. Wer aber glaubt, mit Basic zurechtzukommen, sollte mit der Erweiterung eher seinen Spaß als Schwierigkeiten haben. H. H. Fischer ,CPC Magazin |
|
|