Kapitel 8: Kurzer Ausblick für Neugierige: Wie es weiter geht

Als nächste Schritte sollst du:

  • die Räume etwas schöner machen, indem du Dekorationen in die Räume setzt.
  • dem Programm helfen, die vom Spieler eingegebenen Wörter besser zu verstehen.
  • spezielle Objektarten und Eigenschaften von Objekten, die du verändern kannst.
  • dem Programm ganz neue Sachen beibringen.

Vom letzten Punkt sollst du jetzt schon eine kleine Kostprobe bekommen.

Was das Standardverhalten ist

Wenn du ein essbares Objekt essen willst, passiert normalerweise folgendes: Es kommt eine Nachricht, die sagt, dass es gut geschmeckt hat, und das Objekt ist danach weg.

Wenn du ein tragbares Objekt nehmen willst, passiert normalerweise folgendes: Es kommt eine Nachricht, die sagt, dass du das Objekt jetzt hast, und du hast das Objekt danach auch wirklich in deinem Besitz.

Wenn du ein nicht tragbares Objekt nehmen willst, passiert normalerweise folgendes: Es kommt eine Nachricht, die sagt, dass du das Objekt nicht tragen kannst.

Wie man das Standardverhalten ändert

Dieses Standardverhalten kannst du verändern, indem du eine Regel aufstellst:

Instead of eating the tasty cake:
	Say "You want to keep that for later."

Diese Regel gilt nur für den tasty cake. Wenn du den zu essen versuchst, passiert Folgendes: Du nimmst den Kuchen (wenn er erreichbar ist du ihn nicht schon hast), die Nachricht “You want to keep that for later.” wird ausgegeben, und der Kuchen wird nicht aus dem Spiel genommen.

Wenn du nicht möchtest, dass Rotkäppchen ohne seine Mütze aus dem Haus geht, kannst du folgende Regel aufstellen:

Instead of going [somewhere] from the Family's House:
	Say "I think you shouldn't go out without your cap."

Jedesmal, wenn Rotkäppchen das Haus verlassen will, wird statt der üblichen Reaktion einfach der Satz ausgedruckt, dass das ohne Mütze nicht geht. Allerdings gilt das bisher in jedem Fall, egal, ob es die Mütze hat oder nicht. Deswegen schreiben wir besser.

Instead of going [somewhere] from the Family's House when the player is not carrying the red cap:
	Say "I think you shouldn't go out without your cap."

Jetzt gilt die Regel nur, wenn die Spielfigur die Mütze nicht bei sich hat. Man könnte das auch anders schreiben:

Instead of going [somewhere] from the Family's House:
	If the player is not carrying the red cap:
		Say "I think you shouldn't go out without your cap.";
	Otherwise:
		Continue the action.

Das sieht umständlicher aus, ist aber bei ausführlicheren Regeln nötig. In der ersten Zeile wird überprüft, ob Rotkäppchen aus dem Haus gehen will. Dann wird überprüft, ob sie die Mütze nicht dabei hat (in diesem Fall erfolgt der Satz, dass das nicht geht), wenn nicht, dann gilt der Satz Continue the action., was so viel heißt wie: ganz normal weitermachen, also das Haus verlassen.

Fehlerquellen

  • Es darf pro Regel nur einen einzigen Punkt (außerhalb von Anführungszeichen) geben, und der steht ganz am Schluss – das ist das Zeichen, dass die Regel beendet ist.
  • Am Ende jeder Zeile steht ein Doppelpunkt, wenn die Zeile mit Instead of oder If oder Otherwise oder anderen solchen Steuerungswörtern beginnt. Die folgenden Zeilen sind dafür mit dem Tabulator eingerückt.
  • Am Ende jeder Zeile steht ein Semikolon, wenn die Zeile mit Say oder anderen Befehlswörtern beginnt. Die einzige Ausnahme ist die letzte Zeile, in der der Punkt steht.

Warum das so sein muss, erfährst du später.

Kapitel 7: Dinge ansehnlich machen

Ein Ding wird erst dann interessant, wenn man es etwas genauer beschreibt. Deshalb sieht die vollständige Einführung eines Dings am besten so aus:

The red cap is in the Family’s house. The description is “The cap is made of velvet and very soft and very red. It is your favourite cap.”

Verschönere deine Dinge mit Beschreibungen. Schau sie dir an. (Befehl: examine cap oder einfach nur x cap.)

Fehlerquellen

  • Vergiss die Wörter The description is nicht.
  • Hinter is darf kein Doppelpunkt stehen.

Aufgabe

  • Versieh all deine Dinge mit Beschreibungen.

Lösungsvorschlag

The red cap is in the Family's House. The description is "The cap is made of velvet and very soft and very red. It is your favourite cap."

The tasty cake is in the Family's House. The description is "The cake looks and smells extraordinarily good. Your mother made it."

The bottle of wine is in the Family's House. The description is "It's a bottle of wine."

Kapitel 6: Dinge anlegen

Es gibt in Inform zwei wichtige Arten von Objekten: Räume (rooms) und Dinge (things). Räume kann man unter keinen Umständen mit sich nehmen und anderswo wieder hinstellen, bei vielen Dingen geht das aber sehr wohl. Arten von Dingen heißen auch Klassen. Man stellt sie in solchen Diagrammen dar:

Jeder Raum und jedes Ding hat einen Bezeichner. Bezeichner dürfen nie doppelt vorkommen, das heißt, jedes Ding (und jeder Raum natürlich auch) muss einen ganz eigenen Namen bekommen. Am besten besteht ein Bezeichner deshalb immer aus einem Adjektiv und einem Substantiv. Bei unserem Beispiel bietet sich als ein Ding die rote Mütze an:

Du kannst ein Ding auf verschiedene Weise anlegen:

The red cap is a thing. It is in the Family’s House.

oder:

The red cap is in the Family’s House.

oder, wenn der letztgenannte Raum ohnehin der ist, an dem das Ding sein soll:

The red cap is here.

Eigentlich müsstest du gar keinen Raum angeben, an dem das Ding sein soll, aber wenn du das nicht tust, wird es im Nirgendwo und für Spieler unsichtbar und unerreichbar sein.

Fehlerquellen

  • Vergiss nicht, dass die Bezeichner für die Dinge am besten aus einem Adjektiv und einem Substantiv bestehen sollten.

Aufgabe 3

  • Lege ein paar Dinge in den verschiedenen Räumen an. Nimm sie, trage sie in einen anderen Raum, und lass sie dort fallen (take/drop). Schau dir an, was du mit dir trägst. (Befehl: inventory oder einfach nur i.)

Lösungsvorschlag

The red cap is a thing in the Family's House.

The bottle of wine and the tasty cake are in the Family's House.

Kapitel 5: Räume anlegen

Jeden Raum deiner Karte musst du im Computer anlegen. Dabei soll jeder Raum mindestens 1. einen Bezeichner, 2. eine Beschreibung und 3. Ausgänge haben. Von weiteren Eigenschaften erfährst du später.

Der erste Ort, den du im Programm anlegst, wird automatisch der Startort für dein Spiel.

Beim Anlegen eines Raumes steht am Anfang ein Satz, der klar macht, zu welcher Klasse das Objekt gehört:

The Family’s House is a room.

Dabei ist The Family's House der programminterne Name des Raums, den du frei wählen kannst. Dass man ihn groß schreibt, ist reine Konvention, weil das beim Spielen dann besser aussieht.

Danach folgt eine kurze Beschreibung in Anführungszeichen. Diese Beschreibung sollte erstens stimmungsvoll sein und zweitens dem Spieler mitteilen, welche Ausgänge es aus dem Raum gibt – sonst müsste der unnötig herumraten. Die Beschreibung ist nur für den Spieler da, für den Computer ist sie einfach ein Batzen Text.

The Family’s House is a room. “A nice, comfortable house. It’s very small, though. A doorway leads to the east.”

Und als letzten Punkt teilst du dem Programm mit, welche anderen Räume im Osten, Westen, Süden, Norden davon liegen. Erlaubt sind: north, east, west, south, southeast, northwest, northeast, southwest, up, down – beschränke dich am Anfang erst einmal auf die ersten vier. (Diese verbundenen Räume werden automatisch angelegt, wenn du das noch nicht getan hast. Aber sie brauchen so oder so noch eine Beschreibung.)

The Family’s House is a room. “A nice, comfortable house. It’s very small, though. A doorway leads to the east.” East of the Family’s House is the Path.

Das Programm geht davon aus, dass – wenn man ihm nichts anderes sagt – alle Verbindungen in beide Richtungen gehen. Und das ist für den Anfang auch in Ordnung.

Fehlerquellen

  • Die Bezeichungen der Himmelsrichtungen werden alle mit Kleinbuchstaben geschrieben, wenn sie nicht gerade am Satzanfang stehen.
  • Jeder Raum braucht einen eigenen Namen. Vermeide für den Anfang auch Namen, die mit dem gleichen Substantiv beginnen, das verwirrt den Computer manchmal.
  • Du kannst entweder schreiben The Path is east of the Family's House. oder East of the Family's House is the Path. Wenn es mehrere Ausgänge gibt, schreibe am einfachsten für jede Richtung einen eigenen Satz.
  • Wenn in dem Raum später zum Beispiel mal ein Apfel sein soll, solltest du ihn in der Raumbeschreibung trotzdem nicht nennen. Die Raumbeschreibung ist nämlich nur eine Beschreibung, da kannst du so viel von Äpfel schreiben, wie du willst – es sind trotzdem keine da. Also: Wenn es später bewegliche Gegenstände in dem Raum geben soll, nenne sie in der Raumbeschreibung nicht. (Erlaubt sind aber: Unbewegliche Gegenstände, die quasi fest zum Raum gehören. Dazu später mehr.)
  • Aus dem gleichen Grund darfst du in der Beschreibung nicht behaupten "Nobody is here" oder "It is empty", da sich beides ja im Lauf des Spiels ändern kann.

Aufgabe

  • Lege für jeden Ort auf deiner Karte einen eigenen Raum mit guter Beschreibung und richtig gesetzten Ausgängen an. Teste das. Bewege dich zwischen den Räumen hin und her. (Befehle dazu: go east, east, oder einfach nur e.)

Lösungsvorschlag

"Little Red Riding Hood" by "Herr Rau"

Chapter 1 - The Beginning

The Family's House is a room. "A nice, comfortable house. It's very small, though. A doorway leads to the east." East of the Family's House is the Path.

The Path is a room. "This path leads from a house in the west to a forest in the east. The sun shines brightly, but dark shadows come from the forest." East of the Path is the Forest.

The Forest is a room. "A forest, dark in some places and lighter in others. Birds sing in the background, and butterflies fly around. You can go out of the forest if you go east, and a path goes south." South of the Forest is a Meadow. The Edge of the Forest is east of the Forest.

The Meadow is a room. "A bright and shiny meadow in a clearing in the middle of the Forest. There are many beautiful flowers here. A path goes north."

The Edge of the Forest is a room. "A forest is in the east, but here, only some bushes grow. The path out of the forest continues to the north." North of the Edge of the Forest are the Three Oaks.

The Three Oaks are a room. "Three tall, old oaks grow out of the ground. A path goes south, and there is a cottage in the east." East of the Three Oaks is the Cottage.

The Cottage is a room. "A one-room cottage, slightly old-fashioned. A doorway leads out to the west."

Kapitel 4: Das Programm starten

Jetzt geht es ans Programmieren dieser Welt. Öffne die Programmierumgebung zu Inform 7. Lege ein neues Projekt an, gib deinen Namen als Autor und einen geeigneten Titel für deine Geschichte an.

Den Programmkopf schreiben

Wahrscheinlich stehen die ersten Zeilen danach schon da. Die sollten so aussehen:

"Little Red Riding Hood" by Herr Rau.

Chapter 1 – The Beginning

Den Namen des Spiels kannst du natürlich frei wählen (er sollte aber keine Anführungszeichen enthalten), ebenso den Namen des Autors (das sollte dein Name sein.) Die Unterteilung in Kapitel ist nicht nötig, aber für später sinnvoll. Außerdem sieht so eine Kapitelüberschrift gut aus. Statt The Beginning kannst du natürlich auch eine andere Überschrift wählen.

Fehlerquellen

  • Nach diesen beiden Zeilen dürfen keine Punkte stehen. Punkte beenden immer einen Befehl, und diese Überschriften sind keine Befehle.

Kapitel 3: Eine Geschichte und eine Karte

Eine Geschichte auswählen

Such dir eine englischsprachige Kurzgeschichte oder eine ähnliche Erzählung, die du in ein Spiel umwandeln möchtest. Deine Lehrer helfen dir dabei. Die Geschichten von Edgar Allan Poe sind sehr gruselig atmosphärisch, aber leider ist der Wortschatz darin recht anspruchsvoll. Für den Anfang empfehle ich ein Märchen – wir werden in dieser Anleitung als Beispiel Rotkäppchen nehmen, auf Englisch: “Little Red Riding Hood”. Englisch deshalb, weil da schon die ganzen wichtigen Wörter auf Englisch dabei sind. (Der Text dazu steht im Anhang.)

Dabei geht es eher um ein Grundgerüst für das Spiel, du musst keinesfalls die Geschichte genau nacherzählen.

Eine Karte zeichnen

Aufgabe

  • Zeichne eine Karte von fünf bis sieben Räumen, die zu der Geschichte passt. Ein Raum kann ein Zimmer sein, oder ein Garten, oder ein Waldstück. Er sollte lediglich nicht zu groß sein – also eher ein Zimmer als ein ganzes Haus auf einmal.
  • Manche der Räume sollten miteinander verbunden sein, kein Raum soll unerreichbar sein. Die Verbindungen sollen für den Anfang in beide Richtungen gehen – wenn man von Raum 1 nach Osten geht und dann wieder nach Westen, dann landet man wieder in Raum 1. Beschränke dich am Anfang auf die Richtung north, east, south, west. (Im Prinzip gibt es aber auch ne, se, sw, nw, u und d.)
  • Gib jedem Raum einen englischen Namen.
  • Optional: Lege eine Liste an, welche Gegenstände sich in welchen Räumen befinden sollen.

Lösungsvorschlag

Kapitel 2: Überblick

Text adventures sind parallel zu anderen Formen von Rollenspielen entstanden. Es gibt sie in vielen Formen, und inzwischen haben sie sich zu einer eigenen Art von Literatur entwickelt, die interactive fiction heißt.

Dieses Projekt bietet dir eine Möglichkeit, ein solches Spiel zu entwerfen und vor allem auf spielerische Weise in das Programmieren einzusteigen.

Zuerst erhältst du Gelegenheit, ein einfaches Computerspiel aus dem Genre text adventure zu spielen, auch interactive fiction genannt.

Danach sollst du selber ein solches text adventure anlegen. Eigentlich legst du dabei nur das Modell einer Spielwelt an, in der sich die Hauptperson bewegen und in der sie handeln kann. Diese Welt solltest du möglichst interessant gestalten.

Hier ein Überblick über die Vorgehensweise für dieses Projekt:

  • Du spielst zuerst ein fertiges text adventure, damit du diese Art Spiel kennen lernst.
  • Du überlegst dir dann eine einfache Geschichte für dein eigenes Spiel. (Diese Anleitung benutzt als Beispiel “Little Red Riding Hood”.)
  • Danach zeichnest du eine Karte der verschiedenen Orte.
  • Diese Karte setzt du dann in ein Computerprogramm um.
  • Weil die Welt dann noch ziemlich leer ist, erfindest du Gegenstände, die du in dieser Welt verteilen kannst, und die das Spiel interessant machen.
  • Ein richtig spannendes Spiel wird es, wenn du die Standardreaktionen der Spielwelt veränderst. Wenn man eben nicht jeden Apfel essen kann, oder erst dann noch Osten gehen kann, wenn man dem Türwächter einen Apfel geschenkt hat. Wie weit du damit kommst, hängt davon ab, wie umfangreich das Projekt werden soll.

Kapitel 1: Ausprobieren

Aufgabe

  • Spiele das Tutorial.
  • Starte das Spiel Dragon Adventure (oder ein anderes Spiel) und spiele es. Technischer Hinweis: Wenn du keine anderen Anweisungen erhalten hast, starte dazu das Programm Gargoyle bzw. die Datei gargoyle.exe im Verzeichnis und wähle danach die Datei Dragon.z5 aus.
  • Zeichne eine Karte zu dem Spiel, aus der man sieht, wie weit du gekommen bist.

Orientierung

Es ist üblich, bei diesen Spielen eine Karte zu zeichnen, damit du dich orientieren kannst. Hier ist der Anfang einer solchen Karte.

Typische Befehle

Man spielt solche Spiele, indem man in der Textzeile Befehle eingibt. Solche Befehle können sein: go east, take the sword, open the cupboard und so weiter.

Befehl Bedeutung
go east, east, e Die Figur versucht nach Osten zu können. Andere Richtungen sind häufig: north, south, west, up, down, northeast, northwest, southeast, southwest
look, l Die Figur schaut sich um und du erhälst eine Beschreibung des aktuellen Ortes.
inventory, i Du erhältst eine Liste, was deine Figur alles bei sich hat.
take sword Die Figur versucht, das Schwert zu nehmen. Du kannst nur das nehmen, was du auch siehst. Kleinere Dinge kann man häufig mit sich tragen, größere nicht
drop sword Du lässt das Schwert fallen. Das geht nur, wenn du es mit dir führst.
examine sword Du untersuchst das Schwert genauer und erhältst eine Beschreibung.
open box Du versuchst, die Kiste zu öffnen. Manche Dinge kann man öffnen. Die kann man dann oft auch wieder schließen (close box). Das geht natürlich alles nur, wenn da überhaupt iene Kiste ist.
eat apple Selbsterklärend.
put apple on table Du legst den Apfel auf den Tisch. Das geht nur, wenn du den Apfel mit dir führst, und wenn der Tisch erreichbar ist und so geschaffen, dass man etwas darauf bzw. hinein stellen kann.

Warum auf Englisch?

Das Programmieren dieser Spiele ist auf Englisch leichter und deshalb geht dieses Projekt von dieser Sprache aus. Außerderm sollt ihr ja auch zeigen können, wie gut euer Englisch ist.

Wie macht man so ein Spiel?

Diese Spiele sind in einer von mehreren möglichen Sprachen geschrieben. Diese Textdatei wird dann in Computercode übersetzt, und damit man spielen kann, muss der Computercode wiederum von einem ausführenden Programm interpretiert werden. Wie das alles geht, erfährst du nach und nach.