Adventures ohne Abenteuer
Nein! In diesem Artikel geht es nicht um die langweiligsten Adventurespiele der letzten Monate. Wir berichten über ein neues Produkt aus England, mit dem jeder seine eigenen Adventures selber basteln kann.
Es ist nicht leicht, ein Adventure-Spiel zu schreiben. Diese Erkenntnis wird wohl schon jeder mal gemacht haben, der sich mit Parsern, Grafikroutinen und Objektorganisation beschäftigt hat.
Welcher Aufwand zu treiben ist, um ein Adventure zu programmieren, wissen die Leser des zweiten Adventure-Sonderheftes (Sonderheft 4/86). Dort wurde auf über 100 Seiten der technische Aspekt der Adventure-Programmierung erklärt.
Trotzdem bleibt die Programmierung eines guten Adventures kompliziert. Eine englische Firma verspricht nun Abhilfe: Der »Graphic Adventure Creator« von Incentive Software hilft auch denjenigen, die von Basic, Bits und Bytes keine Ahnung haben, ein sauberes Adventure auf den Bildschirm zu bringen. Den anderen, die gut programmieren können, erleichtert er die Arbeit ungemein.
Das größte Problem bei der Programmierung eines Adventures ist der Speicherplatz. Da mit dem GAC nur Adventures geschrieben werden können, die nicht von Diskette nachladen, mußten die einzelnen Editoren recht spartanisch gehalten werden. So bleiben, obwohl der komplette GAC im Speicher steht, noch 23 Kilobyte für ein Adventure frei.
Diese 23 Kilobyte werden in erster Linie von den Texten des Adventures belegt. Damit man möglichst viel Text unterbringt, wird dieser gepackt abgelegt und vor der Ausgabe wieder entpackt. Durch diesen Trick sollen im günstigsten Fall bis zu 35 KByte ungepackter Text in den Speicher passen. Das ist wesentlich mehr, als bei einem in Basic programmierten Adventure ohne Textpacker überhaupt möglich ist. Auch so manches professionelle Adventure hat weitaus weniger Text! Ein professionelles Adventure, das nicht nachlädt, hat üblicherweise weniger als 20 KByte ungepackten Text.
Wortschatz mit Pfiff
Vom Text völlig getrennt ist der Wortschatz, der sich allerdings den Speicher mit dem Text teilen muß. Die Wortliste ist in drei Bereiche aufgeteilt: Verben, Adverben und Objekte.
Der GAC versteht bis zu 255 verschiedene Verben, die durch wiederum bis zu 255 Adverben ergänzt werden können. Damit lassen sich Satzkonstruktionen wie »Open the door carefully« oder »Put the key into...« verarbeiten. Weiterhin gibt es 255 verschiedene Objekte und Substantive Ein Substantiv bezeichnet ein Wort, das der Parser erkennen soll, wie beispielsweise »key«. Ein Objekt hingegen enthält die Objektbeschreibung (»a silver key«), den Raum, in dem sich das Objekt befindet und das Gewicht des Objekts. Die Adverben können auch als Adjektive verwendet werden, um Objekte zu spezifizieren: »blue, red, green box« wäre ein Beispiel.
Ein Adventure darf bis zu 9999 Räume haben. Das erscheint etwas viel, vergleicht man diese Zahl mit den 255 programmierbaren unterschiedlichen Texten. Allerdings lassen sich so beispielsweise Höhlenlabyrinthe entwerfen, die viele identisch aussehende Räume haben.
Der Parser kann spielend auch kompliziertere Sätze wie »Examine the key then put it in the box« analysieren. Wer etwas Mühe investiert, kann dem Parser auch Deutsch beibringen! Alle Texte und Eingaben können in jeder beliebigen Sprache programmiert werden. Der Parser würde dann »Untersuche den Schlüssel, dann lege ihn in die Schachtel« verstehen. Der Aufwand und der Speicherplatzbedarf für ein deutsches Adventure ist aber wesentlich höher als bei einem englischen. Außerdem muß man auf deutsche Umlaute verzichten. Der Parser erkennt übrigens bis zu 34 Buchstaben in einem Wort. Damit lassen sich sogar Wörter wie »Meerschweinchen« und »Meerschwämme«, die immerhin acht identische Buchstaben haben, unterscheiden. Daß der Parser sogar Synonyme versteht (»speak«, »talk«) und auch den Begriff »it« (»es«) richtig zu deuten vermag, ist da keine Besonderheit mehr. Zudem ist der Parser noch recht flott und benötigt meist nur Sekundenbruchteile, um den eingegebenen Satz durchzuforsten.
Viel Grafik mit wenig Speicher
Neben Worten zur Beschreibung von Räumen und Objekten, lassen sich auch Bilder einsetzen. Zu diesem Zweck wurde ein einfacher Grafik-Editor in den GAC integriert. Die Betonung liegt hier auf einfach, denn die Programmierer konnten gerade die notwendigsten Funktionen in den Editor einbauen. So ist noch nicht einmal Joystickbedienung möglich, der Zeichen-Cursor wird mit den Cursor-Tasten bewegt.
Damit die Bilder so wenig Speicherplatz wie nötig beanspruchen, werden nicht die Bilder selbst, sondern deren Zeichenvorschrift gespeichert. Wenn das Bild also aufgerufen wird, sieht man, wie Linie für Linie gezogen oder Flächen gefüllt werden. Das geht allerdings in Sekundenschnelle, verursacht also keine Wartezeiten beim Spielen des Adventures. Dadurch kann man aber keinerlei Bilder aus anderen Grafikprogrammen übernehmen.
Die Bilder dürfen maximal vier verschiedene Farben haben. Damit es aber trotzdem etwas bunter zugeht, sind diese Farbzuweisungen für jedes Bild individuell. Außerdem unterstützt die Fill-Routine das Verwenden von Mischfarben. Damit lassen sich dann schon ganz tolle Grafikbilder zaubern, wie unsere Bilder 1 und 2 zeigen. Man sollte aber bedenken, daß jedes zusätzliche Bild kostbaren Speicherplatz schluckt, so daß man mit Grafiken möglichst sparsam umgehen sollte. Dafür kann man dann seine Adventures wesentlich umfangreicher gestalten.


Eigene Sprache für die Handlung
Die Handlung des Adventures wird mit sogenannten »Conditions« (Bedingungen) festgelegt. Dabei handelt es sich um eine eigene kleine Programmiersprache für Adventures, die einfach zu erlernen und doch sehr mächtig ist. So kann man Details programmieren, die in vielen professionellen Adventures gar nicht vorhanden sind. Ein Beispiel ist die Möglichkeit, Objekten ein Gewicht zuzuweisen und den Spieler damit nur eine begrenzte Anzahl von Objekten tragen zu lassen. Ebenfalls schon integriert ist eine automatische Erkennung von Licht und Dunkelheit. So kann man Räume so definieren, daß deren Beschreibung nur ausgegeben wird, wenn man eine Lichtquelle bei sich hat. Ohne Lichtquelle erhält man nur den Kommentar: »It's too dark to see anything.«. Es lassen sich sogar Zufallselemente in das Adventure einbauen.
Um den Spielverlauf zu kontrollieren, gibt es 128 Zähler und 255 Marker. Ein Zähler kann Werte bis zu 255 annehmen.
Damit lassen sich beispielsweise die erreichte Punktzahl und die verbrauchten Spielzüge protokollieren. Man kann aber auch zählen, wie oft ein Spieler einen Raum betreten hat oder wie lange er nichts mehr gegessen hat. Die 255 Marker können nur die Werte l und O annehmen. Mit ihnen läßt sich beispielsweise der Zustand einer Tür (verschlossen/offen) definieren.
Einer der ganz wenigen Schwachpunkte ist die knappe, englischsprachige Dokumentation. Auf 24 Seiten werden die einzelnen Befehle erläutert und ein Mini-Adventure beschrieben. Für einen Anfänger auf dem Gebiet des Programmierens ist das sicherlich zu wenig. Schade, denn eigentlich sollte man die »Sprache« des GAC auch als Einsteiger sehr gut lernen können.
Besonders positiv am GAC ist die Tatsache, daß fertiggestellte Adventures auch ohne den GAC lauffähig sind. Darüber hinaus hat der Erfinder des Adventures alle Rechte am fertigen Programm, darf dieses also verschenken, tauschen oder sogar verkaufen.
Noch nicht völlig geklärt ist die Frage des deutschen Vertriebs. Mit Sicherheit werden einige deutsche Händler das Programm im Import anbieten. Der Hersteller nimmt aber auch Anfragen aus Deutschland entgegen. Der Preis beträgt auf Kassette etwa 23 Pfund (etwa 80 Mark), auf Diskette etwa 28 Pfund (etwa 100 Mark).
Der GAC ist eines der Programme, die recht spartanisch aussehen und trotzdem einfach zu bedienen sind. Der GAC selber wirkt aufdenersten Blick gar nicht professionell, da man den kostbaren Speicherplatz nicht für eindrucksvolle Menüs verschwendet hat. Doch der Schein trügt: Die erzielbaren Endergebknisse, sprich die fertigen Adventures, schlagen so manches, was für 40 Mark und mehr bei vielen Händlern angeboten wird. Der Graphic Adventure Creator gehört zu den besten Utilities, die derzeit für den C 64 erhältlich sind.
(bs)Info: Incentive Software Ltd., 54 London Street, Reading RG1 4SQ