9  Personen und Kommunikation

9.1 Personen sind Objekte

Zunächst einmal sind Personen (oder NPCs, Non-Player Characters, wie sie auch gerne genannt werden) in T.A.G. gewöhnliche Objekte. Sie besitzen nur zusätzlich das Attribut Person. Das bedeutet, dass man sie nicht aufheben kann und dass sie in der Raumbeschreibung gesondert am Schluss erwähnt werden. Eine Person unterscheidet sich damit nicht allzusehr von den anderen Objekten im Spiel, und all das, was eine Person ausmacht, nämlich Gespräche oder Verhaltensmuster, muss mehr oder weniger mühsam programmiert werden.

Aber eins nach dem anderen. Definieren wir also eine Person für unsere Haus- und Waldidylle, vielleicht einen Naturliebhaber.

Obj     Wanderer
Name    'Wanderer' m
vor     'wanders'
subst   'wanderer' m  'mann' m
Ort     Lichtung
Attr    Person transparent
Besch   'Der Wanderer ist ein gutgelaunter Kerl
        Ende Dreißig, der eine Kniebundhose und
        ein kariertes Hemd trägt und sich an den
        schönen Dingen des Lebens, das heißt der
        intakten Natur, erfreut.'
Dabei   'Der Wanderer trägt [liste 1] bei sich.'
Erst    'Ein Wandersmann sitzt hier und macht
        gemütlich Pause.'

Damit ist der erste Schritt getan. Der Wanderer befindet sich auf der Lichtung und ist einfach da. Mehr aber auch nicht. Die Passivität des Wanderers ändert sich aber im nächsten Abschnitt. (Dabei ist übrigens das Äquivalent von Darin und Darauf für Dinge, die eine Person bei sich hat.)

9.2 Reaktionen

Personen bringen natürlich Leben in ein Adventure: Sie reagieren auf Aktionen des Spielers, sie reden mit dem Spieler und wandern unter Umständen sogar auf eigene Faust umher. Das macht diese Personen interessant, aber auch nicht ganz einfach zu programmieren. Schon unwichtige, eher muffelige Zeitgenossen benötigen einige Zeilen, um ihr Verhalten zu beschreiben. Bei ausgereiften Charakteren, wie sie z.B. in Detektivadventures vorkommen, steigt der Aufwand um ein Vielfaches, und trotzdem wirken die NPCs manchmal immer noch stereotyp.

Kümmern wir uns erst einmal um die Reaktion der Person auf die Aktionen des Spielers. Dazu gibt es zwei eigene Ausführungsblöcke, VorReakt und NachReakt. Diese Blöcke funktionieren wie die altbekannten Vor- und NachAusf, mit dem Unterschied, dass keins der erwähnten Objekte die Person sein muss. Mit anderen Worten, diese Blöcke können eine Reaktion auf jede beliebige Handlung des Spielers sein.

Tatsächlich können alle Objekte die Blöcke VorReakt und NachReakt haben. So kann z.B. ein Rauchmelder auf das Anzünden eines Streichholzes reagieren oder ein stark riechender Käse alle Schnupperversuche im Keim ersticken. Am häufigsten gebraucht werden diese Blöcke aber wohl bei Personen.

Erweitern wir also die Definition um ein paar Verhaltensmuster.

Obj     Wanderer
...
VorReakt
    (gehen)
        Text '"Tschüss!", winkt mir der Wanderer
            hinterher.'
        Absatz
EndeAusf	

NachReakt
    (gehen)
        Wenn (aRaum besucht) dann
            Text '[#]Der Wanderer nickt mir kurz
                zum Gruß zu.'
        sonst
            Text '[#]"Guten Tag!", sagt der
                Wanderer, "Schön, dass es noch
                mehr Freunde der Natur hier gibt.'
        Ende
    (hinlegen)
        Text '[#]"Wieso werfen Sie das weg?",
            fragt der Wanderer verärgert. "Tun
            Sie ihren Müll doch in einen Beutel
            oder Ihren Rucksack."'
    (singen springen fluchen)
        Text '[#]Der Wanderer schaut mich etwas
            mitleidig an.'
EndeAusf

Die Ausführungsblöcke VorAusf und NachAusf funktionieren bei Personen natürlich so, wie gehabt:

VorAusf
    (gegeben)
        Bed (aObj eßbar)
            '"Nein, danke!", sagt der Wanderer
            höflich.'
        Text '"Hmm, lecker, danke!", sagt der
            Wanderer, und kaum hat er [den aObj]
            in den Händen, verschlingt er [ihn]
            mit großem Appetit.'
        ObjNach aObj Nirwana
        Stop
EndeAusf

9.3 Gespräche führen

Natürlich kann man sich nicht nur anhören, was die Personen im Spiel zu sagen haben, sondern man kann mit ihnen auch reden. Üblicherweise geschieht dies mit einem der folgenden Befehle:

> Frage den Wanderer über die Bäume
> Erzähle ihm von dem Haus
> Wanderer, gib mir die Karte.

Die ersten beiden Möglichkeiten sind dabei gewöhnliche Befehle, die mit einer VorAusf abgefangen weden können:

VorAusf
    (fragen)
    Text 'Der Wanderer sagt:'
    Jenach aObj2
        (Bäume)
            Text '"Ganz klar, das sind Birken."'
        (Wanderer)
            Text '"Ich bin ein Wanderer.  Außerdem
                bin ich Kassierer beim  SGV."'
        (Haus)
            Text '"Ich weiß nicht, wem das  Haus
                gehört."'
        (Natur)
            Text '"Ich liebe die Natur."'
        ...
        (sonst)
            Text '"Ouh, da fragen Sie mich was."
                Er schüttelt den Kopf. "Aber
                darüber weiß ich nichts."'
    Ende
    Stop
EndeAusf

Dabei kann man natürlich über alles mögliche fragen, auch über Dinge, die sich nicht im Raum befinden. Manchmal muss man zusätzliche Dekos einfügen, um abstrakte Gesprächsthemen, die natürlich in keinem Raum sind, abzufangen:

Deko    Natur
Name    'Natur' f
adj     'frei'
subst   'natur' f  'umwelt' f

Die letzte oben genannte Möglichkeit ist eigentlich ein normaler Befehl, der nur an jemand anderes als den Spieler gerichtet ist. An wen er gerichtet ist, wird in der Variable Akteur gespeichert, die normalerweise den Wert 0 hat. Ist Akteur ein anderes Objekt, so tritt ein besonderer Ausführungblock in Kraft, die BefAusf. Sie ist wie die bekannten Blöcke aufgebaut:

Obj     Wanderer
...
BefAusf
    (nicht_verst)
    Text '"Ich habe Sie nicht richtig verstanden",
        sagt der Wandersmann.'
    (gehen)
    Text '"Ich gehe, wohin ich will."'
    ...
    (sonst)
    Text '"Was sind Sie denn für ein Hektiker.
        Genießen Sie lieber die Natur, anstatt
        andere Leute herumzukommandieren", sagt
        der Wanderer erbost.'
EndeAusf

Dabei ist nicht_verst der Befehl Nr. Null, der bedeutet, dass die Eingabe des Spielers fehlerhaft war. Man sieht, dass Personen in der Regel die meisten Befehle nicht befolgen.

Wenn man versucht, einem Objekt Befehle zu erteilen, das keine BefAusf hat, erscheint einfach ein platter Satz wie »Der Tisch scheint nicht an einem Gespräch mit mir interessiert zu sein.«

Aufgabe 24 * *

Definiere einen Troll, der im Haus ist, und der den Spieler nicht in den Keller lässt, bevor er ihm etwas Essbares gegeben hat. (Die Trolle in unserer Welt sind offenbar eher auf Nahrungsmittel als auf Wertsachen fixiert.) Befehle und Konversation bedenkt der Troll natürlich mit einem unverständlichen Knurren.

9.4 Eigenständige Handlungen anderer Personen

Manche Personen bleiben für die Dauer des Spiels am selben Platz, andere wiederum wandern scheint’s selbständig umher, und benutzen andere Objekte, genau wie der Spieler selbst. Dabei können die Handlungen der Person mehr oder wenig zufällig sein, oder aber einem vorgefertigten Schema folgen.

Egal, wie, diese Handlungen laufen unabhängig von der Eingabe des Spielers ab, und können so nicht in der NachReakt abgefangen werden. Solche eigenständigen Handlungen gehören in eine Aktion *.

Zum Beispiel können wir unseren Wanderer nach einem Zufallsschema von der Lichtung vors Haus wandern lassen und umgekehrt:

Aktion *
Ausf
    wenn (proz 12) dann
        wenn (Wanderer in vor_Haus) dann
            wenn (Wanderer hier)
                Text 'Der Wanderer geht langsam
                nac Norden auf die Lichtung.'
            ObjNach Wanderer Lichtung
        sonst
            wenn (Wanderer hier)
                Text 'Der Wanderer schlendert
                nach Süden.'
            ObjNach Wanderer vor_Haus
        Ende
        Wenn (Wanderer hier)
            Text 'Der Wanderer ist soeben
            angekommen, er nickt mir freundlich
            zu.'
    Ende
EndeAusf

Diese Aktion ist relativ simpel, der Wanderer wandert zwischen zwei Räumen hin und her. Wann das geschieht, wird durch eine Zufallsbedingung gesteuert, hier in zwölf Prozent aller Fälle, also etwa alle acht Züge.

Aufgabe 25 * *

Der Wanderer soll nun entlang einer festgelegten Route laufen, wobei er immer dieselbe Zeit am selben Ort verweilt. Zu bestimmten Zeitpunkten macht er bestimmte Bemerkungen. Dieses Verhaltensmuster soll einen geschlossenen Kreislauf bilden, so dass es sich ständig wiederholt.

Das letzte Kapitel schließt das Tutorium mit einem Mix von Dingen ab, die bislang noch nicht betrachtet wurden: Der Spieler, das Spielende, Punkte für Aktionen, Anpassen der Standardtexte und andere Feinabstimmungen.

Zusammenfassung

Verweise