Kapitel 10 Verschiedenes und Ausblick10.1 Der SpielerObwohl viele Dinge in T.A.G. als Objekt dargestellt werden - der Spieler nicht. Er wird eigentlich nur durch eine Anzahl von Variablen beschrieben: Sein momentaner Aufenthaltsort ist aRaum, die Anzahl der Dinge, die er bei sich trägt ist Inv. Objekte, die beim Spieler sind, sind beiMir, die er angezogen hat angezogen. Das ist vielleicht nicht ganz konsequent, aber, wie man so schön sagt, wenn einem nichts Besseres einfällt, »historisch gewachsen«. Wenn man sich einmal daran gewöhnt hat, funktioniert es auch ganz gut so. Was aber unschön ist, ist, dass man dem Spieler keine Vor- und NachAusf verpassen kann. Deshalb müssen spezielle Dinge, die den Spieler betreffen, direkt bei der Befehlsdefinition abgefangen werden: Bef töten Name 'töten' Verb 'töte' 'bringe um' 'massakriere' ... Syntax dasObj (Person) Ausf wenn (aObj = du) dann Text 'Na gut.' gestorben Ende Text 'Was soll diese rohe Gewalt?' EndeAusf 10.2 PunkteNach wie vor wird der Erfolg des Spielers in Adventures oft mit Punkten gemessen. In T.A.G. gibt es dazu ein System, das für einzelne Aktionen vergebene Punktzahlen automatisch addiert. Dazu muss man sich nur überlegen, welche Aktion im Spiel wieviele Punkte gibt. Jede dieser Aktionen bekommt eine Nummer, die von 1 bis 255 gehen kann. Zu Beginn ist die Punktzahl für alle Aktionen null. Wenn zum Beispiel das Öffnen des Safes fünf Punkte bringen soll, und wir diesem Ereignis die Punktenummer 1 geben, so ändert sich unsere Aktion zum Safe öffnen: Aktion * Ausf Wenn (code = 23) und (Safe abgeschlossen) dann Text '[#]Vom Safe hörst du ein leises "Klick!"' ObjZust Safe geschlossen Punkte 1 5 Ende EndeAusf Die Anweisung Punkte bewirkt, dass für Ereignis 1 5 Punkt vergeben werden. Je nachdem, ob Punktestandsmeldung eingeschaltet ist oder nicht wird auch ein Text wie »Du hast gerade 5 Punkte bekommen« ausgegeben. Was aber, wenn wir den Safe schließen und dann wieder öffnen? Nichts, denn T.A.G. hat für dieses Ereignis bereits fünf Punkte vergeben und wird es nicht noch einmal tun. (Es gibt eine Möglichkeit, dem Spieler die fünf Punkte beim Schließen des Safes mit Punkte 1 0 wieder wegzunehmen. In diesem Fall würde es beim Erneuten Öffnen wieder fünf Punkte geben. Aber diese Vorgehensweise ist wohl eher unüblich.) Die Integer-Variable Pktzahl summiert die Einzelpunktzahlen aller Ereignisse. Sie kann nur gelesen, nicht geändert werden. Änderungen erfolgen immer über die Einzelpunktzahlen. Dies ist der einfachste Fall der Punktevergabe. Das Punktesystem von T.A.G. besitzt weitere Möglichkeiten der Punktevergabe: Wie Punkte für Räume und Objekte vergeben werden oder wie man negative Punktzahlen vergibt, steht ausführlich im Kapitel 8.4 des T.A.G.-Handbuchs. 10.3 Das Ende des SpielsDas Ende des Spiels wird erreicht, wenn der Spieler es wünscht und »Ende« eingibt, wenn er stirbt oder wenn er gewinnt. Die Anweisung gestorben lässt den Spieler sterben. Er bekommt gesagt, dass er tot ist, seine Punkte aufgelistet und wird dann gefragt, ob er aufhören, neu anfangen oder ein abgespeichertes Spiel laden möchte. Mit der Anweisung gewonnen wird das Spiel gewonnen. »Du hast gewonnen« und die erreichten Punkte werden ausgegeben und das Programm bricht ab. (Wer gerade gewonnen hat, möchte wohl nicht von vorne anfangen.) Unser Testspiel ist zu klein und hat auch keine richtige Aufgabe für den Spieler, so dass es im Moment nicht gewonnen werden kann. Wer will, darf das natürlich einbauen. 10.4 StandardtexteDa T.A.G. bereits die wichtigsten Befehle mitbringt, gibt es auch bereits Texte, die diese Befehle ausgeben. Diese Texte passen nicht unbedingt zu jedem Adventure, und der Autor möchte sie wahrscheinlich an sein Opus anpassen. Diese Texte, die so genannten Standardtexte, werden normalerweise von der Datei tag.std gelesen. Sie sind dort nacheinander aufgelistet, kurze Kommentare sagen, zu welchem Befehl der jeweilige Antwortblock gehört. (Die ersten vierzig Antworten sind die Fehlermeldungen des Parsers.) Diese Texte können nach Belieben abgeändert werden, solange die Numerierung nicht geändert wird. Man kann auch selbst eine Standard-Datei erzeugen, die natürlich den selben Aufbau wie tag.std haben muss. (Das heißt, Text Nr. 6 sollte in beiden Dateien in etwa dieselbe logische Aussage haben.) Dass eine eigene Datei verwendet wird, teilt man T.A.G. mit folgendem Befehl mit: #STD 'test.std' (Dabei muss anstelle von test.std natürlich der korrekte Dateiname stehen.) Wer will, kann den gesamten Satz von Standardtexten auch in seine adv-Datei packen. Dann werden die Antworten als ein Block behandelt, der mit dem Schlüsselwort Standard beginnt. 10.5 Äußere FormText-Adventures, die mit T.A.G. erstellt wurden, kommen relativ schlicht daher. Es gibt wenige Farben, und jede Menge von Text, der in Schreibmaschinenschrift auf dem Bildschirm erscheint. Wenn es Grafik gibt, dann ist diese in einer fast vergessenen Stilrichtung gehalten, dem ASCII-ismus. Was man also bei der äußeren Form von Texten verändern kann, ist das Format. Dazu gibt es einige Steuerflaggen, die mit einem Doppelkreuz beginnen:
Die einzige Textauszeichnung, die man in T.A.G. vergeben kann, ist Fettdruck. Fett bedeutet hier allerdings, dass eine andere, intensivere Farbe zur Textausgabe verwendet wird, mehr nicht. Wer Wörter ohne Fettdruck betonen möchte, kann sich an die e-Mail-Konvention halten, und sie in *Sternchen* oder _Unterstriche_ einschließen. Zum guten Schluss gibt es einen Block zur Umgebungsdefinition. Hier können der Name des Spiels, eine Kennung, die für abgespeicherte Spielstände verwendet wird, und die Textfarben definiert werden. Für unser Testbeispiel sähe das etwa so aus: Umgebung Name 'Der Test' Kennung 'test' Text %hellgrau %blau Fett %weiß %blau Zeile %rot %hellgrau (%weiß, %blau usw. sind hier Systemkonstanten für die Farben.) Da Farben immer Geschmackssache sind, kann der Spieler diese in der T.A.M. ausschalten, wenn er möchte. 10.6 AusblickWenn Ihr Euch durch dieses kurze Tutorium gearbeitet habt, und ab und zu mit dem Kopf nicken konntet, dann seid Ihr jetzt fit genug, um ein eigenes Adventure auf die Beine zu stellen. Dabei werdet ihr wahrscheinlich ab und zu auf Probleme stoßen. Dann schaut Euch das Handbuch an, insbesondere Teil II. Wer etwas weiter in die Theorie von T.A.G. eindringen will, sollte sich Buch III des Handbuchs zu Gemüte führen. Dort werden weitere Beispiele behandelt, die man bestimmt auf sein eigenes Adventure hin abwandeln kann. Die Grundlage zum Verständnis des dritten Teils dürfte mit diesem Tutorium geschaffen worden sein. Also, es bleibt mir nichts anderes übrig, als Euch ein frohes Schaffen zu wünschen. Wenn ihr absolut nicht weiterwißt, oder Euch gar Probleme mit T.A.G. oder T.A.M. auffallen (etwas, das sich leider nicht ausschließen läßt), dann schreibt es mir unter martin.oehm@gmx.de. Zusammenfassung: T.A.G. verfügt über ein ereignisabhängiges Punktesystem. Mit der Angabe Punkte [Ereignis-Nr] [Punktezahl] können leicht Punkte vergeben werden. Mit gestorben kann man den Spieler sterben lassen, mit gewonnen gewinnt er das Spiel. Die Standardtexte in tag.std können angepasst oder komplett neu geschrieben werden, solange sie dieselben Nummern wie in tag.std haben. Mit Formatvariablen läßt sich das äußere Erscheinungsbild der Ausgabe in T.A.M. ändern. Ein Umgebungsblock definiert allgemeine Konstanten. Ab hier müßt Ihr selbst weitermachen. Empfohlene Lektüre ist Teil III des T.A.G.-Benutzerhandbuchs. Empfohlene Methode ist learning-by-doing. Verweise:
|
Einleitung |