Extensions

 German by Team GerX

Version 3/161221

GerX: An extension to make German the language of play, written by Banbury, Christian Blümke and Michael Baltes. Designed for I7 releases 6G60 and 6F95.

based on deform release 6/11 by Martin Oehm


Chapter 1: Willkommen
   Section 1.1: Allgemeines
   Section 1.2: Dankeschön

Chapter 2: Die ersten Schritte
   Section 2.1: Einbinden der German-Extension
   Section 2.2: Bibliographische Daten

Chapter 3: Vokabeln
   Section 3.1: Was sind Vokabeln?
   Section 3.2: Hauptwörter und Adjektive (Synonyme für Objekte)
   Section 3.3: Verben (Kommandos) und Satzmuster
   Section 3.4: Konflikte zwischen Vokabeln
   Section 3.5: Umlaute und Eszetts in Glulx-Vokabeln verwenden (experimentell)

Chapter 4: Das Definieren von Dingen
   Section 4.1: Zwei unterschiedliche Methoden
   Section 4.2: Methode I: Die Denglisch-Variante (Standard)
   Section 4.3: Methode II: Die einsprachige Variante
   Section 4.4: Angabe des grammatischen Geschlechts (Genus)
   Section 4.5: Ändern des grammatischen Geschlechts (Genus) während des Spiels
   Section 4.6: Feststellen und Anzeigen des grammatischen Geschlechts (Genus)
   Section 4.7: Die traditionellen Genus-Attribute male, female und neuter
   Section 4.8: Angabe des Genus für Synonyme mit abweichendem Geschlecht (Changing Gender)
   Section 4.9: Sonderformen des unbestimmten Artikels: DEFINITE ARTICLE, YOURS, NO ARTICLE und PENDING
   Section 4.10: Assemblies: Automatisch erzeugte Teile von Personen

Chapter 5: Ausdrücke zur flexiblen Textausgabe
   Section 5.1: Neue Textersetzungen müssen her
   Section 5.2: Objektnamen
   Section 5.3: Pronomen, Hilfsverben und Verb-Endungen
   Section 5.4: Relativpronomen
   Section 5.5: Wählbare Darstellung von "ß" und "ss"
   Section 5.6: Exotisch: Wählbare Darstellung von "du"
   Section 5.7: Die universelle Endung für alle flektierten Adjektive
   Section 5.8: Endungen für Substantive
   Section 5.9: Bestimmte Artikel
   Section 5.10: Manuelles Setzen der Suffixe
   Section 5.11: Beispiele für die Verwendung von Textersetzungen und mögliche Ausgabetexte
   Section 5.12: Überprüfen der deklinierten angezeigten Objektnamen
   Section 5.13: Überprüfen der Vokabel- und Genusdefinitionen (Libcheck)
   Section 5.14: Debug-Meldungen

Chapter 6: Listen in einem bestimmten Kasus ausgeben
   Section 6.1: Wie wird der Kasus angegeben?
   Section 6.2: Den Inhalt eines Objekts auflisten
   Section 6.3: Unverschachtelte Inhaltslisten anhängen (Non-nested lists)
   Section 6.4: Einfache Listen
   Section 6.5: Listen mit Objektinhalt

Chapter 7: Neue Use-Optionen (Use options)
   Section 7.1: Großschreibung von Raumnamen in Kopf- und Statuszeile erzwingen
   Section 7.2: Tiefere Einrückung und Aufzählungszeichen beim Inventar
   Section 7.3: Listen nicht verschachtelt ausgeben
   Section 7.4: "ist" /"sind" in Inhaltslisten unterdrücken
   Section 7.5: Explizite Fehlermeldungen des Parsers
   Section 7.6: Meldung zu vervollständigten Satzmustern unterdrücken
   Section 7.7: Den Spieler auf Yoda-Sätze hinweisen
   Section 7.8: Pronomen nur für sichtbare Objekte setzen
   Section 7.9: Pronomen für angesprochene Räume setzen
   Section 7.10: Manuelles Setzen der Pronomen
   Section 7.11: Eigene Debug-Meldungen anzeigen
   Section 7.12: Deskriptoren wie in der guten alten Zeit
   Section 7.13: "ß" und "ss": Schweizer Schreibweise oder alte Rechtschreibung
   Section 7.14: Exotisch: "Du" in den Standard-Texten immer groß ausgeben
   Section 7.15: Das Abtrennen der Wortköpfe und -Schwänze aktivieren
   Section 7.16: Zeilenumbruch vor dem Autorennamen im Banner des Spiels einfügen
   Section 7.17: Die deform-Eigenschaft init benutzen
   Section 7.18: Puffer für printed name vergrößern

Chapter 8: Neue Standard-Aktionen, -Aktivitäten und -Kommandos
   Section 8.1: Die Informisierung der Spielereingabe
   Section 8.2: Sicheres Manipulieren der Spielereingabe nach der Informisierung
   Section 8.3: Den aktuellen Raum verlassen (location-leaving)
   Section 8.4: Den aktuellen Raum betrachten
   Section 8.5: Die Sichtbarkeit des aktuellen Raums
   Section 8.6: Inventar als Satz anzeigen

Chapter 9: Spezielles Parsen
   Section 9.1: Wortköpfe und -schwänze (Compound Heads und Compound Tails) von langen Wörtern abtrennen
   Section 9.2: Zwillinge und Synonyme (Twins und Synonyms)
   Section 9.3: Englische Richtungsabkürzungen verbieten

Chapter 10: Spezielle Grammatik-Token (Understand tokens)
   Section 10.1: Dich und dir
   Section 10.2: Ein Satzelement als Dativ kennzeichnen (Dativ-Token)
   Section 10.3: Ein Satzelement als Substantiv kennzeichnen (Substantiv-Token)
   Section 10.4: Optionale Präpositionen
   Section 10.5: Erzwungene Präpositionen
   Section 10.6: Pronominaladverbien

Chapter 11: Die I7-Standard-Erweiterungen "Basic Screen Effects", "Locksmith", "Menus" und "Rideable Vehicles"

Chapter 12: Die I7-Standard-Erweiterung "Basic Help Menu"

Chapter 13: GerX-Entwicklung
   Section 13.1: Updates
   Section 13.2: Versionshistorie

Examples
   A: Die Jadestatue
   B: Der Mantel der Finsternis
   C: John Malkovichs Toilette


Kinds: Kasus, Case, grammatical gender, Gender, Article mode, Special indefinite article, Invstyle

Physical creations: north (a direction), northeast (a direction), northwest (a direction), south (a direction), southeast (a direction), southwest (a direction), east (a direction), west (a direction), up (a direction), down (a direction), inside (a direction), outside (a direction), yourself (a person)

Values that vary: previously named noun, inventory style

Values: Nominativ, Genitiv, Dativ, Akkusativ, nominative, genitive, dative, accusative, masculine-gender, feminine-gender, neuter-gender, no-specified-gender, Mehrzahl, männlich, weiblich, sächlich, bare-mode, definite-mode, indefinite-mode, definite article, yours, no article, pending, wide inventory, tall inventory

Kinds of action: allowing wide scope

Actions: Wide taking inventory, Tall taking inventory, Dressing, Undressing, Exiting from, Closing it with, Rubbing it with, Attacking it with, Burning it with, Going into, Vaguely communicating, Thinking about, Location-leaving, Declining, Library checking

Adjectives: male, female, neuter, masculine-gendered, feminine-gendered, neuter-gendered, dummy-enterable, dummy-consultable, alive, switchable, masculine-gender, feminine-gender, neuter-gender, no-specified-gender, definite article, yours, no article, pending, s-terminated

Properties: opposite, male, female, neuter, grammatical gender, special indefinite article, s-terminated

Use options: traditional descriptors, traditional dialect, swiss dialect, inventory indent, inventory hyphen bullet, inventory asterisk bullet, compound heads, compound tails, non-nested lists, non-nested lists with separate paragraphs, list buffer size, explicit error messages, capitalised Du, debug messages, manual pronouns, line break before printing the author's name, init property, skip libcheck, in-scope pronoun notice, room-related pronoun notice, Yoda command clarification, silent inference, capitalised room description headings, maximum printed name length, omit is/are in contents lists


By including this German extension (GerX) you can make German the language of play. The I6 code for German language processing is exclusively based on the deform library 6/11 by Martin Oehm. GerX is, like I7 itself, a work in progress.

Please send bug reports, suggestions, and comments to

"GerX@pageturner.de"

or post them in the German IF forum at

"http://forum.ifzentrale.de"

Chapter 1: Willkommen

Section 1.1: Allgemeines

Mit dieser German-Extension (GerX) kann man deutschsprachige Textadventures mit Inform 7 (I7) schreiben. Das heißt, dass Ein- und Ausgabe des fertigen Spiels auf Deutsch stattfinden; der Inform-7-Quelltext wird weiterhin auf Englisch geschrieben.

GerX wurde von Banbury, Christian Blümke und Michael Baltes erstellt. Der Inform-6-Code, der für die spezielle Behandlung der deutschen Eingabe- und Ausgabetexte verantwortlich ist, wurde ausschließlich der deform-Bibliothek Release 6/11 von Martin Oehm entnommen und so behutsam wie möglich für die Benutzung mit Inform 7 angepasst. Danke an Martin Oehm für diese Steilvorlage!

GerX ist so ausgelegt, dass der Autor, wie beim englischen Original auch, alle Standard-Antworten ändern kann. Sehr bequem geht das z. B. mit der Extension Default Messages von Ron Newcomb in Kombination mit German Default Messages von Team GerX. Alle neuen Rules haben Namen, die man im Inform-Index nachschlagen kann. Über diese lassen sich die Rules ersetzen oder in ihrer Reihenfolge beeinflussen. Für die in Inform 7 enthaltenen Erweiterungen Rideable Vehicles von Graham Nelson sowie Locksmith, Menus und Basic Screen Effects von Emily Short bringt GerX schon Übersetzungen mit. Die Original-Erweiterungen müssen im Quelltext vor der deutschen Erweiterung eingebunden werden.

Um mit GerX arbeiten zu können, muss sich der Autor jedoch mit ein paar Besonderheiten vertraut machen. So gibt es zum Beispiel neue Methoden, Texte mit flexiblen Adjektiv- und/oder Substantiv-Endungen auszugeben. Es gibt auch einige Regeln für das Benennen von Dingen und Vokabeln, an die sich der Autor halten muss, damit das Spiel am Ende richtig funktioniert und der Spieler die größtmögliche Flexibilität bei der Eingabe seiner Anweisungen hat. All das wird im Folgenden erläutert werden.

Section 1.2: Dankeschön

Die Autoren dieser Erweiterung danken Martin Oehm, Emily Short, Marius Müller, Christoph Winkler, Martin Barth, Ingo Scharmann, Andrew Plotkin und allen Nutzern auf "forum.ifzentrale.de" und "rec.arts.int-fiction", die geholfen haben, diese Extension zu erstellen und zu verbessern.

Einer fehlt noch:

Before thanking the above, try thanking Graham Nelson (this is the specially acknowledging the creator of Inform rule).


Chapter 2: Die ersten Schritte

Section 2.1: Einbinden der German-Extension

Um GerX zu benutzen, muss der Autor sie am Anfang seines Codes (nach dem Titel) einbinden.

Include German by Team GerX.

Section 2.2: Bibliographische Daten

Titel und Autor können wie im englischen Original angegeben werden:

"Sauwetter" by Lasse Regner

Wichtig ist, dass weiterhin "by" geschrieben wird. GerX macht bei der Ausgabe ein "von" daraus.

Der Autor sollte eine eigene story headline für sein Spiel angeben, weil ansonsten in den bibliographischen Metadaten (Datei "Metadata.iFiction" im Projektordner) die englische Standard-Headline "An Interactive Fiction" verzeichnet wird.

The story headline is "Ein interaktives Beispiel".

Nun wird am Anfang des Spiels folgender Text ausgegeben:

Sauwetter
Ein interaktives Beispiel von Lasse Regner

Wenn keine story headline angegeben wird, heißt es im Titel-Banner des Spiels (aber eben nicht in den Metadaten):

Sauwetter
Ein Textadventure von Lasse Regner


Chapter 3: Vokabeln

Section 3.1: Was sind Vokabeln?

Vokabeln sind die Wörter im Lexikon eines Spiels, die mit der Spieler-Eingabe abgeglichen werden, um die Anweisung zu verstehen. Dies sind zum einen die vordefinierten Verben, aber auch die vom Autor neu definierten Kommandos und Synonyme für Objekte. Damit auf Deutsch möglichst viele verschiedene Formen (Imperativ oder Infinitv für Verben, Adjektive und Substantive mit Endungen) verstanden werden können, wird die Eingabe des Spielers vor der Auswertung informisiert, d.h. sie wird von Deutsch nach "Informesisch", der Muttersprache des Parsers, übersetzt. (Siehe hierzu auch Kap. 8.1: Die Informisierung der Spielereingabe.)

Zunächst werden die Umlaute (ä, ö, ü) in "ae", "oe" und "ue" umgewandelt; das Eszett (ß) wird zu "ss". Deshalb müssen sämtliche Vokabeln (Verben, Substantive, Adjektive, Präpositionen usw.) vom Autor ohne ä, ö, ü oder ß angegeben werden, wobei für Umlaute die Umschreibungen "ae", "oe" und "ue", für das Eszett "ss" zu verwenden sind. Vokabeln, die Umlaute enthalten, werden vom Spiel nicht verstanden.

Nach der Umschreibung der Umlaute werden sämtliche Flexionsendungen in der Eingabe so weit wie möglich abgeschnitten. Das heißt, der Parser beschneidet die einzelnen Wörter so lange, bis eine Wortform vorliegt, die im Lexikon des Spiels existiert. Deshalb empfiehlt es sich, Vokabeln per Understand-Definitonen immer auf Informesisch (ohne Umlaute und Endungen) zu definieren, damit möglichst viele Varianten verstanden werden können.

Die Einschränkungen für das Definieren von Vokabeln wie "Baeume" sind leider nicht besonders intuitiv, sie haben aber den Vorteil, dass der Spieler sowohl "Bäume" als auch "Baeume" mitsamt aller möglicher Endungen ("Bäumen", "Baeumen") in seiner Anweisung schreiben kann. Es ist also möglich, das Spiel auch auf einer Tastatur ohne deutsche Umlaute zu spielen. Außerdem wird das Definieren von Vokabeln auf diese Weise viel übersichtlicher, da nur die Grundform eines Wortes angegeben werden muss.

Mit der Testfunktion LIBCHECK kann man prüfen, ob versehentlich Vokabeln mit Umlauten oder Endungen definiert wurden (s. Kap. 5.13: "Überprüfen der Vokabel- und Genusdefinitionen").

Intern werden nur die ersten 9 Zeichen einer Vokabel verarbeitet. Dies ist ein Relikt aus speicherarmen Zeiten und kann bei langen Wörtern zu Problemen führen. Zwei Möglichkeiten, wie man lange Vokabeln behandeln kann, sind beschrieben in Section 9.1: Wortköpfe und -schwänze (Compound Heads und Compound Tails) von langen Wörtern abtrennen.

Section 3.2: Hauptwörter und Adjektive (Synonyme für Objekte)

Nomen und Adjektive sollten immer ohne Endungen angegeben werden. Umlaute und "ß" werden umschrieben. Groß- und Kleinschreibung können bei der Definition von Vokabeln beliebig verwendet werden; sie werden bei der Erzeugung des Wörterbuches sämtlich in Kleinbuchstaben übersetzt.

Understand "Reisepass" and "Fuehrerschein" as the documents.
Understand "gruen" as the Green Goblin.

Section 3.3: Verben (Kommandos) und Satzmuster

Bevor man ein neues Verb definiert, sollte man prüfen, ob das Verb mit dem dazugehörigen Satzmuster schon besteht und, falls ja, welche Aktion es auslöst. Sämtliche aktuell für ein Projekt existierenden Kommandos und Satzmuster werden im Actions-Index von Inform 7 aufgelistet.

Verben sollten immer in der Imperativ-Form für die 2. Person Singular angegeben werden, wobei der Spieler das Spiel (und auch andere Personen im Spiel) konventionsgemäß duzt. Im Deutschen haben die regelmäßigen Verben meist zwei Imperativ-Formen, die sich nur durch ein angehängtes "e" unterscheiden ("denk" / "denke"). Das Kommando-Verb sollte nur in der Form ohne "e" angegeben werden, damit diese beiden Formen sowie der Imperativ für die 2. Person Plural ("denkt") und der Infinitiv ("denken") verstanden werden.

Understand "blas" and "pust" as blowing. Understand "kneif" as pinching.

Kommandos müssen aber nicht unbedingt ohne "e" definiert werden, besonders wenn es keine echten Verben sind, sondern Substantive oder englische Verben ("punkte", "save"). Aber auch wenn die Form ohne "e" keinen gültigen Imperativ ergibt, wie z. B. bei "buddl", sollte ebenfalls ein "e" angehängt werden.

Understand "buddle in [dativ] [something]" as digging.

In so einem Fall wird der Parser bei Rückfragen einen falschen Infinitiv konstruieren:

>BUDDLE
Worin willst du buddlen?

Um dem Programm bei Bedarf den korrekten Infinitv für unregelmäßige Imperativ-Infinitiv-Paare mitteilen zu können, gibt es die Tabelle "Table of infinitives", in die Imperative und die dazugehörigen Infinitive eingetragen werden können. Die Tabelle muss vom Autor mit dem Zusatz "(continued)" fortgesetzt werden, da sie von Haus aus schon eine Zeile enthält.

Table of infinitives (continued)
Verb     Infinitive
"buddle"     "buddeln"

>BUDDLE
Worin willst du buddeln?

Natürlich ist es auch möglich, den Infinitiv eines anderes Verbs anzugeben:

Table of infinitives (continued)
Verb     Infinitive
"buddle"     "graben"

>BUDDLE
Worin willst du graben?

In der Tabelle können auch bereits vordefinierte Verb-Infinitiv-Paare verändert werden.

Table of infinitives (continued)
Verb     Infinitive
"nimm"     "dir aneignen"

>NIMM
Was willst du dir aneignen?

Section 3.4: Konflikte zwischen Vokabeln

In seltenen Fällen kann es vorkommen, dass sich Verben und Hauptwörter überschneiden.

The pump is a thing. The printed name of the pump is "Pumpe[f]". Understand "pumpe[f]" as the pump.

Pumping is an action applying to nothing. Understand "pump" as pumping.

Das Vorhandensein der Vokabel 'pumpe' verhindert, dass Spielereingaben auf "pump" heruntergekürzt werden, da bei "pumpe" Schluss ist. Gibt der Spieler etwa ">PUMPE" ein, so wird das nicht als "pump" verstanden, sondern als "pumpe".

Die einfachste Lösung dafür ist, die Vokabel für die Pumpe ohne -e zu definieren:

Understand "pump[f]" as the pump.

Will man jedoch die Vokabel mit -e definieren, z. B., wenn man deutsche Bezeichner benutzt, die ins Vokabular übernommen werden (publically-named), wird es etwas komplizierter:

The Pumpe is a publically-named thing.

Nun muss man das Vokabular fürs Pumpen (die Aktion pumping) erweitern:

Understand "pumpe" as pumping.

Oder auch:

Understand the command "pumpe" as "pump".

Achtung: Der deform-Parser versteht grundsätzlich auch Infinitive (TASCHE AUFHEBEN wird intern nach "heb tasche auf" umgewandelt). Infinitiv-Konstruktionen mit einem Verb, das mit einem Objektsynonym kollidiert, werden nach der oben beschriebenen Anpassung nicht mehr verstanden:

>PUMPE BETRACHTEN
Ich habe nur Folgendes verstanden: pumpen.

In so einem Fall kann man das betreffende Wort in die fortgeführte Tabelle "Table of verb-noun collisions (continued)" eintragen, damit die Infinitiv-Konstruktion wieder korrekt funktioniert.

Table of verb-noun collisions (continued)
Verb
"pumpe"

>PUMPE BETRACHTEN
Du siehst nichts Besonderes an der Pumpe.

Auch bei der Verwendung von Gesprächsthemen (Topics) kann es zu Überschneidungen mit bestehendem Vokabular geben:

Instead of asking the teacher about "Frage/Fragen"...
Understand "Fragebogen/Frage/Fragen" as "[Fragebogen-Topic]".

In diesen Fällen werden die Vokabeln 'frage' und 'fragen' im Wörterbuch angelegt, was verhindert, dass die Imperative "frage" und der Infinitiv "fragen" vom Parser verstanden werden können, da die Verben in der Spieleringabe nicht mehr auf "frag" heruntergekürzt werden.

Die einfachste Lösung ist hier wohl, in den Gesprächsthemen die kürzeste Form zu verwenden:

Instead of asking the teacher about "Frag"...
Understand "Fragebogen/Frag" as "[Fragebogen-Topic]".

Der Spieler kann nun aber auch die verkürzte Form, die nicht korrekt ist, benutzen

*>FRAGE DEN LEHRER NACH DER FRAG

Wer das nicht möchte, muss wie oben beschrieben vorgehen:

Understand the commands "frage" and "fragen" as "frag".

Table of verb-noun collisions (continued)
Verb
"frage"
"fragen"

Nun muss aber auch noch die Infinitv-Form für das Kommando "fragen" geändert werden, weil bei der Verwendung des Infinitivs in der Eingabe die Wiedergabe des Kommandos ("[recap of command]") einen falschen Infinitiv schreibt: "fragenen". Also:

Table of Infinitives (continued)
Verb     Infinitive
"fragen"     "fragen"

Section 3.5: Umlaute und Eszetts in Glulx-Vokabeln verwenden (experimentell)

Standardmäßig müssen Umlaute und Eszetts (ß) bei der Vokabeldefinition umschrieben werden (ae, oe, ue, ss). Nur so wird gewährleistet, dass der Spieler Umlaute, aber auch deren Umschreibungen benutzen kann. Spielereingaben sollen auch immer auf einer Tastatur ohne deutsche Umlaute und ß getätigt werden können.

Seit Juni 2012 gibt es eine vorerst experimentelle Option, bei der der Autor auch Umlaute und ß in seinen Vokabeldefinitionen verwenden kann, wenn er nach Glulx compiliert. Für den Spieler ändert sich nichts; er kann weiter die Umlaute/ß sowie deren Umschreibungen in seiner Eingabe benutzen.

Use umlauts in Glulx dictionary words.

Damit die Option Wirkung zeigt, muss sichergestellt werden, dass in den Einstellungen als Zielformat "Glulx" ausgewählt wurde. Für Z-Code ist die Verwendung von Vokabeln wenig praktikabel, da die Sonderzeichen jeweils schon vier Stellen in der maximal 9 Stellen langen Z-Vokabel belegen.

Beispiel:

The hearing aid is a device in the lab. The printed name of the hearing aid is "Hörgerät[n]".

Understand "Gerät" and "Hörgerät" as the hearing aid.

The bowl is a container in the lab. The printed name is "groß[^] Schüssel[f]".

Understand "groß", "Schüssel" and "Schale" as the bowl.

Damit sämtliche Endungen verstanden werden können, sollten in den Vokabeln, wie bei der Standardvariante auch, nur die Formen ohne Endungen verwendet werden.

Standardmäßig werden vier Umlaute/ß pro Vokabel verstanden. Dieser Wert sollte für die meisten Fälle ausreichend sein. Wenn mehr Umlaute/ß in einer Vokabel enthalten sind, kann man das Limit erhöhen, was im ungünstigsten Fall zu Performance-Einbußen führen kann.

Use maximum number of umlauts of at least <N>.

N muss eine ganze Zahl größer als 4 und kleiner als 16 sein.


Chapter 4: Das Definieren von Dingen

Section 4.1: Zwei unterschiedliche Methoden

Das Definieren von Dingen ist im englischen Inform 7 eine elegante Sache. Der Autor benennt ein Objekt und I7 macht aus diesem internen Namen gleich noch eine Vokabel, oder auch mehrere. Zudem wird der interne Name für die Anzeige im Spiel genutzt. Ein Beispiel:

The book is a thing in the library.

Book ist nun der interne Bezeichner, mit dem der Autor in seinem Code auf das Objekt verweist. 'book' wird gleichzeitig als Vokabel definiert und der angezeigte Name, der printed name, wird als "book" angelegt.

Mit GerX stoßen wir mit dieser schönen Verzahnung von Programmier- und Spielsprache leider an Grenzen, da nur die Spielsprache ins Deutsche übertragen wird. Solange es keinen I7-Compiler gibt, der deutschen Quelltext versteht und nach Inform 6 übersetzt, muss man Kompromisse machen.

Es gibt zwei unterschiedliche Methoden zum Definieren von Objekten. Der Standard ist ein uneleganter Sprachen-Mix. Es gibt aber ein alternatives Verfahren, bei der Objektbezeichner und Vokabular nicht direkt zusammenhängen. Jede dieser Vorgehensweisen stellt einen Kompromiss mit unterschiedlichen Schwerpunkten dar; welche man bevorzugt, ist reine Geschmackssache, denn der Spieler wird den Unterschied später nicht merken.

Section 4.2: Methode I: Die Denglisch-Variante (Standard)

Es müssen deutsche Objektnamen und englische Arten-Bezeichnungen verwendet werden, was zu einem etwas unschönen Sprachen-Mix führt:

The Keller is a room. The grammatical gender of the Keller is masculine-gender.

The Kiste is a container in the Keller, fixed in place. The grammatical gender of the Kiste is feminine-gender.

The grün Apfel is an edible thing in the Kiste. The printed name is "grün[^] Apfel[-s][m]". Understand "gruen" as the Apfel.

The Oelkanne is a thing in the Keller. The printed name is "Ölkanne[f]".

A Karotte is a kind of thing. It is edible. The grammatical gender of the Karotte is feminine-gender. The printed plural name is "Karotten". Understand "Karotte" and "Moehre" as a Karotte. Understand "Karotten" and "Moehren" as the plural of Karotte.

In the box are six Karotten.

Enthält der Objektname Umlaute oder ß, muss das Vokabular mit den Umschreibungen (ae, oe, ue, ss) angepasst werden (so wie bei "grün" im Beispiel). Benutzt man Umschreibungen im Objektnamen, muss der angezeigte Objektname, der printed name, nachgezogen werden (wie bei der "Ölkanne"). Der angezeigte Plural-Objektname (printed plural name) und das Plural-Vokabular für mehrere Objekte derselben Art (hier: die Karotten) müssen von Hand angepasst werden, wenn der Plural nicht wie im Englischen mit 's' am Ende gebildet wird.

Das Beispiel A "Die Jadestatue" im Anhang dieser Dokumentation benutzt die Denglisch-Methode zum Definieren von Objekten.

Section 4.3: Methode II: Die einsprachige Variante

Um den uneleganten Sprachen-Mix zu vermeiden, kann man die Arten (kinds) "thing" und "room" als "privately-named" deklarieren (im Gegensatz zu "publically-named"). Das bedeutet, dass der interne Bezeichner nicht ans Vokabular weitergegeben wird. Das betrifft dann auch sämtliche Unter-Arten von "room" und "thing" ("supporter", "container" usw.). Man kann die Objekte in seinem Quelltext also nennen, wie man möchte, vor allem aber englische Bezeichner und Arten verwenden. Das hat den Vorteil, dass der Quelltext natürlicher wirkt; der Nachteil allerdings ist, dass der angezeigte Objektname (printed name) und die Synonyme explizit für jedes Objekt angegeben werden müssen. Bei mehreren Objekten derselben Art müssen zudem noch der angezeigte Plural-Objektname (printed plural name) und das Plural-Vokabular nachgeliefert werden.

A thing is usually privately-named. A room is usually privately-named.

Beispiele:

The basement is a room. The printed name is "Keller[m]". Understand "Keller" as the basement.

The box is a container in the basement, fixed in place. The printed name is "Kasten[m]". Understand "Kasten" as the box.

The green apple is an edible thing in the box. The printed name is "grün[^] Apfel[-s][m]". Understand "gruen" and "Apfel" as the apple.

A carrot is a kind of thing. It is edible. The printed name is "Karotte[f]". The printed plural name is "Karotten". Understand "Karotte" and "Moehre" as a carrot. Understand "Karotten" and "Moehren" as the plural of a carrot.

In the box are six carrots.

Bei Eigennamen muss nur das Vokabular nachgeliefert werden. Der angezeigte Objektname wird vom Bezeichner übernommen.

Tina McKenzie is a woman in the saloon. Understand "Tina" and "McKenzie" as Tina.

Das Beispiel B "Der Mantel der Finsternis" im Anhang dieser Dokumentation benutzt die einsprachige Methode zum Definieren von Objekten.

Section 4.4: Angabe des grammatischen Geschlechts (Genus)

Das grammatische Geschlecht (Genus) des Objekts ist für die Bildung der korrekten Formen bei der Textausgabe entscheidend und entspricht dem Genus des angezeigten Objektnamens (printed name). Jedes Objekt besitzt als Eigenschaft einen "grammatical gender", der die Werte masculine-gender (männlich), feminine-gender (weiblich) oder neuter-gender (sächlich) annehmen kann. Der grammatical gender eines Objekts ist standardmäßig neuter-gender.

(Bitte nicht wundern: Es gibt noch einen weiteren grammatical gender, den Wert no-specified-gender, der auch im Index angezeigt wird. Dieser Wert dient lediglich zu internen Kontrollzwecken bei der Initialisierung des Spiels und wird danach nicht mehr gebraucht. Der Autor kann diesen Wert getrost ignorieren.)

Objekte mit einem printed name im Plural bekommen das Attribut (Adjektiv) plural-named. Der grammatical gender ist bei Plural-Objekten irrelevant und wird deshalb auf den (beliebigen) Wert neuter-gender gesetzt.

Man kann den grammatical gender für ein Objekt auf zwei Arten festlegen:

(1) Direkt im printed name wird mit einer Textersetzung, die als Kennzeichnung dient, der grammatical gender gesetzt. Das ist praktisch, weil sich das Objekt-Genus ohnehin immer nach dem printed name richtet; so können mögliche Diskrepanzen zwischen Objekt-Genus und -Namen leicht vermieden werden.

Für jedes Objekt, das auf diese Weise gekennzeichnet werden soll, muss also gesondert ein printed name angegeben werden. Für Autoren, die die "einsprachige" Privately-Named-Methode (siehe Section 4.3) benutzen, bedeutet das allerdings keinen Mehraufwand, da der printed name und das Vokabular ohnehin explizit definiert werden müssen. Aber auch bei der Standard-Methode (siehe Section 4.2) muss der printed name häufig von Hand definiert werden, um die Textersetzungen für die Endungen nachzuliefern.

Die Genus-Textersetzungen entsprechen formal den Genus-Satzbausteinen (understand tokens) beim Changing Gender (siehe Section 4.6: Feststellen und Anzeigen des grammatischen Geschlechts (Genus)):

"[m]" (Maskulinum, männlich)
"[f]" (Femininum, weiblich)
"[n]" (Neutrum, sächlich)
"[p]" (Plural, Mehrzahl)

Wichtig ist, dass die Textersetzung ohne ein zusätzliches Leerzeichen im printed name steht.

Beispiel:

A thing is usually privately-named. A room is usually privately-named.

The lab is a room. "Du bist hier im geheimen Labor des Doktor Saratow.". The printed name is "Labor[n]". Understand "Labor[n]" as the lab.

The apple is a thing in the lab. The printed name is "Apfel[-s][m]". Understand "Apfel" as the apple.

The pear is a thing in the lab. The printed name is "Birne[f]". Understand "Birne" as the pear.

The peculiar item is in the lab. The printed name is "eigenartig[^] Ding[n], das Du irgendwo schon einmal gesehen hast". Understand "eigenartig", "Ding" as the peculiar item.

(2) Wenn keine Genus-Kennzeichnung im printed name verwendet wird, kann der grammatical gender auch direkt zugewiesen werden, was etwas mehr Schreibarbeit bedeutet, aber prinzipiell das gleiche bewirkt, wie die Kennzeichnung im printed name:

The grammatical gender of the apple is masculine-gender.
The grammatical gender of the pear is feminine-gender.

Um ein Plural-Objekt zu definieren, muss das Attribut plural-named vergeben werden:

The marbles are plural-named.

Section 4.5: Ändern des grammatischen Geschlechts (Genus) während des Spiels

Wenn sich der printed name eines Objekts während des Spiels ändert, muss natürlich auch das dazugehörige grammatische Geschlecht angepasst werden. Das geht mit der Anweisung "re-genderise <OBJECT> to <TEXT>, <PHRASE OPTIONS>" in einem Aufwasch:

re-genderise the vase to "Scherbenhaufen[m]";

Das bewirkt Folgendes: Der printed name des Objekts vase wird zu "Scherbenhaufen[m]", und der grammatical gender des Objekts vase bekommt den Wert masculine-gender.

Die re-genderise-Phrase bietet zusätzliche Optionen:

acting plural
acting masculine
acting feminine
acting neuter

Eine dieser vier Optionen kann hinzugefügt werden, wenn kein Genus im neuen printed name angegeben wird, z. B.

re-genderise the vase to "Scherbenhaufen", acting masculine.

Weitere Optionen sind:

with definite article
with no article
with yours

Eine dieser Möglichkeiten setzt den special indefinite article (siehe Section 4.8) eines Objekts. Wird keine dieser Optionen angegeben, fällt der special indefinite gender zurück auf den Wert PENDING.

Um einen Eigennamen zu definieren steht folgende Optionen zur Verfügung:

as proper-named (Eigenname)

Wird die Option nicht angegeben, wird implizit das Attribut improper-named vergeben (kein Eigenname).

Die Optionen können durch ein Komma miteinander kombiniert werden, z. B.

re-genderise the vase to "Scherbenhaufen[m]";
re-genderise the vase to "Scherbenhaufen[m]", with definite article;
re-genderise the vase to "Scherbenhäufchen", acting neuter, with yours;
re-genderise the vase to "Annas Vase[f]", as proper-named;

Praxis-Beispiel:

The girl is a woman in the lab. "[Ein girl] ist hier." The printed name is "Mädchen[n]". Understand "Anna[f]" and "Maedchen[n]" as the girl.

After examining the girl when the girl is not proper-named:
     re-genderise the girl to "Anna[f]", as proper-named;
     say "Das Mädchen sagt: 'Ich heiße übrigens [girl]. Und ich bin [gender of girl].'"

Section 4.6: Feststellen und Anzeigen des grammatischen Geschlechts (Genus)

Um herauszufinden, welches grammatische Geschlecht ein Objekt hat, ist der grammatical gender eines Objekts auschlaggebend.

if the grammatical gender of the noun is masculine-gender,...

Man kann auch eines der folgenden Adjektive verwenden, was zum Beispiel beim Schreiben von Listen notwendig ist:

masculine-gendered
feminine-gendered
neuter-gendered

if the noun is feminine-gendered,...
say "[the list of feminine-gendered things]";

Den Plural testet man mit

if the noun is plural-named,...
say "[a list of plural-named things]";

Möchte man aber das Genus/den Plural als Wert auf Deutsch benutzen, beispielsweise in einem Ausgabetext, bietet sich die Phrase "the gender of" an. Die Werte der Genera sind "Mehrzahl", "männlich", "weiblich", "sächlich". ("Mehrzahl" ist eigentlich kein Genus, aber der Einfachheit halber wird der Plural hier gleich mitgeliefert.)

if the gender of the noun is Mehrzahl,...
if the gender of the noun is männlich,...
if the gender of the noun is weiblich,...
if the gender of the noun is sächlich,...

Die Phrase "the gender of" kann auch in Say-Texten verwendet werden:

say "Das Genus [des noun] ist [the gender of the noun]."

Um das geänderte Genus (Changing Gender) einen Zug lang zu befragen, gibt es die Phrase "the changing gender of":

if the changing gender of the box is sächlich,...

Auch diese Phrase kann in Say-Texten verwendet werden:

say "Das geänderte Genus von [dem noun] ist [the changing gender of the noun]."

Section 4.7: Die traditionellen Genus-Attribute male, female und neuter

Die Verwendung der Attribute male, female und neuter ist im Mai 2012 umgestellt worden. Die Attribute werden bei Spielbeginn automatisch in den grammatical gender übersetzt und gelöscht. Das Verhalten der Attribute wird aber noch simuliert, um die Kompatibilität mit dem traditionellen Verfahren nicht aufzugeben. Wer mag, kann also weiterhin Definitionen mit den Adjektiven male, female und neuter verwenden:

The apple is a male edible thing in the garden.
The pear is a thing in the garden. It is female.
The girl is neuter.

Auch das Ändern des Genus über die traditionellen Attribute male, female und neuter wird weiterhin unterstützt:

now the vase is male;
now the apple is female;
now the lady is neuter;

Die traditionellen Attribute male, female und neuter können weiterhin zum Abfragen des Genus verwendet werden, auch wenn sie intern nicht mehr vergeben werden:

if the noun is male,...
if the noun is female,...
if the noun is neuter,...

say "[a list of male fruit in the garden]";

Wenn die Attribute bei Spielbeginn nicht gelöscht werden sollen, kann die dafür zuständige Regel entfernt werden:

The initially genderise everything rule is not listed in any rulebook.

Die Attribute bleiben bestehen, der grammatical gender wird parallel zu ihnen gesetzt, aber nicht für die Bestimmung des Genus herangezogen. Die Verwendung der Genus-Tags im printed name sollte ohne die "initially genderise everything rule" nicht verwendet werden.

Section 4.8: Angabe des Genus für Synonyme mit abweichendem Geschlecht (Changing Gender)

Für jedes per Understand-Anweisung definierte Objektsynonym kann das Genus des Wortes mitgeliefert werden. Formal entspricht dies der Genus-Kennzeichnung im printed name. Das grammatische Geschlecht einer Vokabel wird jedoch nur zum Setzen der entsprechenden Pronomen benutzt. Für die Textausgabe ist der Changing Gender (CG) irrelevant.

Häufig kommt es vor, dass Objekte Synonyme bekommen, die ein anderes Geschlecht als das Objekt (genauer: der printed name des Objekts) haben.

The anorak is a wearable thing in the dressing room. The printed name of the anorak is "Anorak[-s][m]".
The description is "Eine richtig dicke Winterjacke." Understand "Anorak", "Jacke" and "Winterjacke" as the Anorak.

Was passiert nun, wenn der Spieler den Anorak lieber "Jacke" nennt, und diese mit Pronomen ansprechen möchte?

Du siehst hier einen Anorak.

>U ANORAK
Eine richtig dicke Winterjacke.

>NIMM JACKE
In Ordnung.

>ZIEH SIE AN
Mir ist nicht klar, worauf sich "sie" bezieht.

Oder noch unangenehmer:

>ZIEH SIE AN
(Dazu hebst du die Birne erst auf.)
Du kannst die Birne nicht anziehen!

Um das zu vermeiden und die Pronomen korrekt zu setzen, kann man einzelnen Synonymen einen von vier Attribut-Satzbausteinen folgen lassen, die das abweichende Geschlecht der Vokabel kennzeichnen. Diese Satzbausteine (understand tokens) gleichen formal den Genus-Textersetzungen im printed name, sind aber nicht damit zu verwechseln (siehe Section 4.4: Angabe des grammatischen Geschlechts (Genus)).

Die Genus-Satzbausteine heißen:

"[m]" (Maskulinum, männlich)
"[f]" (Femininum, weiblich)
"[n]" (Neutrum, sächlich)
"[p]" (Plural, Mehrzahl)

Das Token wird nach der Vokabel, die gekennzeichnet werden soll, angegeben. Zwischen Vokabel und Kennzeichnung kann ein Leerzeichen stehen, muss es aber nicht:

The anorak is a wearable thing in the dressing room. The printed name of the anorak is "Anorak[-s][m]". The description is "Eine richtig dicke Winterjacke. Ein Erbstück."

Understand "Parka", "Jacke[f]", "Winterjacke [f]" and "Erbstueck[n]" as the Anorak.

Der "Parka" kann, muss aber nicht, mit "[m]" gekennzeichnet werden, da er dasselbe Genus wie der "Anorak" hat.

Nun sieht der Dialog so aus:

>U ANORAK
Eine richtig dicke Winterjacke. Ein Erbstück.

>NIMM JACKE
In Ordnung.

>ZIEH SIE AN
Du ziehst den Anorak an.

>DURCHSUCHE ERBSTÜCK
Du findest nichts Interessantes.

>ZIEH ES AUS
Du ziehst den Anorak aus.

Section 4.9: Sonderformen des unbestimmten Artikels: DEFINITE ARTICLE, YOURS, NO ARTICLE und PENDING

Bei der Ausgabe des Objektnamens mit unbestimmtem Artikel, z. B. per "[Ein <Objekt>]", "[ein <Objekt>]" oder in einer Liste, kann man eine Sonderform des unbestimmten Artikel (indefinite article), den special indefinite article, für ein Objekt angeben. Der special indefinite article ist im Gegensatz zum indefinite article kein Text, sondern einer der drei Werte DEFINITE ARTICLE, YOURS oder NO ARTICLE (können auch klein geschrieben werden). Der special indefinite article überschreibt einen möglicherweise schon vorhandenen indefinite article.

Man kann Objektnamen statt mit einem unbestimmten Artikel mit einem bestimmten Artikel anzeigen lassen:

The special indefinite article of the mirth mobile is DEFINITE ARTICLE.

"Du siehst hier das Spaßmobil."

Dinge, die der Spielerfigur gehören, können bei der Ausgabe mit unbestimmtem Artikel mit dem korrekt flektierten Possessivartikel "dein" angezeigt werden:

The special indefinite article of the wallet is YOURS.

"Du siehst hier deine Brieftasche."

Achtung: Der special indefinite article YOURS wird *nicht* für die Ausgabe mit bestimmtem Artikel verwendet. Soll der Name eines Objekts in jedem Fall mit "dein" ausgegeben werden, muss man in die Ausgabe des angezeigten Objektnamens eingreifen und ein flektierendes "dein" voranstellen:

Maria is a woman.

Before printing the name of Maria:
     if current case is:
         -- nominative: say "deine";
         -- genitive: say "deiner";
         -- dative: say "deiner";
         -- accusative: say "deine";
     say " Frau ".

Dinge können auch ohne Artikel angezeigt werden, so als hätte man sie als Eigennamen definiert. Der einzige Unterschied ist, dass das Objekt nicht das Attribut "proper-named" bekommt. Bei Dingen, die proper-named sind, werden nie Artikel verwendet, auch nicht bei der Ausgabe mit bestimmtem Artikel. Das kann man mit "no article" umgehen:

The special indefinite article of the Milch is NO ARTICLE. The printed name is "frisch[^] Milch[f]."

"Du siehst hier frische Milch."

Say "Du siehst hier [den Milch] von Bauer Henke."

"Du siehst hier die frische Milch von Bauer Henke."

Jedes Objekt der Klasse "thing" und deren Unterklassen besitzt standardmäßig einen special indefinite article mit dem Wert PENDING. Dieser bleibt wirkungslos, bis dem special indefinite article einer der Werte DEFINITE ARTICLE, YOURS oder NO ARTICLE zugewiesen wird. Ein special indefinite article kann im weiteren Spielverlauf wieder unwirksam gemacht werden, indem man ihm den Wert PENDING zuweist.

The book is a thing. The printed name of the book is "Buch[-es][n]".

After examining the book for the first time:
     now the special indefinite article of the book is YOURS;
     say "Erst jetzt erkennst du, dass dies dein Tagebuch ist."

After giving the book to Peter:
     now the special indefinite article of the book is PENDING;
     say "Du schenkst Peter dein Buch."

Section 4.10: Assemblies: Automatisch erzeugte Teile von Personen

Möchte man zum Beipiel Körperteile, sagen wir Nasen, für alle Personen erzeugen, geht das ganz einfach mit

A Nase is a kind of thing. The plural of Nase is Nasen.
A Nase is part of every person.

Der Inform-Compiler erzeugt nun automatisch eine Nase für jede Person im Spiel, wobei die Bezeichner, die angezeigten Objektnamen und das zum Objekt gehörige Vokabular ebenfalls angelegt werden -- nur leider auf Englisch. In GerX ist ein Workaround enthalten, der zumindest den angezeigten Objektnamen auf Deutsch ausgibt ("deine Nase", "Nase des Polizisten", "Bennos Nase" usw.). Um das englische Vokabular zu unterbinden, müssen die erzeugten Teile privately-named sein und der printed name muss nachgereicht werden:

A Nase is privately-named.
The printed name of a Nase is "Nase[f]".

Nun fehlt noch das deutsche Vokabular, um die Nasen entsprechend ihrer Besitzer ansprechen zu können:

Understand "Nase[f]" and "Zinken [m]" as "[Nase]".

Understand "[Nase] von/des/der [something related by reversed incorporation]" as a Nase.
Understand "[Nase] [something related by reversed incorporation]" as a Nase.
Understand "[something related by reversed incorporation] [Nase]" as a Nase.
Understand "dein/mein/unser/euer [Nase]" or "[Nase] von dir/mir/uns/euch" as your Nase.

Nun werden "deine Nase", "Bennos Nase", "Nase des Polizisten" und so weiter als die entsprechenden Nasen erkannt.

Der Workaround hängt an Eigennamen standardmäßig ein 's' an, würde also bei Namen, die auf S auslauten (Klaus, Max, Moritz) "Klauss Gesicht", "Moritzs Nase" und "Maxs Kopf" schreiben, was keine korrekten Genitive sind. Für Personen, die einen Namen haben, der auf ein gesprochenes S endet, muss folgende Eigenschaft angegeben werden:

Klaus is s-terminated.

Danach wird korrekt "Klaus' Gesicht", "Moritz' Nase" und "Max' Kopf" geschrieben. Falls sich der Name im Laufe des Spiels ändern und nicht mehr auf S enden sollte, kann man die Eigenschaft ganz einfach wieder wegnehmen.

Leider wird der Genitiv mit Apostroph nicht automatisch verstanden. Es empfiehlt sich also, den Namen mit Apostroph als zusätzliche Vokabel für den entsprechenden Besitzer des Körperteils anzugeben. Es ist nicht ratsam, den Namen mit Apostroph als Synonym für das Körperteil zu definieren, da es bei der Existenz mehrerer Körperteile zu Ambiguitäten kommen kann, d.h. der Parser weiß eventuell nicht, ob mit der Spielereingabe "max'" die Nase, ein Auge oder sonst ein definiertes Körperteil gemeint ist.

Understand "Max'" as Max. Understand "Moritz'" as Moritz. Understand "Klaus'" as Klaus.


Chapter 5: Ausdrücke zur flexiblen Textausgabe

Section 5.1: Neue Textersetzungen müssen her

In einem Ausgabetext lässt sich auf Dinge und Werte Bezug nehmen, indem man eine Textersetzung in eckigen Klammern benutzt. Für die Ausgabe von Objektnamen mit bestimmtem bzw. unbestimmtem Artikel gibt es im englischen Original "[The noun]", "[the noun]", "[A noun]" oder "[a noun]". Diese enthalten aber keine Information über den benötigten Fall und stehen immer im Nominativ; dies gilt auch für die Textersetzungen, die in der Erweiterung Plurality von Emily Short definiert werden. Deshalb können wir sie für deutsche Ausgabetexte nicht flexibel einsetzen und müssen neue, fallspezifische Ausdrücke verwenden. Die neuen Textersetzungen, die auch die Benutzung der Erweiterung Plurality überflüssig machen, tragen jeweils den Namen des entsprechend flektierten männlichen Artikels (der, des, dem, den / ein, eines, einem, einen), weil dieser als Einziger den Kasus eindeutig repräsentiert.

Section 5.2: Objektnamen

Für die meisten Textersetzungen gibt es eine Variante mit großem Anfangsbuchstaben für Satzanfänge und eine mit kleinem Anfangsbuchstaben.

Objektnamen mit bestimmten Artikeln:

"[Der <Objekt>] [Des <Objekt>] [Dem <Objekt>] [Den <Objekt>]"
"[der <Objekt>] [des <Objekt>] [dem <Objekt>] [den <Objekt>]"

Objektnamen mit unbestimmten Artikeln:

"[Ein <Objekt>] [Eines <Objekt>] [Einem <Objekt>] [Einen <Objekt>]"
"[ein <Objekt>] [eines <Objekt>] [einem <Objekt>] [einen <Objekt>]"

Objektnamen mit Negativartikel:

"[Kein <Objekt>] [Keines <Objekt>] [Keinem <Objekt>] [Keinen <Objekt>]"
"[kein <Objekt>] [keines <Objekt>] [keinem <Objekt>] [keinen <Objekt>]"

Objektnamen ohne Artikel:

Im englischen Original reicht es, wenn man in Say-Texten Objektnamen ohne Artikel mit dem Objektnamen in eckigen Klammern ausgibt.

The printed name of the Tisch is "klein[^] Tisch[-es]".

say "[Tisch]";
"kleiner Tisch"

Der so ausgegebene Objektname steht jedoch immer im Nominativ; um den jeweils benötigten Fall angeben zu können, gibt es folgende Möglichkeiten (mit deutschen und gleichbedeutenden englischen Phrasen):

"[<Objekt> im <Kasus>]" (Kasus: Nominativ, Genitiv, Dativ, Akkusativ)
"[<Object> with <case>]" (cases: nominative, genitive, dative, accusative)
"kleiner Tisch / kleinen Tisches / kleinem Tisch / kleinen Tisch"

"[<Objekt> bestimmt im <Kasus>]" (Ausgabe wie mit bestimmtem Artikel, nur ohne den Artikel)
"[<Object> definite with <case>]"
"kleine Tisch / kleinen Tisches / kleinen Tisch / kleinen Tisch"

"[<Objekt> unbestimmt im <Kasus>]" (Ausgabe wie mit unbestimmtem Artikel, nur ohne den Artikel)
"[<Object> indefinite with <case>]"
"kleiner Tisch / kleinen Tisches / kleinen Tisch / kleinen Tisch."

Section 5.3: Pronomen, Hilfsverben und Verb-Endungen

Die Ausdrücke passen sich an Numerus und Genus des zuletzt genannten Objekts oder eines angegebenen Objekts an. Mit "zuletzt genanntem Objekt" ist das Objekt gemeint, das als letztes mit einer Textersetzung explizit angegeben wurde. Das zuletzt genannte Objekt heißt in GerX "previously named noun" (nicht zu verwechseln mit dem "prior named noun", welches in manchen englischen Erweiterungen verwendet wird) und kann vom Autor in eigenen Name-Printing-Rules als Variable des Typs "Object" befragt oder neu gesetzt werden.

Pronomen:

Auf das zuletzt genannte Objekt bezogen:

"[Er] [Seiner] [Ihm] [Ihn]"
"[er] [seiner] [ihm] [ihn]"

Mit angegebenem Objekt, falls es vom zuletzt genannten Objekt abweicht:

"[Er <Objekt>] [Seiner <Objekt>] [Ihm <Objekt>] [Ihn <Objekt>]"
"[er <Objekt>] [seiner <Objekt>] [ihm <Objekt>] [ihn <Objekt>]"

Hilfsverben:

Auf das zuletzt genannte Objekt bezogen:

"[ist] [hat] [wird]"

Mit angegebenem Objekt, falls es vom zuletzt genannten Objekt abweicht:

"[ist <Objekt>] [hat <Objekt>] [wird <Objekt>]"

Endungen für Verben:

Auf das zuletzt genannte Objekt bezogen:

"[t] [et] [e]"

Mit angegebenem Objekt, falls es vom zuletzt genannten Objekt abweicht:

"[t <Objekt>] [et <Objekt>] [e <Objekt>]"

Section 5.4: Relativpronomen

Zur Ausgabe von Relativpronomen, die sich an Genus und Numerus eines Objekts anpassen, stehen folgende Ausdrücke zur Verfügung:

Auf das zuletzt genannte Objekt bezogen:

"[*der*]"
"[*dessen-deren*]"
"[*dessen-derer*]" (für Präpositionen, die einen Genitiv verlangen)
"[*dem*]"
"[*den*]"

"[*welcher*]"
"[*welchem*]"
"[*welchen*]"

Mit angegebenem Objekt, falls es vom zuletzt genannten Objekt abweicht:

"[*der* <Objekt>]"
"[*dessen-deren* <Objekt>]"
"[*dessen-derer* <Objekt>]" (für Präpositionen, die einen Genitiv verlangen)
"[*dem* <Objekt>]"
"[*den* <Objekt>]"

"[*welcher* <Objekt>]"
"[*welchem* <Objekt>]"
"[*welchen* <Objekt>]"

Section 5.5: Wählbare Darstellung von "ß" und "ss"

Die Standard-Antworten der Library wurden so geschrieben, dass sich die Eszetts nachträglich anpassen lassen.

Use Swiss dialect. veranlasst, dass alle "ß" als "ss" geschrieben werden.

Use traditional dialect. (gemeint ist die alte deutsche Rechtschreibung) schreibt "ß" sowohl nach kurzem als auch langem Vokal.

Die Standardeinstellung ist die neue Schreibung: "ß" nach langem Vokal, "ss" nach einem kurzen.

"[ß]": Eszett nach langem Vokal.

"[ss]" oder "[~ß]" (gleichwertig): Eszett nach kurzem Vokal.

Say "Au[ß]erdem ist der gesamte Fu[ß]boden na[ss]."

In der Schweiz:

"Ausserdem ist der gesamte Fussboden nass."

In der alten Rechtschreibung:

"Außerdem ist der gesamte Fußboden naß."

In der neuen Rechtschreibung (GerX-Standard):

"Außerdem ist der gesamte Fußboden nass."

Im Normalfall wird ein Autor die Eszett-Phrasen wohl nicht benutzen, es sei denn, er plant, sein Spiel in unterschiedlichen Sprachfassungen herauszugeben (oder er schreibt eine Extension für die deutsche Extension).

Section 5.6: Exotisch: Wählbare Darstellung von "du"

Die Option

Use capitalised Du.

veranlasst, dass alle Formen von "du" in den Standard-Texten groß geschrieben werden.

Will sich der Autor in seinen eigenen Say-Texten noch nicht sofort festlegen, ob er "du" groß oder klein schreiben soll, kann er die folgenden Ausdrücke benutzen:

"[du]" "[dir]" "[dich]"
"[dein]" "[deine]" "[deiner]" "[deines]" "[deinem]" "[deinen]"

Say "Warum willst [du] denn unbedingt [deinen] Lesern alles verraten?"

Mit den Anweisungen

Set Du to lower-case.
Set Du to upper-case.

kann der Autor während des Spiels zwischen großem und kleinen Du wechseln.

Diese Textersetzungen werden wohl, wenn überhaupt, nur in Ausnahmefällen benutzt werden. Autoren von Extensions, die auf die deutsche Extension aufbauen, sollten ihre Standard-Antworten allerdings mit dem flexiblen "[du]" schreiben.

Section 5.7: Die universelle Endung für alle flektierten Adjektive

Zur korrekt flektierten Ausgabe von Endungen in angezeigten Objektnamen stehen Suffixe für Adjektive und Hauptworte zur Verfügung. Ob man alle Endungen für ein Ding korrekt angegeben hat, kann mit dem Debug-Befehl DEKLINIERE <DING> überprüft werden. Dieser Befehl steht nur während der Entwicklung zur Verfügung und wird beim Release entfernt.

Die universelle Adjektiv-Endung

"[^]"

wird an den Stamm eines jeden flektierten Adjektivs, das Bestandteil des angezeigten Objektnamens ist, gehängt. Damit wird für jeden Fall die richtige Endung ausgegeben.

The Tomate is an edible thing. The printed name is "grün[^] Tomate[f]". Understand "gruen" as the Tomate.

Die Adjektiv-Endung kann auch im indefinite article genutzt werden:

The Murmeln are a thing in the playground. The printed name is "magisch[^] Murmeln[p]". Understand "magisch" as the Murmeln.

The indefinite article is "einig[^]".
"Du siehst hier einige magische Murmeln."

Section 5.8: Endungen für Substantive

"[-n]" für Plural-Substantive, die auf "e" enden. Im Dativ wird ein "n" angehängt.

The printed name of the Zwerge is "Zwerge[-n]".
"Die Zwerge, der Zwerge, den Zwergen, die Zwerge."

Die Endung kann auch für männliche Substantive, die auf "e" enden (der Affe, der Bote, der Bube, der Drache, der Hase, der Junge, der Knabe, der Kollege, der Kunde, der Löwe, der Neffe, der Russe usw.; Ausnahme: der Käse) benutzt werden.

The printed name of the Affe is "Affe[-n]".
"Der Affe, des Affen, dem Affen, den Affen."

"[-en]" für männliche Substantive.

The printed name of the Student is "Student[-en]".
"Der Student, des Studenten, dem Studenten, den Studenten."

"[-s]" für Substantive im Genitiv.

The printed name of the Becken is "Becken[-s]".
"Das Becken, des Beckens, dem Becken, das Becken."

"[-es]" für Substantive im Genitiv.

The printed name of the Haus is "Haus[-es]".
"Das Haus, des Hauses, das Haus, dem Haus."

Section 5.9: Bestimmte Artikel

Möchte der Autor Namen wie "Karl der Große" verwenden, muss er besondere Ausdrücke für die bestimmten Artikel, nämlich "[der]", "[die]", oder "[das]", verwenden, damit der Artikel in Ausgabetexten flektiert wird. Für Plural-Artikel gibt es den Ausdruck "[die plural]", aber Plural-Namen mit Artikel kommen wohl eher selten vor.

The printed name of Ivan is "Ivan[-s][m] [der] Schreckliche[-n]".
The printed name of Gertrud is "Gertrud[-es][f] [die] Große[-n] von Helfta".
The printed name of Hui Buh is "Hui Buh[-s] [das] Schlossgespenst[-s][n]".

Denkbar wäre auch der (eher unwahrscheinliche) Fall, dass man das Genus und den Numerus für den Artikel von einem bestimmten Objekt beziehen möchte. Dazu benutzt man dann folgende Form:

The printed name of Gerd is "Graf[-en] Gerd [-der- Gerd][m] Mutige[-n]."

Jetzt wird das Genus von Gerd (Maskulinum) und der Numerus (Singular) für den Artikel herangezogen. Das ist in diesem Fall gleichbedeutend mit "[der]" (und eigentlich sinnlos). "[-der- Objekt]", "[-die- Objekt]" und "[-das- Objekt]" sind synonym zu verwenden. (Das wird normalerweise keiner benutzen, aber wenn man doch mal auf ein Objekt verweisen will, kann man das damit tun.)

Section 5.10: Manuelles Setzen der Suffixe

In manchen Situationen kann es notwendig sein, dass der Autor die Suffixe für ein Objekt manuell setzen muss, zum Beispiel bei Manipulationen der Ausgabe des Objektnamens vor, während oder nach der "printing the name of something activity" (Writing with Inform, Kap. 17.10).

set <article mode> suffixes from <object> with <case>;

Setzt die Suffixe für ein Objekt in einem angegebenen Fall (case). Der article mode ist entweder bare-mode (für die Ausgabe ohne Artikel), definite-mode (mit bestimmtem Artikel) oder indefinite-mode (mit unbestimmtem Artikel).

Um den aktuellen Modus der Artikel zu bestimmen, gibt es folgenden Ausdruck:

current article mode

Den aktuellen Artikelmodus verändert man mit

set current article mode to <article mode>;

Section 5.11: Beispiele für die Verwendung von Textersetzungen und mögliche Ausgabetexte

In den folgenden Beispielen werden einige der Textersetzungen benutzt. Als Beispielobjekt dienen bunte Murmeln.

The Murmeln are a plural-named thing. The printed name of the Murmeln is "bunt[^] Murmeln". Understand "bunt" as the Murmeln.

Say "Hier [ist noun] nur [ein noun], [*der*] dich nicht so richtig überzeug[t]."
Hier sind nur bunte Murmeln, die dich nicht so richtig überzeugen.

Say "[Der noun], mithilfe [*dessen-derer*] du den Täter überführen könntest, [ist] verschwunden."
Die bunten Murmeln, mithilfe derer du den Täter überführen könntest, sind verschwunden.

Say "Du erinnerst dich an [den noun], [*dessen-deren*] Verbleib ungeklärt ist."
Du erinnerst dich an die bunten Murmeln, deren Verbleib ungeklärt ist.

Say "Wo [ist noun] nur [der noun], mit [*dem*] du den Staatsanwalt beeindrucken wolltest?"
Wo sind nur die bunten Murmeln, mit denen du den Staatsanwalt beeindrucken wolltest?

Say "'Haben Sie [den noun], [*den*] ich eben aufheben wollte, irgendwo gesehen?'"
"Haben Sie die bunten Murmeln, die ich eben aufheben wollte, irgendwo gesehen?"

Say "'Herr Staatsanwalt, [der noun], [*welcher*] vom Tatort entfernt wurd[e], bleib[t] unauffindbar.'"
"Herr Staatsanwalt, die bunten Murmeln, welche vom Tatort entfernt wurden, bleiben unauffindbar."

Say "Es ist sehr ärgerlich, dass [der noun] weg [ist], mit [*welchem*] du deine Kompetenz unter Beweis stellen wolltest."
Es ist sehr ärgerlich, dass die bunten Murmeln weg sind, mit welchen du deine Kompetenz unter Beweis stellen wolltest.

Say "Vielleicht kannst du [den noun], [*welchen*] du dringend brauchst, irgendwo wiederfinden."
Vielleicht kannst du die bunten Murmeln, welche du dringend brauchst, irgendwo wiederfinden.

Section 5.12: Überprüfen der deklinierten angezeigten Objektnamen

Ob man alle Endungen und Artikel für das Objekt korrekt angegeben hat, kann mit dem Debug-Befehl DEKLINIERE <DING> überprüft werden. Dieser Befehl steht nur während der Entwicklung zur Verfügung und wird beim Release entfernt.

Werther is an improper-named man in Wahlheim. The printed name is "jung[^] Werther[-s][m]". Understand "Werther" and "jung Werther" as Werther.

The pistol is a thing carried by Werther. The printed name is "Pistole[f]".

>DEKLINIERE WERTHER
Der junge Werther, des jungen Werthers, dem jungen Werther, den jungen Werther.
Ein junger Werther, eines jungen Werthers, einem jungen Werther, einen jungen Werther.

>DEKLINIER PISTOLE
Die Pistole, der Pistole, der Pistole, die Pistole.
Eine Pistole, einer Pistole, einer Pistole, eine Pistole.

In der ersten Zeile wird der Objektname mit den bestimmten Artikeln dekliniert, in der zweiten mit den unbestimmten Artikeln.

Und wir sehen, dass der junge Werther noch "ein junger Werther" sein kann. Doch Werther soll immer "der junge Werther" heißen. Also:

The article of Werther is definite article.

>DEKLINIERE WERTHER
Der junge Werther, des jungen Werthers, dem jungen Werther, den jungen Werther.
Der junge Werther, des jungen Werthers, dem jungen Werther, den jungen Werther.

Jetzt ist alles richtig.

Section 5.13: Überprüfen der Vokabel- und Genusdefinitionen (Libcheck)

Im Debug-Modus (Not for release), also während der Entwicklung, werden bei Spielbeginn die Vokabel- und Genusdefinitionen von der Libcheck-Funktion automatisch auf Unstimmigkeiten geprüft. Objekte sollten nur einen einzigen Genus haben. Vokabeln sollten keine Umlaute und 'ß' enthalten, Verben möglichst ohne Endungen angegeben werden. Libcheck gibt bei Problemen einen Bericht mit Hinweisen zur Korrektur aus. Wenn alles in Ordnung ist, meldet sich Libcheck bei Spielbeginn überhaupt nicht zu Wort.

Die Überprüfung kann jederzeit mit dem Kommando LIBCHECK wiederholt werden. Möchte man den Test zu Spielbeginn niemals ausführen lassen, muss folgende Use-Option aktiviert werden:

Use skip libcheck.

Während der Laufzeit kann der Test dann aber weiterhin mit dem Kommando LIBCHECK ausgeführt werden.

Section 5.14: Debug-Meldungen

Bei der Entwicklung von längeren Spielen kann es hilfreich sein, Debug-Meldungen in den Quelltext einzufügen, die dem Tester zeigen, an welcher Stelle des Quelltextes sich die Ausführung des Programms gerade befindet. Diese Meldungen werden nur angezeigt, wenn sich das Spiel im Debug-Modus befindet (zu erkennen am Kürzel "D" im Banner des Spiels) und zusätzlich noch die Option "Use debug messages." aktiviert wurde.

Die Debug-Meldungen werden mit "[debug]" eröffnet und mit "[end debug]" abgeschlossen. Die Idee zu diesem Verfahren stammt von Erik Temple.

Beispiel:

Instead of drinking the Milch when it is sour:
     say "[debug]### Hier wird das Trinken der Milch abgefangen! ###[end debug]";
     say "Die Milch ist sauer, die kannst du nicht trinken.".


Chapter 6: Listen in einem bestimmten Kasus ausgeben

Section 6.1: Wie wird der Kasus angegeben?

Für das Schreiben von Listen gibt es in GerX erweiterte Phrasen, die die englischen Original-Phrasen ersetzen sollen. Letztere können weiterhin benutzt werden, sie geben jedoch alle Listen im Nominativ aus.

Listen mit Kasus werden analog zum englischen Inform ausgegeben, nur dass nach dem Objekt bzw. der Beschreibung der aufzulistenden Objekte auch noch der Fall angegeben wird. Dazu dient die Teilphrase "with <case>"; die cases sind nominative, genitive, dative, oder accusative.

Section 6.2: Den Inhalt eines Objekts auflisten

Als Anweisung:

list the contents of <object> with <case>, <phrase options>;

Mögliche Phrasen-Optionen (phrase options), die kombiniert werden können:

with newlines,
indented,
giving inventory information,
as a sentence,
including contents,
including all contents,
tersely,
giving brief inventory information,
using the definite article,
listing marked items only,
prefacing with is/are,
not listing concealed items,
suppressing all articles
and/or with extra indentation

Als Say-Phrase:

"[contents of <object> with <case>]" (unbestimmt)
"[the contents of <object> with <case>]" (bestimmt)

Section 6.3: Unverschachtelte Inhaltslisten anhängen (Non-nested lists)

Bei Verwendung der Use-Option "non-nested lists" wird der Inhalt von Dingen in gesonderten Listen nach der Hauptinhaltsliste ausgeführt, wenn die Inhaltsliste mit der Listenoption "as a sentence" ausgegeben wird. Möchte man als Autor nun selbst unverschachtelte Inhaltslisten verwenden, fügt man nach dem Schreiben der Inhaltsliste eine der folgenden Phrasen hinzu:

write the/-- sublists;

Schreibt die Sub-Listen direkt nach der Inhaltsliste. Dies ist die Standard-Variante.

write the/-- sublists with line break;

Fügt vor die Sub-Listen einen Zeilenumbruch ein.

write the/-- sublists with paragraph break;

Fügt vor die Sub-Listen einen Absatz ein.

write the/-- sublists with space;

Fügt vor die Sub-Listen ein Leerzeichen ein.

write the/-- inventory sublists;

Für die unverschachtelte Ausgabe des Inventars als Satz.

Ist die Option "non-nested lists" nicht aktiv, haben die aufgeführten Phrasen keinen Effekt.

Section 6.4: Einfache Listen

Mit unbestimmtem Artikel:

"[a list of <description> with <case>]"
"[A list of <description> with <case>]" (Großbuchstabe am Listenanfang)

Ohne Artikel:

"[list of <description> with <case>]"

Mit bestimmten Artikel:

"[the list of <description> with <case>]"
"[The list of <description> with <case>]" (Großbuchstabe am Listenanfang)

Listen mit vorangestelltem "ist" /"sind":

"[is-are a list of <description> with <case>]" (unbestimmt)
"[is-are list of <description> with <case>]" (ohne Artikel)
"[is-are the list of <description> with <case>]" (bestimmt)

Die Listen mit vorangestelltem "ist" /"sind" können nur sinnvoll im Nominativ ausgegeben werden. Deshalb wird unabhängig vom angegebenen Fall der Nominativ zum Ausgeben der Liste herangezogen, womit sich die Phrasen genauso verhalten wie die Original-Phrasen ohne Kasus. Der Vollständigkeit halber werden die Phrasen mit Kasus aber trotzdem mit angeboten.

Section 6.5: Listen mit Objektinhalt

"[a list of <description> with <case> including contents]"

Diese Phrase ignoriert eine aktivierte "Use non-nested lists" -Option und gibt die Liste immer verschachtelt aus. Die Inhaltslisten stehen im Nominativ, unabhängig vom Fall der Hauptliste.


Chapter 7: Neue Use-Optionen (Use options)

Section 7.1: Großschreibung von Raumnamen in Kopf- und Statuszeile erzwingen

Use capitalised room description headings.

Unabhängig vom printed name des Raumes wird der Raumname in der Überschrift der Raumbeschreibung und in der Statuszeile immer mit großem Anfangsbuchstaben geschrieben. Bei angezeigten Raumnamen wie z. B. "klein[^] Küche[f]" ist das schöner, als die Überschrift mit einem Kleinbuchstaben beginnen zu lassen.

Section 7.2: Tiefere Einrückung und Aufzählungszeichen beim Inventar

Use inventory indent.

Bewirkt eine tiefere Einrückung der einzelnen Ebenen (außer der ersten) bei der Anzeige des Inventars als Liste. Dies dient, besonders zusammen mit einer der folgenden zwei Optionen, der besseren Übersichtlichkeit des Inventars.

Use inventory hyphen bullet.

Gibt vor jedem Eintrag im Inventar (als Liste) einen Spiegelstrich aus.

Use inventory asterisk bullet.

Gibt vor jedem Eintrag im Inventar (als Liste) ein Sternchen aus.

Section 7.3: Listen nicht verschachtelt ausgeben

Use non-nested lists.

Schreibt Listen nicht verschachtelt, sondern nacheinander. Anstelle der manchmal etwas unübersichtlichen Standard-Form

Du siehst hier einen Holztisch (darauf sind ein Beutel (darin sind drei Bälle, eine Geldbörse (darin ist ein Knopf) und ein Bleistift) und ein Zettel),...

wird die Liste so ausgegeben:

Auf dem Holztisch sind ein Beutel und ein Zettel. In dem Beutel sind drei Bälle, eine Geldbörse und ein Bleistift. In der Geldbörse ist ein Knopf.

Use non-nested lists with separate paragraphs.

Wie "Use non-nested lists.", nur werden die Unter-Listen in separaten Absätzen ausgegeben:

Auf dem Holztisch sind ein Beutel und ein Zettel.

In dem Beutel sind drei Bälle, eine Geldbörse und ein Bleistift.

In der Geldbörse ist ein Knopf.

Use list buffer size of at least <N>.

Klingt wie ein Minimum, meint jedoch einen Maximalwert. Damit kann man die Dimension der Listen-Puffer vergrößern, die für die Ausgabe der nicht verschachtelten Listen benutzt werden. Für <N> muss eine Zahl größer als der Default-Wert von 20 eingetragen werden, damit die Option Wirkung zeigt.

Section 7.4: "ist" /"sind" in Inhaltslisten unterdrücken

Mit dieser Option wird die Ausgabe des Hilfsverbs "ist/sind" in einer Inhaltsliste unterdückt. Anstatt standardmäßig (seit 21.06.2014)

Du siehst hier einen Tisch (darauf sind ein Apfel und eine Birne).

heißt es dann (wie all die Jahre zuvor):

Du siehst hier einen Tisch (darauf einen Apfel und eine Birne).

Section 7.5: Explizite Fehlermeldungen des Parsers

Use explicit error messages.

Die Standard-Fehlermeldung "So etwas kannst du hier nicht sehen." wird durch explizite Meldungen ersetzt:

>NIMM DEN GNARF
Ich kenne das Wort "gnarf" nicht.

>BETRACHTE ZETTEL BEUTEL
Ich verstehe das Wort "beutel" in diesem Zusammenhang nicht.

Section 7.6: Meldung zu vervollständigten Satzmustern unterdrücken

Use silent inference.

Wenn der Parser ein Satzmuster vervollständigt, wird normalerweise eine entsprechende Meldung in Klammern ausgegeben.

>ZÜNDE
(das Seil an)
Das ist gefährlich und wenig sinnvoll.

Stören diese Meldungen den Lesefluss zu sehr, können sie mit dieser Option komplett unterdrückt werden. Allerdings sollten dann die Antworten nicht zu allgemein gehalten sein, da der Spieler nicht mehr erfährt, worauf sich der Parser bezieht:

>ZÜNDE
Das ist gefährlich und wenig sinnvoll.

Diese Antwort kann irreführend sein. Deshalb sollte das angesprochene Objekt in der Antwort erwähnt werden, zum Beispiel:

>ZÜNDE
Das Seil ist zu nass, um es anzuzünden.

Section 7.7: Den Spieler auf Yoda-Sätze hinweisen

Use Yoda command clarification.

Der Parser kann Satzmuster, die mit einer Präposition enden, standardmäßig auch mit verdrehter Syntax verstehen (AUFHEB SCHACHTEL, HEB AUF SCHACHTEL). Wenn der Parser einen solchen Satz akzeptiert, wird mit dieser Option der korrigierte Satz in Klammern angezeigt, was z. B. bei Spachlehr-Spielen sinnvoll sein kann.

>HEB AUF SCHACHTEL
(Hebe die Schachtel auf)
In Ordnung.

Section 7.8: Pronomen nur für sichtbare Objekte setzen

Use in-scope pronoun notice.

Ist diese Option aktiviert, werden Pronomen nur mit Objekten verknüpft, die in Sicht ("in scope") sind. Dies kann nützlich sein, wenn bestimmte Aktionen Objekte benutzen, die sich nicht im Spiel befinden.

Ohne die aktivierte Option könnte Folgendes passieren:

>DENKE AN JILL
Du denkst an Jill, die nicht anwesend ist.

>KÜSSE SIE
Du siehst "sie" (Jill) hier im Moment nicht.

Mit aktivierter "in-scope pronoun notice" -Option sieht es so aus:

>DENKE AN JILL
Du denkst an Jill, die immer noch nicht anwesend ist.

>KÜSSE SIE
Du küsst Juliette, die schon die ganze Zeit neben dir steht.

Section 7.9: Pronomen für angesprochene Räume setzen

Use room-related pronoun notice.

Standardmäßig werden Pronomen für Räume nicht gesetzt. Diese Option setzt die Pronomen auch für Räume, wenn man einen Raum im Kommando angesprochen hat. Nur mit Vorsicht zu genießen, weil die meisten Aktionen nicht für Räume gemacht sind. Zudem platziert unsere "location visibility rule" den aktuellen Raum nur bei bestimmten Aktionen (derzeit location-leaving, looking und smelling) in den sichtbaren Bereich (in scope).

Section 7.10: Manuelles Setzen der Pronomen

Use manual pronouns.

Wird diese Option gewählt, werden die Pronomen nur auf Objekte gesetzt, die der Spieler direkt anspricht. Standardmäßig verweisen die Pronomen zunächst automatisch auf die in der Raumbeschreibung erwähnten Objekte.

Section 7.11: Eigene Debug-Meldungen anzeigen

Use debug messages.

Aktiviert die Anzeige der Debug-Meldungen. Diese werden in Say-Texten mit "[debug] ... <Text> ... [end debug]" gekennzeichnet.

Section 7.12: Deskriptoren wie in der guten alten Zeit

Use traditional descriptors.

Das volle Spektrum der Deskriptoren definieren, die überlesen werden. Diese Extension benutzt von Haus aus die reduzierten deform-Deskriptoren, d.h. es werden nur Artikel und 'dies' und 'jenes' überlesen. Das hat den Vorteil, dass der Autor die Possessivpronomen ('dein', 'mein', 'sein', 'ihr') als Vokabeln für ein Objekt angeben kann.

Section 7.13: "ß" und "ss": Schweizer Schreibweise oder alte Rechtschreibung

Use traditional dialect.

Alte Rechtschreibung: Der Eszett-Platzhalter "[ss]" wird als "ß" ausgegeben.

Use swiss dialect.

Die Eszett-Platzhalter "[ß]" und "[ss]" werden als "ss" ausgegeben.

Section 7.14: Exotisch: "Du" in den Standard-Texten immer groß ausgeben

Sollte der Autor darauf bestehen, dass alle Formen von "du" in den Standard-Meldungen groß geschrieben werden sollen ("Du", wie in Briefen), ist das mit der folgenden Option möglich.

Use capitalized Du.

Die Textersetzungen "[du]", "[dein]", "[deinem]", "[deinen]", "[deiner]", "[dir]" und "[dich]", die der Autor für seine eigenen Say-Texte benutzen kann, sagen dann ebenfalls ein großes "Du".

Mit den Anweisungen

Set Du to lower-case.
Set Du to upper-case.

kann der Autor während des Spiels zwischen großem und kleinen Du wechseln.

Section 7.15: Das Abtrennen der Wortköpfe und -Schwänze aktivieren

Use compound heads.

Benutzt die in der Tabelle "Table of compound heads (continued)" angegebenen Wortköpfe (s. nächstes Kapitel).

Use compound tails.

Benutzt die in der Tabelle Table of compound tails (continued) angegebenen Wortschwänze (s. nächstes Kapitel).

Section 7.16: Zeilenumbruch vor dem Autorennamen im Banner des Spiels einfügen

Use line break before printing the author's name.

Fügt einen Zeilenumbruch vor dem Autorennamen im Banner ein:

AUF DER ÜBERHOLSPUR
Ein schnelles Textabenteuer
von Volker Rachow

anstatt

AUF DER ÜBERHOLSPUR
Ein schnelles Textabenteuer von Volker Rachow

Section 7.17: Die deform-Eigenschaft init benutzen

Use init property.

Ermöglicht die Benutzung der deform-Eigenschaft init zum Initialisieren von Objekten mittels Einbindung von I6-Code.

Section 7.18: Puffer für printed name vergrößern

Diese Option ist als Notlösung für das Setzen des Genus im printed name gedacht, falls Objektnamen von mehr als 160 Zeichen Länge verwendet werden sollen. Die Maximale Länge kann bis auf 250 erhöht werden:

Use maximum printed name length of at least <N>.

<N> darf nicht größer als 250 und sollte nicht kleiner als 160 sein.


Chapter 8: Neue Standard-Aktionen, -Aktivitäten und -Kommandos

Section 8.1: Die Informisierung der Spielereingabe

Der deform/GerX-Parser versteht kein natürliches Deutsch, auch wenn es für den Spieler oft so aussieht. In Wirklichkeit spricht der Parser eine simplifizierte Sprache, die "Informesisch" (engl. "Informese") genannt wird. In Informesisch gibt es keine Umlaute, kein Eszett und keine Endungen. Auch Verschmelzungen von Präposition und bestimmtem Artikel, wie z. B. "im" oder "am", existieren in Informesisch nicht. Im englischen Original-Inform wird ebenfalls Informesisch gesprochen, doch aufgrund der formalen Ähnlichkeit zwischen Englisch und Informesisch fällt dieser Umstand nur sehr selten ins Gewicht.

Damit der Parser die Spielereingabe analysieren kann, muss sie zuvor ins Informesische übersetzt werden. Als Dolmetscher tritt dazu die Inform-6-Routine LanguageToInformese (LTI) in Aktion, die in GerX durch eine Aktivität (activity) mit dem Namen

translating a command into Informese

repräsentiert wird. In LTI werden die Umlaute ä, ö und ü sowie ß durch ihre Umschreibungen ae, oe, ue und ss ersetzt; die Flexionsendungen werden so weit abgeschnitten, bis eine Wortform vorliegt, die im Wörterbuch des Spiels existiert; zudem werden bestimmte Wortformen wie Kontraktionen von Präposition und Artikel aufgelöst, z. B. wird "im" zu "in dem". Bestimmte Zwei-Wort-Kombinationen (Zwillinge) werden ebenfalls ersetzt; standardmäßig sind das zurzeit "nur nicht" und "bis auf", die zu "ausser" werden.

Die informisierte Eingabe kann man sich mit der Trace-Funktion ab Trace-Level 2 ausgeben lassen. Für jedes Token (Satzelement) wird die Zeichenkette der Spielereingabe in Anführungszeichen und die entsprechende Vokabel (? = unbekannte Vokabel) angezeigt, genau so, wie der Parser sie zu sehen bekommt:

>TRACE 2
Parser tracing set to level 2.

>BETRACHTE DAS LOCH IM KLEINEN SCHWEIZER KÄSE
"betracht" betracht / "das" das / "loch" loch / "in" in / "dem" dem / "klein" klein / "schweizer"? / "kaese" kaese
...

Der gesamte Vorgang der Umwandlung wird auch "Informisierung" genannt. Die Informisierung ist der Grund dafür, warum alle Vokabeln in Understand-Definitionen auf Informesisch angegeben werden müssen (siehe Kap. 3.1 Was sind Vokabeln?).

Section 8.2: Sicheres Manipulieren der Spielereingabe nach der Informisierung

Inform lässt Manipulationen der Spielereingabe mittels "after reading a command" zu. Diese Methode hat den großen Nachteil, dass direkt nach der Activity "reading a command" die Spielereingabe noch nicht "informisiert" wurde und deshalb immer alle möglichen Formen mit Endungen und Umlauten berücksichtigt werden müssen. Das ist extrem fehleranfällig und der Libcheck gibt obendrein grundlos Warnungen aus.

Sicherer ist es hingegen, die Spielereingabe nach der GerX-Activity "translating a command into Informese" abzufragen und zu verändern.

After translating a command into Informese:

Beispiel:

After translating a command into Informese:
     if the player's command includes "gruenlich", replace the matched text with "gruen".

Wie üblich bei der Definition von Vokabeln, gilt es auch hier, keine Umlaute und keine Endungen zu verwenden.

Das Standardverhalten der Activity "translating a command into Informese" LTI kann zusätzlich, wie bei jeder anderen Activity auch, mittels Before-Regel ergänzt und/oder mit einer For-Regel komplett ausgehebelt werden. (Das ist wohl mehr etwas was für experimentierfreudige Parser-Bastler und für normale Anwendungen nicht zu empfehlen.)

Section 8.3: Den aktuellen Raum verlassen (location-leaving)

Viele Spieler versuchen intuitiv, den aktuellen Standort (location) mit >VERLASSE RAUM oder ähnlichen Anweisungen zu verlassen, was naheliegend ist. Trotzdem ist dies kein Standardverhalten des Inform-Weltmodells. In GerX ist das Verlassen eines Raums auf diese Weise möglich. Die neue Aktion, die dieses Verhalten bewirkt, heißt "location-leaving".

>VERLASS
>VERLASS (DEN/DIE/DIESEN) <RAUM>
>GEH WEG/FORT
>GEH WEG/FORT VON HIER/DA/DORT
>GEH WEG/FORT VON <RAUM>

Wenn der aktuelle Raum nur einen einzigen offensichtlichen Ausgang hat, wird ein Gehen in die entsprechende Richtung versucht. Gibt es mehrere Richtungen, in die man gehen kann, fragt das Spiel nach und bittet um genauere Richtungsangaben.

Für jeden Raum sind die Synonyme "Ort [m]", "Platz [m]", "Raum [m]", "Standort [m]" und "Umgebung [f]" vordefiniert; sie werden durch das Understand-Token "[basic-room-synonyms]" repräsentiert. Das Basisvokabular für Räume kann folgendermaßen erweitert werden:

Understand "Umwelt [f]" as "[basic-room-synonyms]".

Bei der Definition von allgemeinem Raumvokabular empfiehlt es sich, das Genus des Synonyms als Changing-Gender-Attribut ("[f]") mit anzugeben, weil Räume unterschiedliche Genera bekommen können.

Der aktuelle Raum kann auch mit weiteren Synonymen angesprochen werden, wenn zusätzliches Vokabular für den einzelnen Raum definiert wird:

The Lab is a neuter room. The printed name is "Labor". Understand "Labor" and "Laboratorium" as the Lab.

Nun kann man das Labor auch per

>VERLASS LABOR/LABORATORIUM

verlassen.

Section 8.4: Den aktuellen Raum betrachten

Die Raumbeschreibung des aktuellen Standortes (location) kann man sich normalerweise mit den Befehlen SCHAU, SCHAU DICH UM, SCHAU HERUM/UMHER, LAGE und der Abkürzung L erneut anzeigen lassen. Intuitiv versuchen Spieler aber auch, den aktuellen Raum mit Kommandos wie BETRACHTE RAUM zu erkunden. In GerX ist das möglich.

Der Raum kann wie jedes andere sichtbare Objekt untersucht werden, wobei die Vokabeln "Ort [m]", "Platz [m]", "Raum [m]", "Standort [m]" und "Umgebung [f]" als Understand-Token "[basic-room-synonyms]" für jeden Raum vordefiniert sind. Zusätzliches Vokabular kann per Understand-Definitionen angelegt werden, um den Raum mit weiteren Synonymen anzusprechen.

Das Untersuchen eines Raumes wird in der "convert examining a room into looking rule" von der Aktion "examining" zur Aktion "looking" umgeleitet.

Section 8.5: Die Sichtbarkeit des aktuellen Raums

Der aktuelle Raum (location) ist standardmäßig nicht sichtbar, das heißt, er kann in der Spielereingabe nicht als Objekt genannt werden. Für die Aktionen "location-leaving", "examining" und "smelling" wird der Raum jedoch in den sichtbaren Bereich (in scope) platziert. Die Regel, die dafür zuständig ist, heißt "location visibility rule" und greift "after deciding the scope of the player".

Soll der aktuelle Raum niemals ansprechbar sein, kann die Regel komplett entfernt werden:

The location visibility rule is not listed in any rulebook.

Wenn der Standort im Zusammenhang mit weiteren Aktionen ansprechbar sein soll, kann man das mit folgender Phrase erreichen:

<ACTION> is allowing wide scope.

Mit "wide scope" ist gemeint, dass nicht nur der Inhalt des aktuellen Raumes sichtbar ist, sondern auch der Raum (als Objekt) selbst angesprochen werden kann.

Pronomen werden für einen vom Spieler genannten Raum standardmäßig nicht gesetzt, da der aktuelle Standort für die meisten Aktionen nicht "in scope" ist. Sollen dennoch Räume beim Setzen der Pronomen berücksichtigt werden, muss die Option

Use room-related pronoun notice.

aktiviert werden.

Section 8.6: Inventar als Satz anzeigen

Im englischen Original-Inform wird das Inventar (die Dinge, die die Spielerfigur bei sich trägt) standardmäßig nur als Liste angezeigt. In GerX wird, genau wie in deform, eine Möglichkeit zum Umschalten zwischen der Anzeige als Liste und der Ausgabe als vollständiger Satz angeboten. Die zwei neuen Aktionen, die das Umschalten steuern, heißen "wide taking inventory" und "tall taking inventory".

Anstelle von I können in den folgenden Beispielen natürlich auch die synonymen Kommandos INVENTAR, INV, BESITZ oder EIGENTUM verwendet werden.

>I QUER/SATZ/BREIT
>I ALS SATZ

Nach Eingabe einer dieser Anweisungen wird das Inventar als Satz angezeigt und der Inventar-Stil (dargestellt durch die Variable inventory style) auf "wide inventory" gesetzt. Beim nächsten einfachen Aufruf des Inventars z. B. per >I wird der aktuelle Stil zur Ausgabe benutzt.

>I
Du hast ein Glas (darin ist Wasser) und einen Apfel bei dir.

Mit aktivierter Use-Option "non-nested lists" sieht es so aus:

>I
Du hast ein Glas und einen Apfel bei dir. In dem Glas ist Wasser.

Die Anweisungen

>I HOCH/LISTE/LANG
>I ALS LISTE

zeigen das Inventar als Liste an (der Inform-Standard) und setzen den Inventar-Stil (inventory style) auf "tall inventory".

Es ist jederzeit möglich, die Variable inventory style auf einen der Werte "wide inventory" (Satz) oder "tall inventory" (Liste) zu setzen. Möchte man z. B. das Spiel standardmäßig mit der Einstellung "Inventar als Satz anzeigen" beginnen, kann die Variable gleich bei Spielbeginn geändert werden:

When play begins: now inventory style is wide inventory.


Chapter 9: Spezielles Parsen

Section 9.1: Wortköpfe und -schwänze (Compound Heads und Compound Tails) von langen Wörtern abtrennen

Inform verarbeitet im Z-Code-Format nur die ersten neun Zeichen einer Vokabel. Auch im Glulx-Format ist das der Standard, die Länge der Lexikoneinträge lässt sich aber per

Use DICT_WORD_SIZE of <N>.

ändern. Für Z-Code gibt es diese Möglichkeit leider nicht.

Bei der Verwendung von Vokabeln, die länger als 9 Zeichen sind, kann es also vorkommen, dass sich Objekte nicht unterscheiden lassen.

Understand "Streichholz" as the Streichholz.
Understand "Streichhoelzer" as the Packung Streichhölzer.

In dem Beispiel würden die Vokabeln für die zwei Objekte intern jeweils gleich lauten, nämlich 'streichho'. Der Parser kann das Streichholz deshalb nicht von den Streichhölzern unterscheiden. Um dieses etwas altertümliche Limit zu umgehen, kann man in GerX, wie in deform auch, Wortköpfe oder -schwänze von langen Wörtern abschneiden lassen, sodass der Parser mit zwei kürzeren Vokabeln arbeiten kann.

Der Autor definiert folgende Tabelle

Table of compound heads (continued)
Head     n
"streich"     0

und aktiviert ihre Berücksichtigung beim Parsen mit der Use-Option "Use compound heads.". Jetzt lassen sich Streichholz und Streichhölzer folgendermaßen definieren:

The pack of matches is a container. The printed name is "Packung[f] Streichhölzer". Understand "streich-" and "hoelzer" as the pack.
The match is a thing. The printed name is "Streichholz[-es][n]". Understand "streich-" and "holz" as the match.

Wichtig ist der Trennstrich am Ende der Wortkopf-Vokabel.

Analog zum Abschneiden der Köpfe kann man die Wörter auch vom Ende her abschneiden lassen.

Table of compound tails (continued)
Tail     n
"lampe"     0

Jetzt kann man für jede Lampe auch noch "messing-", "taschen-" oder sonst irgendwas angeben. Auch hier muss der erste Wortbestandteil mit einem Trennstrich abgeschlossen werden.

Wichtig: Beide Tabellen benötigen pro Zeile zwei Einträge. Die Zahl n kann immer Null sein, da sie zurzeit noch keine Verwendung findet.

Section 9.2: Zwillinge und Synonyme (Twins und Synonyms)

Die deform-Arrays Twins und Synonyms lassen sich bislang nur als I6-Code einbinden:

Include (- Array Twins table 'mc' 'kenzie' "mckenzie" ; Array Synonyms table 'gegens' "gegen das" 'vorsichtig' ""; after "Definitions.i6t".

Wichtig ist in den I6-Arrays, dass die/das Ausgangswort/e in einfachen Hochkommas angegeben wird, das Zielwort jedoch in Anführungsstrichen. Umlaute, Eszetts und Endungen sind, wie immer bei Vokabeln, tabu.

Es gibt aber eine I7-Alternative, die erst nach der Informisierung greift:

After translating a command into Informese:
     if the player's command includes "mc kenzie", replace the matched text with "mckenzie".

After translating a command into Informese:
     if the player's command includes "gegens":
         replace the matched text with "gegen das";
     if the player's command includes "vorsichtig":
         cut the matched text.

Auch hier gelten die Grundregeln zur Definition von Vokabeln: Keine Umlaute, keine Endungen. Zur Activity "translating a command into Informese" siehe auch Abschnitt Section 8.1: Die Informisierung der Spielereingabe.

Section 9.3: Englische Richtungsabkürzungen verbieten

Die englischen Richtungsabkürzungen E (East), NE (Northeast), SE (Southeast), D (Down) und U (Up) stehen dem Spieler standardmäßig zur Verfügung. Um die Abkürzungen aus dem Vokabular zu entfernen, kann der Autor Folgendes schreiben:

The up object translates into I6 as "up_object".

EnglishShortDirections is a kind of value. The EnglishShortDirections are d, ne, se, and e.

After reading a command (this is the block English abbreviated directions rule):
     if the player's command includes "[EnglishShortDirections]":
         if the explicit error messages option is active:
             say "Ich kenne das Wort '[matched text]' nicht.";
         otherwise:
             issue miscellaneous library message number 27;
         reject the player's command.

Das up object muss auf I6-Ebene von "u_obj" in irgendetwas Anderes umbenannt werden (hier: up_object), damit das I6-Implicit-Up-Token "u" nicht mehr als "up" versteht. Je nachdem, ob explizite oder allgemeine Parser-Fehlermeldungen verwendet werden, wird eine entsprechende Nachricht ausgegeben und die Spielereingabe abgewiesen.

Dieses Beispiel unterbindet zwar die Benutzung der englischen Abkürzungen, verhindert aber auch, dass man die Abkürzungen für eigene Zwecke definieren kann, da sie schon vor dem eigentlichen Parsen abgefangen werden.


Chapter 10: Spezielle Grammatik-Token (Understand tokens)

Section 10.1: Dich und dir

"[dich]": "dich / mich / uns / euch"

Understand "leg [dich] hin" as sleeping.

Dieses Token wird als "dich", "mich", "uns" oder "euch" verstanden. Das spart einiges an Arbeit, weil man nicht alle Möglichkeiten einzeln angeben muss.

"[dir]": "dir / mir / uns / euch"

Understand "nimm [dir] [things]" as taking.

Dies wird als optionales "dir" verstanden, das heißt, auf das "nimm" kann "dir", "mir", "uns" oder "euch" folgen, es muss aber nicht sein.

>NIMM ZWEI BROTE

und

>NIMM DIR ZWEI BROTE

werden gleichermaßen interpretiert.

Section 10.2: Ein Satzelement als Dativ kennzeichnen (Dativ-Token)

"[dativ]" / "[dative]"

Kennzeichnet ein nachfolgendes Token als Dativ.

Wo kommt das zum Einsatz? Hier mal eine Definition ohne Dativ-Token für ein Verb, das den Dativ verlangt:

Understand "stocher in [something] herum" as poking.

Wenn der Spieler nun bei der Eingabe das Objekt unterschlägt, fragt das Spiel nach:

>STOCHER
Worein willst du stochern?

Diese Frage ist nicht ganz korrekt, weil das Spiel nicht weiß, dass das Verb den Dativ verlangt. Also teilen wir es mit:

Understand "stocher in [dativ] [something] herum" as poking.

Jetzt fragt das Spiel:

>STOCHER
Worin willst du stochern?

>PUDDING
Du stocherst in dem Pudding herum.

Bei der Verwendung von verketteten (mit Schrägstrich gruppierten) Präpositionen wird die erste Präposition der Kette zur Ausgabe der Parser-Frage herangezogen:

Understand "stocher in/unter [dativ] [something] herum" as poking.

>STOCHER
Worin willst du stochern?

Understand "stocher unter/in [dativ] [something] herum" as poking.

>STOCHER
Worunter willst du stochern?

Section 10.3: Ein Satzelement als Substantiv kennzeichnen (Substantiv-Token)

"[substantiv]" / "[substantive]"

Kennzeichnet ein nachfolgendes Wort im Satzmuster als Substantiv. So kann der Parser bei Rückfragen den Infinitv besser rekonstruieren.

Understand "nimm [substantiv] platz auf [dativ] [something]" as entering.

Jetzt wird der Infinitv korrekt als "Platz nehmen" gebildet. Ohne Substantiv-Token würde der Parser "platznehmen" schreiben.

Im Spiel:

>NIMM PLATZ
Worauf willst du Platz nehmen?

Section 10.4: Optionale Präpositionen

Wenn in einem Satz Präpositionen verwendet werden können, aber nicht unbedingt vorhanden sein müssen, kann man das folgende Token verwenden. Für die Präposition werden auch die jeweiligen Alternativen verstanden.

"[hinein]": "hinein / rein / darein / herein"

Understand "geh in [something] [hinein]" as entering.

Die Anweisungen

>GEH INS BETT

und

>GEH INS BETT HINEIN

sind gleichwertig.

Weitere optionale Präpositionen:

"[dagegen]": "dagegen" / "gegen"
"[daran]": "daran" / "dran" / "ran" / "an"
"[darauf]": "darauf" / "drauf" / "herauf" / "rauf" / "hinauf"
"[darüber] oder [darueber]": "darüber" / "hinüber" / "drüber" / "herüber"
"[darum]": "darum" / "drum" / "herum" / "rum"
"[darunter]": "darunter" / "drunter"
"[heraus]": "heraus" / "hinaus" / "raus" / "daraus"
"[herunter]": "herunter" / "hinunter" / "runter"
"[hindurch]": "hindurch" / "durch"
"[hinüber] oder [hinueber]": "hinüber" / "darüber" / "drüber" / "herüber"
"[nach]": "nach"
"[weg]": "weg" / "hinweg" / "fort" / "ab"

Section 10.5: Erzwungene Präpositionen

"[force nach]" / "[force in]"

Prüft den gesamten Satz und lässt das Satzmuster nur zu, wenn es das Wort "nach" bzw. "in" enthält.

"[force nach in]"

Hier müssen "nach" und "in" im Satz vorhanden sein.

Section 10.6: Pronominaladverbien

Diese Token tragen "noun" als festen Bestandteil ihres Namens. Das ist nicht zu verwechseln mit der Variablen "noun", mit der man sich in Textausdrücken auf ein Objekt beziehen kann.

"[noun dahinter]"

Understand "schau [noun dahinter] [nach]" as looking under.

Dieses Token wird als Adverb verstanden, das sich auf das zuletzt angesprochene Objekt, das keine Person ist, bezieht. Dadurch wird folgende Art von Dialogen ermöglicht:

>BETRACHTE BILDERRAHMEN
Der Rahmen steht etwas von der Wand ab.

Jetzt ist der Bilderrahmen das zuletzt angesprochene Objekt und das Pronomen "dahinter" bezieht sich auf ihn.

>SCHAU DAHINTER
Hinter dem Bilderrahmen findest du einen Briefumschlag.

Weitere Pronomen:

"[noun darunter]"
"[noun dagegen]"
"[noun darüber] / [noun darueber]"
"[noun daran]"
"[noun darum]"
"[noun darauf]"
"[noun herunter]"
"[noun hindurch]"
"[noun hinein]"

"[held hinein]"
"[held darauf]"

Die "[held ...]" -Token verhalten sich wie die noun-Token, nur dass sie verlangen, dass ein Ding beim Spieler ist und ein implizites Taking versuchen.

Pronomen erzwingen:

"[force pronoun]"

Dieses Token kann in Verbindung mit Präpositionen verwendet werden; so ist z. B.

Understand "spiel [force pronoun] darauf" as playing.

gleichbedeutend mit

Understand "spiel [noun darauf]" as playing.

Neue, nicht vordefinierte, Pronominaladverbien können damit realisiert werden, wie z. B. "davor":

Understand "knie [force pronoun] davor nieder" as genuflecting in front of it.

Das Wort im Satzmuster, das auf "[force pronoun]" folgt ("davor"), wird als Pronomen für das zuletzt angesprochene Substantiv, das keine Person ist, interpretiert. Nun ist folgende Art von Dialog möglich:

>BETRACHTE ALTAR
Ein alter Altar.

>KNIE DAVOR NIEDER
Du kniest dich vor den Altar.

Um zu prüfen, ob der Bezug zu einem Substantiv durch ein Pronominaladverb hergestellt wurde, benutzt man folgende Phrase:

... whether/if the/a noun has been supplied by a pronominal adverb...

Um den Bezug zu löschen, schreibt man

reset the pronominal adverb;

Diese Phrasen werden beispielweise in der GerX-Rule "adjust the pronominal adverb reference when removing" benutzt.


Chapter 11: Die I7-Standard-Erweiterungen "Basic Screen Effects", "Locksmith", "Menus" und "Rideable Vehicles"

Für die in I7 integrierten Erweiterungen Rideable Vehicles von Graham Nelson sowie Locksmith, Menus und Basic Screen Effects von Emily Short bringt GerX schon deutsche Übersetzungen mit. Die Installation zusätzlicher Erweiterungen ist nicht notwendig. Die Original-Extensions müssen vor der German-Extension eingebunden werden, damit die englischen Standardmeldungen und Verbendefinitionen durch deutsche Entsprechungen ersetzt werden.

Das Beispiel C "John Malkovichs Toilette" demonstriert die Benutzung der Locksmith-Erweiterung.


Chapter 12: Die I7-Standard-Erweiterung "Basic Help Menu"

Um eine deutsche Übersetzung der in I7 enthaltenen Erweiterung "Basic Help Menu" zu nutzen, reicht es die Original-Erweiterung Basic Help Menu von Emily Short einzubinden. Weitere Extensions sind nicht nötig.

Um die Liste der Optionen zu erweitern, muss die Tabelle German Basic Help Options fortgeführt werden. Um das Einstellungsmenü zu benutzen, muss die Tabelle German Setting Options in der Spalte subtable der German Basic Help Options eingetragen werden.

Beispiel zur Nutzung:

Include Basic Help Menu by Emily Short.

Table of German Basic Help Options (continued)
title     subtable     description
"Kontakt zum Autor aufnehmen"     --     "Bei Problemen beim Spielen von [story title], schreibe mir bitte unter ..."
"Tipps zum Spiel"     Table of Hints     --
"Einstellungen"     Table of German Setting Options     --

Table of Hints
title     subtable     description     toggle
"Was soll ich mit dem Müllcontainer tun?"     Table of Dumpster Hints     ""     hint toggle rule

Table of Dumpster Hints
hint     used
"Du kannst in den Container auch hineinsteigen."     a number
"Dafür brauchst du doch jetzt wohl keine Hilfe mehr, oder?"

Die Regel zur Steuerung des Menüs heißt "German help request rule". Sie kann über diesen Namen, wie alle anderen Regeln auch, nachträglich vom Autor manipuliert werden.

Die englischen Original-Menü-Tables stehen weiterhin unter ihren ursprünglichen Namen zur Verfügung, falls jemand das Ganze zweisprachig nutzen möchte.


Chapter 13: GerX-Entwicklung

Section 13.1: Updates

Die aktuellste Version der GerX-Erweiterung steht unter

"http://ifiction.pageturner.de/inform7/"

zum Download bereit.

Fehlermeldungen und Verbesserungsvorschläge sind immer herzlich willkommen!

"GerX@pageturner.de"

"http://forum.ifzentrale.de"

Maintainer der GerX-Erweiterung sind Michael Baltes und Christian Blümke.

Section 13.2: Versionshistorie

Eine Übersicht über ältere Versionen und Änderungsprotokolle gibt es im GerX-Archiv:

"http://ifiction.pageturner.de/inform7/archiv/index.html"


A
 Example  Die Jadestatue
Martin Oehms Jade-Beispiel für Inform 7. Die ausführlich kommentierte Version gibt es unter "http://www.martin-oehm.de/jade/i7-code.html". Dieses Beispiel benutzt die "Denglisch-Methode" zum Definieren von Objekten, die in Kapitel 4.2 beschrieben ist. Außerdem werden die traditionellen Attribute male, female und neuter zur Angabe des Genus benutzt.


B
 Example  Der Mantel der Finsternis
Eine Übersetzung des Demo-Spiels "Cloak of Darkness" von Roger Firth, basierend auf der Inform-7-Version von Graham Nelson und Emily Short. Dieses Beispiel benutzt die "einsprachige Methode" zum Definieren von Objekten, die in Kapitel 4.3 beschrieben ist. Das grammatische Geschlecht des Objekts wird im printed name angegeben.


C
 Example  John Malkovichs Toilette
Eine Übersetzung des Beispiels "John Malkovich's Toilet" aus der in I7 enthaltenen Locksmith-Erweiterung von Emily Short. Es wird die "einsprachige Methode" zum Definieren von Objekten benutzt, die in Kapitel 4.3 beschrieben ist.