[ T. A. G. ] [ Tutorium ]

 

Kapitel 4

Einige besondere Objekte

 

4.1    Behälter

Bisher haben wir Objekte kennengelernt, die in Räumen liegen und die beim Spieler sind. Manchmal befinden sich aber auch Objekte in anderen Objekten. Objekte, die andere aufnehmen können, heißen Behälter.

Behälter ist ein Attribut, das einem Objekt gegeben werden kann. Für unser Test-Adventure geben wir dem Spieler einen Rucksack mit:

    Obj     Rucksack
    Name    'Wanderrucksack' m
    Adj     'oliv' 'grau' 'olivgrau'
    Vor     'wander' 'seiten'
    Subst   'sack' m   'rucksack' m   'taschen' p
    Ort     angezogen
    Zust    geschlossen
    Attr    Behälter Kleidung
    Besch   'Es ist ein altmodischer Rucksack aus
            olivgrauem Segeltuch mit vielen
            Seitentaschen und Lederriemchen.'

Dieser Rucksack kann dank seines Behälter-Attributs andere Objekte aufnehmen. Außerdem erhält er das Attribut Kleidung, damit man ihn aufziehen kann. Zu Beginn des Spiels hat der Spieler den Rucksack auf dem Buckel, was durch Ort angezogen angegeben wird. Angezogen ist ein Speziallfall von Beimir und wird von T.A.G. anders gehandhabt. (Probiert es einmal aus, und gebt als ersten Befehl »Lege Rucksack hin« ein.)

Probiert einmal, mit den bereits vorhandenen Objekten herumzuspielen. Legt die Lampe und den Zettel in den Rucksack. Macht den Rucksack einmal auf und wieder zu, wenn sich etwas darin befindet. Legt den Rucksack ab und gebt mit »L« eine Raumbeschreibung aus. Und tut die angeschaltete Lampe einmal in den Rucksack, geht in den Keller und schließt dann den Rucksack.

Unser Adventure hat schon etwas mehr zu bieten als noch vor kurzem. Immer, wenn sich etwas im Rucksack befindet und dieser offen ist, wird der Inhalt des Rucksacks aufgelistet: »In dem Rucksack siehst Du . . .«

Auch diese Antwort lässt sich individuell auf den Rucksack zuschneidern:

    Darin   'Im Moment [ist 0] [liste 0] im Rucksack.'

Die genaue Bedeutung der eckigen Klammern wird später erläutert. Im Moment genügt es, zu wissen, dass [liste 0] die Auflistung aller Objekte im Nominativ (= 0) einfügt, und [ist 0] je nach Anzahl der Objekte in der Liste »ist« oder »sind« ausgibt.

Zu Beginn des Spiels können andere Objekte bereits im Rucksack plaziert werden, in dem man die Ortsangabe Ort in Rucksack angibt. (Achtung: Man ist natürlich verleitet, IM Rucksack zu schreiben, aber »im« wird von T.A.G. nicht verstanden. Im Spiel unter T.A.M. ist dies jedoch möglich.)

Aufgabe 4
Erzeuge eine verschließbare Butterbrotdose, die sich im Rucksack befindet, und in der sich eine Tomate, ein hartgekochtes Ei und ein Sandwich befinden. (Oder was Du sonst gerne isst.)

Aufgabe 5
Ein Anorak wäre für eine Expedtion auch nicht schlecht. Erzeuge einen, der zu Beginn des Spiels im Rucksack ist.

Man kann die Objekte im Rucksack nur sehen, wenn dieser offen ist. Allgemeiner kann man Objekte in einem Behälter sehen, wenn er nicht geschlossen ist, denn ein Behälter muss nicht unbedingt verschließbar sein, und was in einem Eimer oder einem Karton ohne Deckel ist, kann man immer sehen.

Mit dem Attribut transparent kann man Behälter aber durchsichtig machen. Man kann dann Objekte im transparenten Behälter sehen, aber nicht anfassen.

Aufgabe 6
Definiere ein geschlossenes Einmachglas, in dem sich zur Abrundung unserer Vesper eine Essiggurke befindet. Man kann die Gurke natürlich durch das geschlosene Glas sehen.

Der Befehl essen ist kein Standard-T.A.G.-Befehl. Er ist aber in normal.adv, die wir ja in unserem Text-Adventure benutzen, enthalten. Zusätzlich steht uns also ein Attribut essbar zur Verfügung. Um in den Genuss unserer Marschverpflegung zu kommen, sollten wir also der Tomate, der Gurke und dem ganzen Zeug das Attribut essbar verpassen.

 

4.2    Ablagen und feste Objekte

Genauso, wie Objekte in anderen enthalten sein können, können sie auch auf anderen liegen. Dazu gibt es das Attribut Ablage:

    Obj     Tisch
    Name    'klein^ Holztisch' m
    Adj     'klein' 'grob' 'wackelig'
    Vor     'holz'
    Subst   'tisch' m
    Besch   'Grob zusammengezimmert und etwas
            wackelig.'
    Attr    Ablage
    Ort     Im_Haus

(Das Dach im Namen zeigt an, dass es sich beim vorangehenden Wort um ein Adjektiv handelt. Anstelle des Dachs wird die passende Endung eingefügt, je nachdem, in welchem Fall das Objekt ausgegeben werden soll. Das Adjektiv wird im Namen - genau wie bei den Vokabeln - ungebeugt angegeben.)

Damit haben wir einen Tisch, auf dem wir Dinge ablegen können. Um Sachen schon zu Beginn des Spiels auf den Tisch zu legen, geben wir Ort auf Tisch an. Das Pendant zu Darin ist Darauf.

   Jetzt, wo ein Tisch im Haus steht, ist die Beschreibung des Raums nicht mehr ganz korrekt. Anstatt »Es gibt keine Möbel« sollte man vielleicht »nur wenige Möbel« oder »Der Raum ist spärlich möbliert« schreiben. Solche Nachbesserungen werden oft nötig, wenn andere Objekte ins Spiel kommen.

Habt Ihr mit dem Tisch schon herumgespielt und Sachen daraufgelegt und wieder weggenommen? Schön. Habt Ihr auch einmal versucht, den Tisch zu aufzuheben? Wenn, nicht, dann probiert es mal. Hoppla: »Du hast nun den Tisch.« Das ist schon etwas eigenartig, oder?

Eigenartig vielleicht, aber richtig: Wenn nichts weiteres angegeben wird, sind alle Objekte beweglich. Das heißt, sie können aufgehoben und mitgeschleppt werden. Es gibt aber in Adventures viele Objekte, die man nicht aufheben kann, wie eben z.B. Möbel. Für solche Objekte gibt es das Attribut fest.

Also, dem Tisch fest verpassen, Adventure neu generieren und ausprobieren. Beim Betreten des Raums fällt sofort etwas auf: Der Tisch ist nicht mehr da. Falsch, er ist da, er wird nur nicht erwähnt. Mit »untersuche Tisch« bekommt man nämlich eine Beschreibung des Tisches. Auch kann man Sachen auf den Tisch legen. Schaut man sich dann um, so erscheint die Liste aller Dinge, die auf dem Tisch liegen.

Feste Gegenstände werden also nicht in der Liste aller Objekte am Ende einer Raumbeschreibung erwähnt. Das wird so gemacht, weil sie üblicherweise bereits in der Raumbeschreibung vorkommen. Eine neue, angepasste Raumbeschreibung für Im_Haus wäre jetzt etwa:

    Raum    Im_Haus
            ...
    Besch   'Das kleine Haus wirkt irgendwie leer:
            Außer einem kleinen Tisch gibt es keine
            Möbel und die Wände sind kahl. Im Westen
            geht es wieder hinaus.'

Man kann aber, wenn man will, auch feste Objekte wie gewohnt anzeigen lassen. Dazu gibt man ihnen nicht das Attribut fest, sondern das Attribut immobil, was dasselbe ist wie fest, mit der Ausnahme, dass das Objekt in der Liste der Gegenstände auftaucht.

   Natürlich spricht nichts dagegen, den Tisch beweglich zu machen, zumal er laut Beschreibung klein und wacklig ist, aber im allgemeinen schleppt man so etwas ja nicht mit sich herum.

Aufgabe 7
Ändere die Raumbeschreibung im Keller und definiere die modrigen Regale. Benutze dabei eine sinnvolle Darauf-Definition.

 

4.3    Das Inventar

Zeit, sich einmal damit zu beschäftigen, was der Spieler so alles mit sich herumtragen kann. Man kann sich eine Liste der Objekte, die der Spieler bei sich trägt, das sogenannte Inventar, mit »Inventar« oder kurz »I« ausgeben lassen.

Im Normalfall ist dies eine Liste mit Spiegelstrichen. Dinge, die in oder auf anderen Dingen sind, werden dabei eingerückt.

Der Spieler kann natürlich nur eine bestimmte Anzahl von Dingen mit sich herumschleppen. Diese Anzahl wird in einer Variable festgelegt, die maxInv heißt. Diese kann nur in einer Anweisung verändert werden, wie das geht, sehen wir im nächsten Kapitel.

Wenn nichts anderes angegeben wird, ist maxInv vier. Das heißt, der Spieler kann vier Gegenstände bei sich haben, mehr nicht. Allerdings zählen Gegenstände, die er angezogen hat und die sich in anderen Gegenständen befinden, nicht dazu, sondern nur die, die er direkt in seinen Händen hält. Insofern ist der Rucksack natürlich eine prima Sache: Man belastet den Spieler nicht, kann aber ziemlich viel mit sich herumschleppen.

Eine weitere Variable, Inv, gibt an, wieviele Objekte der Spieler gerade mit sich herumschleppt. Dieser Wert liegt natürlich zwischen 0 und maxInv.

Für diejenigen, die es gerne genau nehmen, bietet T.A.G. zwei weitere Konzepte, um Gegenstände zu handhaben: Gewicht und Volumen.

Jedem beweglichen Gegenstand kann ein Gewicht von 0 bis 255 gegeben werden. Dazu fügt man seiner Objektdefinition einfach die Zeile Gew xxx zu, wobei statt xxx natürlich der Wert des Gewichts eingesetzt werden soll. Die Maßeinheit spielt dabei keine Rolle, sie sollte nur einheitlich sein.

Der Spieler kann natürlich nur ein bestimmtes Gewicht mit sich tragen. Dieses »zulässige Höchstgewicht« wird in der Variable maxGew gespeichert. Dabei wird natürlich das Gewicht der Dinge, die der Spieler angezogen hat und die sich in einem Behälter, den er trägt, befinden, miteinberechnet. Denn eine Ritterrüstung oder ein Goldnugget im Rucksack ziehen einen doch ganz schön runter.

Eine weitere Variable, InvGew, zeigt an, wieviel der Spieler noch mit sich schleppen könnte. Das heißt, InvGew ist maxGew minus dem Gewicht, das er mit sich schleppt. Ist InvGew null, ist der Spieler am Limit, ist es maxGew, so schleppt der Spieler nichts oder nur Gegenstände mit dem Gewicht 0 mit sich herum.

Neben dem Gewicht kann man jedem Gegenstand mit Vol xxx ein Volumen von 0 bis 255 zuordnen. Das Konzept des Volumens ist etwas anders als das des Gewichts, denn das Volumen ist nicht nur ein Maß für das physikalische Volumen, sondern auch für die »Sperrigkeit« eines Objekts. Die Variablen heißen analog zu InvGew und maxGew hier InvVol und maxVol.

Bei der Berechnung von InvVol werden wiederum angezogene und in anderen Objekten befindliche Gegenstände nicht mit einbezogen. Logisch, denn ein Gegenstand in einem Behälter vergrößert dessen Volumen nicht. Und ein aufgezogener Hut ist nicht sperrig.

Das Volumen der Gegenstände wird auch für die Schachtelung von Objekten ineinander benutzt. Das Volumen eines Behälters ist nicht nur sein Außenvolumen, sondern ebenfalls sein Fassungsvermögen. Das heißt, die Summe der Volumina aller Objekte in einem Behälter darf nicht größer sein als das Volumen des Behälters selbst. Dieses Konzept gilt auch für Ablagen, die zwar kein Volumen in dem Sinne haben, aber auch keine unbegrenze Kapazität. Hier ist also etwas Abstraktions- vermögen bei der Volumendefinition gefragt.

Wenn man die Definition von Volumen verwendt, verhindert man damit unmögliche Sachen, z.B., dass man einen großen Karton in ein kleines Ebenholzkästchen legen kann. Man muss sich allerdings die Mühe machen, und sinnvolle Volumina zu jedem Objekt finden. Achtung: Behälter sollten dann in jedem Fall ein Volumen erhalten, auch wenn sie fest oder immobil sind.

Wer zu keinem Objekt ein Gewicht oder ein Volumen definiert, lässt diese Konzepte einfach außer acht, so wie wir es bis jetzt getan haben. Die Beschränkung der beim Spieler getragenen Gegenstände greift jedoch immer, kann aber durch Setzen von maxInv auf einen usinnig hohen Wert, z.B. 200, umgangen werden.

Aufgabe 8
Definiere für alle Objekte, die bis jetzt in Deinem Testspiel sind, sinnvolle Volumen. Erzeuge einen Wanderstab, der nicht in den Rucksack passt, den man aber auf den Tisch legen kann.

   Auch ein Volumen oder ein Gewicht von Null können sinnvoll sein: Eine Feder oder eine Plastikkarte nehmen bestimmt keinen großen Platz ein, und die Antwort »Die Feder ist zu schwer/sperrig« kann man nicht unbedingt nachvollziehen.

 

4.4    Sitze, Liegen, Standflächen

Auf manche Objekte kann man nicht nur andere Objekte setzen oder stellen oder legen, sondern auch sich selbst. Dazu gibt man ihm einfach eins oder mehrere der Attribute Sitz, Standfläche oder Liege.

Im Gegensatz zu Objekten wird beim Spieler unterschieden, ob er auf einem Gegenstand sitzt, steht oder liegt. Deshalb gibt es für jede dieser Haltungen ein Attribut. Ist der Spieler auf keinem anderen Objekt, sondern direkt in einem Raum, so ist seine Haltung jedoch egal. Meist wird einfach angenommen, dass er steht.

Also, ein neues Objekt:

    Obj     Sofa
    Name    'verschlissen^ Sofa' n
    Vor     'alt' 'verschlissen' 'abgenutzt' 'rot'
    Subst   'sofa' n  'couch' f  'chaiselongue' n
    Subst   'diwan' m
    Besch   'Dieses mittlerweile sehr mitgenommene
            Sofa war in seinen guten Zeiten einmal
            rot. Trotz der Abnutzungserscheinungen
            sieht es doch sehr gemütlich aus.'
    Erst    'In einer Ecke des Raums steht ganz
            verstohlen ein altes, abgenutztes Sofa
            herum.'
    Attr    Sitz Liege Immobil Ablage
    Vol     50

Probiert das neue Sofa einmal aus. Setzt, stellt und legt Euch darauf (wenn es geht). Eine Liege, ein Sitz oder eine Standfläche müssen übrigens keine Ablage sein. Sie müssen auch nicht fest sein, der Spieler darf sie jedoch nicht bei sich haben, wenn er sich auf sie setzen will.

Aufgabe 9
Definiere einen Klappstuhl, der im Keller steht, und den der Spieler mit sich herumschleppen kann. Man kann sich auf ihn setzen, aber auch stellen!

 

4.5    Dekorationen

Dekorationen sind für das Spiel unwichtige, aber für die Atmosphäre wichtige Objekte. Zum Beispiel haben wir in unserer Beschreibung für Vor_dem_Haus einige Blumen erwähnt, die dem Spieler einfach nur ein Gespür für den Ort geben sollen. Vielleicht kommt der Spieler ja auf die Idee, diese Blumen zu untersuchen. Dann bekommt er aber »Ich kenne 'Blumen' nicht.« als Antwort.

Um den Spieler an dieser Stelle nicht zu enttäuschen, fügen wir eine Dekoration Blumen hinzu. Die Definition ist dieselbe wie bei einem Objekt, nur benutzt man statt Obj das Schlüsselwort Deko.

    Deko    Blumen
    Name    'wild^ Blumen' p
    Adj     'wild' 'bunt' 'farbenfroh'
    Subst   'blumen' p  'blume' f  'mohn' n
    Subst   'margeriten' p
    Ort     Vor_dem_Haus
    Besch   'Es ist eine wilde Ansammlung farbenfroher
            Blumen, hauptsächlich Mohn und Margeriten.
            Obwohl sie wild gewachsen ist, sieht es
            fast aus wie ein richtiger Garten.'

Eine Deko kann sich während des Spiels nicht verändern. Sie kann Attribute und einen Zustand haben, aber es werden immer dieselben wie am Anfang sein. Dekos können keine Behälter oder Ablagen sein. Außerdem sind sie immer fest und werden nie extra erwähnt. Sie sind nur da, um unwichtigen Objekten etwas mehr »Leben« einzuhauchen. Viel mehr als sie anschauen kann man mit ihnen nicht machen.

Es gibt eine Besonderheit bei Dekos: Sie können in bis zu vier Räumen sein. Dazu gibt man einfach mehere Räume in der Ort-Zeile an. Eine Deko kann allerdings niemals in oder auf einem anderen Objekt sein.

Für den Trampelpfad definieren wir also:

    Deko    Trampelpfad
    Name    'Trampelpfad' m
    vor     'trampel' 'fuß'
    subst   'pfad' m  'weg' m
    Ort     Lichtung   vor_dem_Haus
    Besch   'Der Pfad ist eine staubige Spur im Gras,
            mehr nicht.'

Aufgabe 10
Definiere die Deko Wald/Bäume, um unsere Spielwelt ein wenig aufzuwerten. Und für die beiden Innenräume die Deko Wand.

   Es gibt noch eine weitere Möglichkeit, den Ort von Dekos zu beschreiben, nämlich per Raumattribut. Wenn man nach den Wort "Ort" ein gültiges Raumattribut angibt, so ist eine Deko in diesem Raum, wenn der Raum dieses Attribut besitzt. Stellt man dem Attribut einen Schrägstrich voran, so ist es umgekehrt: Die Deko ist im Raum, wenn der Raum das Attribut nicht hat.

Mit den Attributen, die wir jetzt kennen, macht es keinen Sinn, aber wenn wir z.B. ein Raumattribut aussen definieren würden, könnten wir folgende Definitionen benutzen:

    Deko    Sonne
    Ort     aussen
    ...

    Deko    Zimmerdecke
    Ort     /aussen
    ...

Zusammenfassung:
Für bestimmte Arten von Objekte gibt es in T.A.G. bereits vordefinierte Attribute, wie z.B. Behälter, Ablage, Sitz, Liege, Standfläche.

Um festzustellen, wieviel der Spieler bei sich tragen kann, gibt es drei verschiedene Konzepte: Die Anzahl, das Gewicht und das Volumen (Form) der Objekte

Dekorationen sind Objekte, die sich während des Spiels nicht verändern. Sie dienen dazu, um in der Raumbeschreibung erwähnten Dingen ein wenig Atmosphäre zu verleihen.

Verweise:
Handbuch, Kapitel 3.2: Objekte
Handbuch, Kapitel 10: Verschiedene Arten von Objekten


Nächstes Kapitel
Voriges Kapitel
nach oben
Inhalt


________
Startseite --> Textadventures --> T.A.G. --> Tutorium --> Kapitel 4
Ü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