Ich sah gestern ein Review zu [Parsely](
https://jaredsorensen.itch.io/parsely), einem Spielebuch, was beschreibt, wie man Textadventures, so wie sie in den 1980er beliebt waren, ohne Computer spielen kann, indem ein Spieler die Rolle des Textadventure-Programms übernimmt und die anderen reihum jeweils Befehle geben. War wohl ursprünglich ein Aprilscherz, aber der Autor hat in dem Buch 12 Abenteuer beschrieben, die man dann auf diese Weise spielen kann.
Ich finde das auf bizarre Weise faszinierend, daher habe ich mir hier mal eigene "Regeln" ausgedacht, ohne das ich jetzt das Buch selbst gelesen habe.
---
Du bist ein Textadventure. Du beschreibst die Welt in Form von Räumen, Gegenständen und Akteuren, nimmst Befehle entgegen und führst sie gemäß deiner Regeln aus und beschreibst die Veränderung der Welt. Das wiederholst du, der Protagonist des Spiels stirbt oder gewonnen hat.
Wichtig: Tue, was die befehlsgebenden Mitspieler sagen, nicht was sie meinen!
Bleibe in deiner Rolle. Sei konsistent in deinen Antworten. Sei fair. Sei unerbittlich. Plane voraus, aber gehe mit dem "Flow". Streng genommen musst du den Spielern nur einen Schritt voraus sein.
Befehle haben die Form `<verb>` oder `<verb> <objekt>` oder `<verb> <objekt> <präposition> <objekt2>`. Im deutschen braucht man ab und zu noch ein Füllwort wie `gehe *nach* norden` oder `lege buch *weg*`. Ignoriere sie ebenso wie bestimmte und unbestimmte Artikel.
Definiere die Liste aller möglichen Befehle. Du kannst, musst aber nicht, Synonyme zulassen. Bei Befehlen, die nicht in deiner Liste vorkommen, sage "So etwas kannst du nicht machen". Sage niemals, was falsch war oder wie man es besser machen könnte.
Hier eine Liste als Vorschlag:
ende
besitz
umschauen
gehe nach <richtung>
betrete <ort>
verlasse <ort>
nimm <gegenstand> [mit <gegenstand>]
lege <gegenstand> weg
lege <gegenstand> in <gegenstand>
untersuche <gegenstand> [mit <gegenstand>]
benutze <gegenstand> [mit <gegenstand>]
öffne <gegenstand> [mit <gegenstand>]
schließe <gegenstand> [mit <gegenstand>]
greife <akteur> [mit <gegenstand>] an
sprich mit <akteur> über "thema"
gib <akteur> <gegenstand>
Streng genommen sind `ende` und `besitz` keine Verben. `umschauen` sticht als Infinitivform heraus. Man könnte `schau dich um` erlauben, wenn man auch `schau <gegenstand> an` als Synonym für `untersuche <gegenstand>` erlaubt. Dann könnte man auch `schau dich an` als Synonym für `besitz` benehmen. Und ja, ich bin nicht konsequent, was Imperativformen angeht. Erkläre das zu einem Feature. Oder sei großzügiger.
Erstelle eine Liste von Gegenständen. Diese haben einen Namen, eine Beschreibung und unter Umständen veränderbare Eigenschaften. Sie können z.B. nehmbar oder öffenbar oder zerstörbar sein. Sie können Licht verbreiten und dann anschaltbar sein. Sie können weitere Gegenstände aufnehmen. Sei kreativ. Namen können Adjektive haben, um so den silbernen vom goldenen Schlüssel zu unterscheiden. Solange eindeutig, erlaube, dass die Adjektive in Befehlen weggelassen werden dürfen. Falsche Adjekte sind ein Fehler.
Gegenstände befinden sich meist in Räumen. Oder sie befinden sich im eigenen Besitz. Nur dann kann man mit ihnen interagieren. Ein Gegenstand in einem Gegenstand ist nur sichtbar, wenn dieser Gegenstand offen ist.
Erstelle eine Liste von Räumen. Jeder Raum hat einen Namen, eine Beschreibung, die du beim ersten Mal erzählst, danach dann als Reaktion auf `umschauen`, sowie eine Liste von Ausgängen zu anderen Räumen. Die haben Namen, die "Richtung" genannt werden. Sie können sichtbar oder unsichtbar sein oder nur dann benutzt werden, wenn ein bestimmter Gegenstand im Besitz ist, nicht im Besitz ist, ein bestimmter Akteur da oder eben nicht da ist oder welche Regel man sich auch immer ausdenken mag. Wichtig ist nur, dass es eine eindeutige Regel gibt.
Erstelle schließlich eine Liste aller Akteure. Diese können auf Aktionen der Spieler reagieren, ggf. auch zeitgesteuert, also z.B. angreifen, wenn sich der Spieler drei Zeiteinheiten in einem Raum aufhält. Hierzu definiere, welche Befehle jeweils eine Zeiteinheit kosten. Ich würde empfehlen, dass `besitz`, `umschauen`, `nimm`, `lege` oder `gib` keine Zeit verbrauchen, alle anderen schon. Akteure können sich bewegen oder durch Aktionen der Spieler auftauchen oder verschwinden.
Schließlich kann man sie zu Themen befragen. Überlege dir dazu, zu welchen Themen jeder Akteur was sagen kann und spule dann diese Texte ab … jedes Mal. Zu allen anderen Themen sag, "dazu kann ich dir nichts sagen".
---
Ein Textadventure lebt von stimmungsvollen Raumbeschreibungen, der Atmosphäre, dem Kopfkino, dass dadurch ausgelöst wird, und der Herausforderung durch Rätsel, die es zu lösen gilt, um Fortschritt zu machen.
Denke dir daher Rätsel aus, die bestimmte Handlungen an bestimmten Orten erfordern, z.B. das Einsetzen oder Kombinieren von Gegenständen, das Befragen von Akteuren, das unterlassen von Aktionen, usw. und führe dazu Buch in Form einer Strichliste, ob diese Handlungen erfolgt (oder eben nicht erfolgt) sind.
Beachte auch, wie sich die Spielwelt ändert: Gegenständen werden genommen, weggelegt, verändert oder ersetzt.
Ganz wichtig: Spieler versuchen vielleicht, alle Gegenstände miteinander zu kombinieren. Belohne diese Kreativität, indem du anders als "du kannst das nicht tun" antwortest.
---
Hier ist ein Beispielspiel:
DU STEHST AUF EINER LICHTUNG MIT EINEM HAUS MIT EINER ROTEN TÜR.
VOR DEM HAUS IST EIN BRIEFKASTEN. IM OSTEN IST EIN KLEINES WÄLDCHEN.
> untersuche Briefkasten
IM BRIEFKASTEN SCHEINT EIN BRIEF ZU SEIN.
> nimm brief
DAS GEHT NICHT.
> öffne briefkasten
ES GELINGT DIR NICHT. DIE KLAPPE KLEMMT.
> untersuche klappe
DAS KANNST DU NICHT UNTERSUCHEN.
> untersuche briefkasten
IM BRIEFKASTEN SCHEINT EIN BRIEF ZU SEIN.
> trete briefkasten
ES SCHEPPERT. DIE KLAPPE SPRINGT AUF.
> untersuche briefkasten
IM BRIEFKASTEN SCHEINT EIN BRIEF ZU SEIN. DIE KLAPPE IST AUF.
> nimm brief
DU NIMMST DEN BRIEF.
> lies brief
ICH WEISS NICHT, WAS LIES MEINT.
> besitz
DU HAST:
* EINEN BRIEF
> lese brief
DU LIEST DEN BRIEF
"Lieber Emil, …"
> besitz
DU HAST:
* EINEN BRIEF AN EMIL
> verbrenne brief
ICH WEISS NICHT, WAS VERBRENNE MEINT.
> lege brief weg
WELCHEN BRIEF?
> lege brief an emil weg
WEGGELEGT.
> untersuche tür
ES IST EIN HOLZTÜR, DIE MAL WIEDER GESTRICHEN WERDEN KÖNNTE. SIE IST VERSCHLOSSEN.
> öffne tür
DIE TÜR IST VERSCHLOSSEN.
> untersuche tür
ES IST EIN HOLZTÜR, DIE MAL WIEDER GESTRICHEN WERDEN KÖNNTE. SIE IST VERSCHLOSSEN. EIN SCHLÜSSEL SCHEINT ZU STECKEN.
(und jetzt muss der Spieler auf die Idee kommen, im Wald ein Stöckchen zu suchen, dann den Brief unter der Tür durchzuschieben, mit dem Stöckchen im Schloss zu fummeln, um den Schlüssel auf den Brief fallen zu lassen und dann den Brief mit dem Schlüssel zu sich zu ziehen um dann die Tür aufzuschließen)
> gehe durch tür
DURCH TÜR IST KEINE RICHTUNG.
> norden
DU KANNST HIER NICHT NACH NORDEN GEHEN.
> betrete tür
DU KANNST DIE TÜR NICHT BETRETEN.
> betrete haus
DU BIST IN EINEM HAUS. ES IST SO DUNKEL, DU KANNST KAUM DIE HAND VOR AUGEN SEHEN. DU ERKENNST IM NORDEN UND IM WESTEN EINE TÜR.
(Da der Spieler nicht im Haus noch mal untersuche Tür eingegenen hat und so den Lichtschalter neben der Tür entdeckt und betätigt hat, wird er bei jede Bewegung außer "verlassen" oder "verlasse haus" durch eine Falltür in den Keller stürzen, wo es stockdunkel ist und er nach einer Leiter tasten muss, die aufstellen und dann hochklettern, nur um bei jeder weiteren bewegen wieder in den Keller zu stürzen bis er auf die Idee kommt, die Falltür zu schließen; wer das im Keller macht, beendet allerdings das Spiel, weil er sich einschließt)
PS: Natürlich ist mir bewusst, dass es auch möglich wäre, das direkt zu programmieren, gerade im KI-Zeitalter, wo sich das wie fast von selbst schreibt. Allerdings ist ein menschlicher Befehlsinterpreter immer noch kreativer als ein Spiel und daher macht das vielleicht ja tatsächlich Spaß… keine Ahnung
PPS: Ich hätte jetzt jedenfalls Lust, ein Rahmenwerk für solche Spiele zu programmieren… völlig egal, dass es davon schon Dutzende gibt. Ich stelle mir eine interne DSL für eine pseudo-deklarative Definition der Spielwelt sowie insbesondere der Rätsel vor. Vor zig Jahren hatte ich mal versucht, Prolog dafür zu verwenden…