Macht Wunderland wieder groß: Mit Twine und Chapbook

Twine
Chapbook
Interactive Fiction
Spieleprogrammierung
Alice
Autor:in

Jörg Kantel

Veröffentlichungsdatum

14. April 2026

Weil es so viel Spaß gemacht hat, habe ich die Wiederaufbereitung meiner alten Idee, mit Twine und dem Storyformat Chapbook eine Reise durch das Wunderland zu unternehmen, fortgeführt. Dabei geht es mir einmal darum, die Geheimnisse von Chapbook zu ergründen und daraus ein Tutorial zu basteln, zum anderen möchte aber auch zeigen, welche Möglichkeiten die Bildergenerierung mit Hilfe gekünstelter Intelligenzien den Menschen bietet, denen kein Zeichenstift in die Wiege gelegt worden war.

Alle Bilder für diese Reise ins Wunderland habe ich mit OpenArt erstellt, für die Charakterkonsistenz war das Tool Character 2.0 und für die eigentlichen Bilder Googles Modell Nano Banana 2 (aka Gemini 3.1 Flash Image) zuständig.

Das heutige Tutorial baut auf meinem Beitrag vom 8. April dieses Jahres dieses Jahres auf. Dabei bleiben die Erzählstränge »Haus der Herzogin« und »Raupe« unberührt, lediglich die »Teeparty« des Hutmachers wird komplett neugeschrieben (dabei folge ich einer älteren Version aus dem September 2023 mit einigen Änderungen und Erweiterungen).

Das heißt, auch die »Start-Passage« mit ihren ganzen Definitionen der config-Objekte bleibt erst einmal, wie sie ist.

Doch die Passage Teeparty und die ihr folgenden Passagen wurden komplett neu bearbeitet, wobei die Teeparty nur recht wenig verändert wurde:

{embed image: "images/hutmacher.jpg", alt: "Alice und die Teeparty"}

Alice erreichte die Teeparty vor dem Haus des verrückten Hutmachers. Dieser deklamierte 
gerade ein langes, dafür um so langweiligeres Gedicht, stand dann aber auf, hob seine 
Teetasse und begann [[lautstark zu schwadronieren->Hutmacher]].

Ziel der nächsten beiden Passagen ist es, herauszufinden, welche Einflußmöglichkeiten man mit Twine und Chapbook auf die Gestaltung des Textes besitzt. Also erst einmal die Passage Hutmacher,

{embed image: "images/hutmacher2.jpg", alt: "Der Hutmacher schwadroniert"}

[align center]

»Macht Wunderland wieder <span style="color:red; font-size: 300%;">groß!</span>
[continue]

Die Haselmaus entgegnete [[schüchtern->Haselmaus]] …

gefolgt von der Passage Haselmaus:

{embed image: "images/haselmaus.jpg", alt: "Hazel D. Mouse"}

»Ich fand es aber <span style="color:green; font-size:50%;">klein</span> viel schöner.«

***

Plötzlich hoppelte das [[weiße Kaninchen->Kaninchen]] in die Szene …

Um das Ergebnis vorwegzunehmen: Die Möglichkeiten sind relativ gering bis gar nicht vorhanden. Das ist nicht unbedingt ein Beinbruch, da man in der Regel ja auf das darunterliegenden HTML und CSS zurückgreifen kann, aber ich hätte mir doch schon ein paar der komfortablen Möglichkeiten, wie sie das Storyformat Harlowe anbietet, gewünscht.

In der Passage Hutmacher gibt es ein neues Sprachelement von Chapbook, einen Modifier. Modifier beginnen immer mit einer Zeile, die mit einfachen, eckigen Klammern ([]) begrenzt ist. Die Testmodifikationen gelten immer so lange, bis sie durch den Modifier [continue] (alternative Schreibweise auch [cont'd] oder [cont.]) aufgehoben werden. Modifier können nicht nur für das Text-Alignment verwendet werden, sondern auch Delayed Text und Notizen und Todos sind damit möglich.

Hier habe ich mit [align center] den Text bis zum [continue] zentriert. Die Änderung an der Font-Größe und -Farbe habe ich mit Inline-CSS

<span style="color:red; font-size: 300%;">groß!</span>

realisiert, genau so, wie in der Passage Haselmaus:

<span style="color:green; font-size:50%;">klein</span>

Zwar beherrscht Chapbook die meisten Textauszeichungen mit Markdown, wie zum Beispiel *kursiv* oder **fett**, aber für mehr muß man auf das darunterliegende CSS und HTML zurückgreifen. Alles, was Chapbook nicht versteht, reicht es an den Browser durch.

Eine Besonderheit sind noch die drei Sternchen ***, die Abschnitte voneinander trennen (Section Breaks).

In den letzten beiden Passagen Kaninchen und Flamingo gibt es keine neuen, Chapbook-eigenen Sprachelemente mehr. In Kaninchen hoppelt relativ unvermittelt das weiße Kaninchen durch die Szene:

{embed image: "images/rabbit.jpg", alt: "Weißes Kaninchen mit Uhr"}

… schaute erschreckt auf seine Uhr und jammerte: »Ich komme wieder **viel** zu spät …«

Sprach's und hoppelte [[aufgeregt davon->Flamingo]].

Und in Flamingo wundert sich Alice, warum sie auf einmal einen rosaroten Flamingo im Arm hält,

{embed image: "images/flamingo.jpg", alt: "Alice mit rosa Flamingo"}

Alice dachte, daß ihr dies alles zu dumm sei. Außerdem wußte sie nicht, wieso sie auf 
einmal einen rosa Flamingo im Arm hatte. 

Sie überlegte, ob sie doch noch die [[bekiffte Raupe->Raupe]] besuchen oder gleich 
[[nach Hause gehen->Home]] solle.

bevor sie dann endgültig entweder noch zu einem Abstecher bei der Raupe (Passage Raupe) aufbricht (hier passiert aber frühestens im nächsten Tutorial mehr) oder zu einer Kaffeetafel mit ihren Freunden (Passage Home) eintrifft:

{embed image: "images/home.jpg", alt: "Alice ist wieder zu Hause"}

Zuhause traf Alice ihre Freunde wieder, das weiße Kaninchen und den großen, 
grünen Elephanten, mit mit denen sie noch gemütlich ein Kännchen Kaffee trank. 
(Sie hatte genug von Teepartys.)

***

So wurde es doch noch ein gelungener Nachmittag.

Die ganze Geschichte könnt Ihr natürlich wieder auch auf diesen Seiten spielen:



Ich habe auch dieses kleine Tutorial sowohl als HTML-Datei wie auch als Twee-Datei mit allen Assets auf meinem GitHub-Account hochgeladen. Falls Ihr damit spielen wollt, müsst Ihr den Pfad zu den Bildern gegebenenfalls noch anpassen.

Außerdem habe ich gegenüber der ursprünglichen Fassung die Passagennamen kapitalisiert, sie beginnen jetzt jeweils mit einem Großbuchstaben. Das scheint eine übliche Konvention von Twine zu sein, der ich mich nicht ohne Grund entgegenstellen will.