[ T. A. G. ] [ Tutorium ]

 

Kapitel 10

Verschiedenes und Ausblick

 

10.1    Der Spieler

Obwohl 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    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 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 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 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:
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, 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:
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 und karn.std


Nächstes Kapitel
Voriges Kapitel
nach oben
Inhalt


________
Startseite --> Textadventures --> T.A.G. --> Tutorium --> Anhang @
Übersicht
Martin Oehm

[ www.martin-oehm.de - Startseite ]
[ Textadventures ]
[ T. A. G. ]

Inhalt

Einleitung
Spielwelt
Objekte I
Objekte II
Anweisungen
Variablen
Befehle
Klassen
Personen
Diverses

Lösungen