Kapitel 9 Personen und Kommunikation9.1 Personen sind ObjekteZunä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 ReaktionenPersonen 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. 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 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. 9.3 Gespräche führenNatü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 ** 9.4 Eigenständige Handlungen anderer PersonenManche 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 ** Zusammenfassung: Es gibt zwei Ausführungsblöcke für Objekte, VorAusf und NachAusf, die es dem Objekt bzw. der Person erlauben, bei Befehlen zu intervenieren, in denen sie nicht direkt angesprochen wurden. Ein weiterer Ausführungsblock, BefAusf, steuert das Ausführen von Befehlen durch andere Personen, die in der Form »Person, Befehl« gegeben werden. Allgemeine Verhaltensmuster, die unabhängig vom Befehl des Spielers sind, müssen in einer Aktion * definiert werden. Verweise:
|
Einleitung |