10 Verschiedenes und Ausblick
10.1 Der Spieler
Viele Dinge werden in T.A.G. als Objekt dargestellt – 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 Punkte
Nach 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 Spiels
Das 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 Standardtexte
Da 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 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 Form
Text-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:
#Absatz
beschreibt das Absatzformat: 0 bedeutet keine Einrückung, keine Leerzeile zwischen Absätzen. 1 schreibt eine Leerzeile, 2, rückt Absätze am Anfang um eine Tabulatorweite ein und 3 macht beides. Die Voreinstellung ist 1.
#Eingabe
gibt an, ob die Eingabe immer in Großbuchtaben (0) oder wie vom Spieler eingegeben (2) erscheint. Dasselbe gibt es auch in Fettdruck (1 oder 3).
#Raumname
gibt das Format des kurzen Raumnamens vor der langen Raumbeschreibung an. Ist dieser Wert vier, so wird kein Raumname vor der langen Raumbeschreibung ausgegeben. Das ist die Voreinstellung. Werte bis vier bedeuten, der Raumname wird in einer Zeile (0), in einem Absatz (2) und als Fettdruck (1 bzw. 3) vorangestellt
#Besch
gibt knappe (0) oder ausführliche (1) Raumbeschreibungen aus.
#Inv
schaltet zwischen dem kompakten Listenformat (0) und der Klartext-Liste (1) für das Inventar hin und her. (Die Befehle »i lang« und »i quer« aus
normal.adv
benutzen diese Flagge.)
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 Ausblick
Wenn 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 weiterwisst, 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.
Das T.A.G.-Tutorium ist mit diesem Kapitel abgeschlossen
Zusammenfassung
Der Spieler in T.A.G. ist kein Objekt, sondern wird durch Variablen beschrieben.
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, mitgewonnen
gewinnt er das Spiel.Die Standardtexte in
tag.std
können angepasst oder komplett neu geschrieben werden, solange sie dieselben Nummern wie intag.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
- Handbuch, Kapitel 13: Der Spieler
- Handbuch, Kapitel 7: Erstellen der Texte
- Handbuch, Kapitel 8: Allgemeines
- Handbuch, Kapitel 16: Extras
- Handbuch, Kapitel 17: Allgemeine Tips und Tricks
- Der Spieler in
karn.adv
- Die Texte in
tag.std
undkarn.std