STOS - The Game Creator

STOS ist nicht ein neues Betriebssystem, sondern eine BASIC-nahe Programmiersprache, um einfach und schnell professionelle Spiele für den ATARI ST zu schreiben. Viele werden sicherlich sagen, "professionelle Spiele" lassen sich nur in Assembler schreiben, da die Interpreter bzw. Compiler zum Beispiel für scrollende Spiele viel zu langsam sind. Aber gerade hier ist der Ansatzpunkt von STOS.

Mit Hilfe vieler, besonders auf den Spielesektor zugeschnittenen Befehle werden langwierige und komplizierte Algorithmen stark verkürzt und um vieles schneller. Somit besteht mit STOS für Assembler-Laien die Möglichkeit, in einer einfachen Sprache zu programmieren und dennoch die Vorzüge der Maschinensprache in Form spezieller Befehle zu genießen. STOS arbeitet in allen drei Auflösungen, wobei die Farbauflösungen für Spiele vorzuziehen sind.

Die Sprites

Da in den meisten Spielen bewegte Raumschiffe oder Figuren über den Bildschirm schweben, flattern, gehen oder rennen, sind Sprites für einen Spielegenerator unverzichtbar. Die Handhabung der Sprites [bis zu 15 gleichzeitig (mit PASTE auch mehr)] ist sehr komfortabel.

Mit 21 verschiedenen Befehlen kann die Einstellung der Bewegung, Animation, Priorität und Kollisionsabfragen der Sprites sogar per Interrupt erfolgen. Das bedeutet, man gibt zum Beispiel Sprite 1 den Befehl, langsam über dem Bildschirm zu gleiten. Der Befehl wird ausgeführt, und während das Sprite 1 sich noch bewegt, werden schon die nächsten Befehle verarbeitet: Beispielsweise fliegt Sprite 2 seinen Angriff und schießt dann Sprite 3 auf Sprite 1.

Doch was helfen die schönsten Sprite-Routinen, wenn die Sprites mühsam entworfen werden müssen? Ein exzellenter Sprite-Editor von MANDARIN-Software ist als STOS-Accessory auf der Systemdiskette vorhanden. Der vollkommen mausgesteuerte Sprite Editor hat zahlreiche Funktionen. So wirkt er fast schon als eigenständiges Malprogramm, bei dem Zeichnen, Ausfüllen, Boxen, Kreise, Ellipsen, Punkte, Linien, Muster, Zoomen, Drehen, Spiegeln, Invertieren usw. kein Problem sind. Außerdem können Ausschnitte aus vorgefertigten oder ge"snap"ten Bildern im Neochrome- oder Degas-Format "geklaut" werden.

Die Animation von Bildsequenzen ist auch vorgesehen. Es lassen sich bis zu sechs Animationen im Speicher halten, die vorwärts oder rückwärts, schnell oder langsam abgespielt werden können.

Zusätzlich gibt es eine Extra-Diskette mit über 600 Sprites zu kaufen. Es muß jedoch beachtet werden, daß animierte Sequenzen aus mehreren Sprites bestehen, so daß effektiv nur 51 Sprites bzw. Sprite-Animationen aus den Bereichen Wasser. Fahrzeuge, Luftfahrzeuge, Fantasy, Raumschiffe, Ungeheuer usw. auf der Diskette vorhanden sind, die großteils recht gut gelungen sind.

Bildschirmmanipulationen

Nicht nur Bewegung von Sprites ist bei Spielen wichtig, sondern auch die Gestaltung und Bewegungen auf dem gesamten Bildschirm hinter den Sprites - sei es. daß einfache Effektblitze, Vergrößern von Bildschirmausschnitten oder professionelles Scrolling gefragt sind.

Mit STOS ist dies relativ einfach zu bewerkstelligen. So definiert man zum Beispiel einen beliebigen Bildschirmausschnitt und gibt die Scrollweite in Punkten in x- und y-Richtung an. Nun wird durch den Befehl SCROLL |Nr. des definierten Bereichs (1-16)| der festgelegte Bildschirmbereich zum Beispiel um 2 Punkte nach rechts und einen Punkt nach unten gescrollt. Dies ist bei "Radar"-Darstellungen eine große Hilfe. Weiter kann mit dem Befehl ZOOM bzw. REDUCE ein bestimmter Bildschirmausschnitt vergrößert oder verkleinert werden, womit sich beispielsweise bei Explosionen sagenhafte Effekte erzielen lassen. Auch für das Umschalten vom normalen Bildschirm auf einen zweiten Hintergrundbildschirm sind entsprechende Befehle vorhanden. So kann auf einem Hintergrundbildschirm das Bild aufgebaut und dann beispielsweise langsam eingeblendet oder sofort dargestellt werden. Mit dem Befehl FADE ist die schrittweise Umschaltung einer Farbe auf eine andere mit Hilfe von Zwischenfarbtönen möglich. Die Bildschirmdaten können zum Abspeichern mit PACK komprimiert werden, um kostbaren Speicherplatz auf dem Datenträger zu sparen.

Sounds und Musik

Doch was ist ein Spiel ohne Toneffekte und Musik? Früher begnügte man sich mit einfachen "BEEP's, doch heutzutage sind bei manchen Spielen die reinsten Komponisten am Werk gewesen und der Hubschrauber tuckert eben wie ein echter. Dafür gibt es entweder vordefinierte Toneffekte wie BOOM (=Bombenexplosion) oder SHOOT (abgefeuerter Schuß), oder man erstellt mit NOISE und ENVEL seine eigenen Toneffekte. Um vollständige Lieder zu erzeugen, dient der Music-Definer, mit dem die Noten eingegeben und die Hüllkurve definiert werden. Auch er ist als spezielles STOS-Accessory auf der Accessory Disk vorhanden.

Das Arbeiten mit GEM

Bei STOS werden GEM-Routinen nicht angesprochen. STOS hat hierfür seine eigenen Routinen, die es ebenfalls ermöglichen, Menüleisten, Windows und Fileselectboxen darzustellen, die von dem gewohnten GEM-Format jedoch nur wenig abweichen und an die man sich schnell gewöhnt. Die Fensterprogrammierung ist aufgrund der Fülle der Befehle (45) zur Text und Window-Verwaltung relativ einfach.

Der Editor

Wichtig für das Erstellen von Programmen ist der Editor, der einem die Fehlersuche erleichtern und die Eingabe der Programmzeilen möglichst einfach machen soll. Leider fühlen sich hier die Commodore C64 Fans eher zu Hause als der OMIKRON oder GFA gewohnte Programmierer. Zeilennummern sind unverzichtbar, und das ständige Eintippen von LIST xxx-yyy ist sehr lästig. Außerdem werden Syntaxfehler erst bei Ausführung der fehlerhaften Zeile angegeben, was einem bei längeren Programmen ganz schön auf den Keks gehen kann. Das systematische und strukturierte Programmieren wird nicht unterstützt, wodurch das Anfertigen der schönsten Spagetti-Codes kein Problem ist. Gut ist jedoch, daß gleichzeitig bis zu vier Programme im Speicher gehalten werden können und der Bildschirm dabei halbiert, gedrittelt oder geviertelt wird (s. Bild). Mit einer Pseudo-Menüleiste, die die 20fache Funktionstastenbelegung zeigt, kann Tipparbeit gespart werden, indem entweder mit der Maus der Befehl angeklickt oder die entsprechende Funktionstaste gedrückt wird.

Vier Programme gleichzeitig im Speicher

Beim allerersten Arbeiten mit STOS wirkt es recht lustig, wenn manche Tasten einen anderen "BEEP" haben als die Buchstabentasten. Bei der Kombination "Control+C" fühlt man sich wie bei einem Konzert von Beethoven. Nach kurzer Gewöhnungszeit ist das jedoch recht angenehm - wer es nicht mag, stellt seinen Lautstärkeregler dann eben auf leise oder schaltet mit CONFIG.ACB den "BEEP" aus. Außerdem kann die Sprache eingestellt werden, mit der die Systemmitteilungen ausgegeben werden: Englisch oder Französisch. Vielleicht kommt bei einer der nächsten Versionen noch Deutsch hinzu.

Grafikfunktionen

Es sind die üblichen Grafikbefehle vorhanden, wie zum Beispiel zur Farbeinstellung, zum Linie, Kreise, Ellipsen, Punkte erstellen, Polyline usw. Auch lassen sich "KUCHEN" mit PIE zeichnen. Die Umschaltung von der LOW- zur MEDIUM-Auflösung ist ebenfalls kein Problem, und mit POLYMARK können verschiedene Zeichen in beliebigen Größen dargestellt werden.

Mitgelieferte Spiele

Im STOS-Lieferumfang sind insgesamt drei einseitig formatierte Disketten ent halten: die Systemdiskette, die STOS-Accessories-Disk [474379 Bytes auf einer (!) Seite] und eine Diskette mit drei in STOS-BASIC geschriebenen Spielen:

BULLET TRAIN: Man steuert einen Zug durch ein Schienensystem mit vielen Weichen, während man von einem anderen Zug verfolgt wird. Außerdem müssen Hindernisse auf den Schienen "weggeschossen" werden. Dabei können mit einem Editor das Schienensystem, der Hintergrund und das Auftauchen der Hindernisse eingestellt werden. Hierbei zeigt sich, wie ein schnelles, horizontal scrollendes Spiel mit sehr gutem Sound und toller Animation mit Hilfe von STOS erstellt werden kann.

ORBIT: Eine Erweiterung von Arkanoid, wobei der Aufbau der Steine ediert werden kann. Es gibt explodierende Steine, zusätzliche Lebenssteine, schwarze Löcher, beschleunigende und Bombenlegesteine und noch zahlreiche Variationen.

ZOLTAR: Ein typisches Galaxia-Spiel, bei dem jedoch anfangs die Art, der Flugweg, die Anzahl der feindlichen Schüsse und das Auftreten der Monster bzw. feindlichen Raumschiffe festgelegt werden können.

Mathematische und trigonometrische Funktionen

Überraschend sind die vielen mathematischen und trigonometrischen Funktionen für ein "SPIELE"-BASIC (DEG, RAD, SIN, COS, TAN, ASIN, ACOS, ATAN, HSIN, HCOS, HTAN, LOG, LN, EXP, =SQR, ABS, INT, SGN, MAX, MIN, SWAP, DEF FN, FN, RND, FIX, UPPERS, LOWERS, FLIPS, SPACE$, STRING$, CHRS, ASC, LEN, VAL, STR$, TIME$, DATE$, HEX$, BIN$...). Aber auch die Funktionen auf Maschinenspracheebene sind zahlreich vorhanden. So gibt es unter anderem ROL, ROR, BTST, BSET und BCHG.

Das Handbuch

Das 285 Seiten starke Handbuch versucht auf den ersten Seiten, den Programmierer mit ein paar kleinen Spielereien mit Sprites, Scrolling und Musik auf die Fähigkeiten von STOS einzustimmen. Danach folgt eine Einführung in den Editor und anschließend werden Sprites, Musik und Grafikbefehle mit vielen Beispielen erklärt. Auch die Programmierung der Windows und Menüleisten wird sehr gut erläutert. Darauf folgt der eigentliche Einstieg in BASIC, wo GOTO, FOR...NEXT, WHILE...WEND, IF.. THEN..ELSE zur Sprache kommen.

Anschließend wird die Vorgehensweise zur Erstellung eines Spieles geschildert und dann eine nähere Erklärung der 85 verschiedene Fehlermeldungen gegeben. Die Einbindung eigener Assembler-Routinen und der Aufbau von STOS werden noch kurz angerissen, bis zuletzt ein ausführlicher Index folgt. Sehr gut ist die Referenzkarte der über 340 Befehle, wo jeder Befehl kurz erklärt wird. Es bleibt nur noch zu hoffen, daß - falls es eine deutsche Übersetzung geben wird durch die Übersetzung des Handbuchs nicht allzu viel an Qualität verlorengeht.

Compiler

Bei sehr komplizierten vertikal scrollenden Ballerspielen ist jedoch die Geschwindigkeit des STOS-Interpreters nicht immer ausreichend. Diese Grenze wurde durch den STOS-Compiler weitgehend beseitigt. Das Besondere an dem Compiler ist, daß er zusammen mit STOS im Speicher gehalten wird und so jedes Programm sofort compiliert werden kann. Compilierte Programme können vom Desktop aus gestartet oder (!) als STOS-BASIC-Programm eingelesen werden. STOS muß zum Testen der compilierten Version also nicht beendet werden. Nicht zufriedenstellend war, daß zwei der drei beigefügten Spiele sich anfangs nicht compilieren ließen, da in einem ein Syntaxfehler und im anderen eine fehlerhafte Mausklickabfrage "eingebaut" sind.

C. Rockenstein



Aus: ST-Computer 09 / 1989, Seite 168

Links

Copyright-Bestimmungen: siehe Über diese Seite