Die wachsende Welt meines Textadventures / meiner IF „Der Galerist“

In den letzten Tagen ist die Welt meines in Twine geschriebenen Textadventures ziemlich gewachsen:

dg.png

Der Bereich oben rechts ist die ursprüngliche Galerie, deren Umgebung mittlerweile um ein paar Straßen einer Kleinstadt gewachsen ist. Der große Bereich unten/mittig ist eine (in Spielwelt-Maßstäben) nicht weit entfernte Großstadt, wo die Arbeitsstelle der Hauptfigur liegt. Im Verlauf der Geschichte „fährt“ man öfter zwischen beiden Städten hin und her. Die vier Räume ganz rechts sind ein Vorort der größeren Stadt — im Twine-Interface habe ich die Orte ungefähr so angeordnet, wie ihre Lage auch in meiner Vorstellung ist, aber die Entfernungen sind „in Wahrheit“ größer als im Bild zu sehen.

Der Schreibprozess hin zu dieser Spielwelt ist ganz interessant. Einerseits möchte ich eine schon recht große Welt beschreiben, in der man sich eine Zeitlang verlieren kann. Doch wenn man nicht aufpasst, wird diese Welt schnell zu groß: neue Orte und die Verbindungen zwischen ihnen sind schnell angelegt, doch (andererseits) muss man die Orte auch mit Leben füllen: Es braucht interessante Texte, die die Orte beschreiben, sie müssen in sich stimmig und mit angrenzenden Orten konsistent sein. Das ist das Problem, das auch moderne Open-World-Spiele haben, es hat also nichts damit zu tun, dass ein Textadventure nicht aus toller Grafik, sondern aus, nunja, Text besteht.

Es muss in der Spielwelt etwas geschehen, das für die Geschichte (um die es ja letztlich geht) von Bedeutung ist. Sicherlich können einige der Orte auch nur der Atmosphäre wegen entstehen — wenn man als Spieler z.B. zwischen zwei handlungsrelevanten Schauplätzen unterwegs ist, dann kann es da schon ein, zwei Orte geben, an denen nichts passiert, die aber durch ihre Existenz das Gefühl der Fortbewegung fördern bzw. den Eindruck, durch eine größere Stadt zu gehen.

Aber ich habe jetzt eine relativ große „Bühne“ für meine Handlung erschaffen, und es ist fraglich, ob die noch viel größer werden muss. Ich denke, ich werde mich im Weiteren erstmal darauf konzentrieren, die bestehenden Orte weiter mit handlungsrelevanten Figuren zu befüllen (zwei habe ich ja schon), damit sich durch die Interaktion mit diesen die Handlung fortentwickelt. Für den Prolog der Geschichte ist mir das, denke ich, schon ganz gut gelungen.

IF Review: Liza Daly – Harmonia (2017)

(Das ist eine Kopie meines Reviews zu dem Spiel in der IFDB).

When I decided to register at IFDB and start playing IF again (I played many of the classics partly or complete years ago), I was first looking for newer stories or games, published in recent years, although I also plan to re-play older games.

Anyway, Harmonia by Liza Daly (2017) was one of the first games I added to my mental „need to play“ list. For sure it was due to the great first impression — as other reviewers have stated, the quality of the presentation (typography, illustrations, marginalia) is just awesome, which you’ll notice once you’ve clicked the title screen and are presented with the first chapter.

harmonia.png

It’s really a joy to click the links while reading the well-written narrative, thereby revealing marginalia seemingly added by the protagonist (and sometimes other characters). This nearly evokes a haptic feel, as if you’re browsing through books, letters, and piles of old newspapers. At the same time, the design is not „over the top“, it is very clear and perfectly serves the purpose of the narrative.

In fact I think if the story was not about an academic, the design may not have worked that well. I, too, worked in academia for several years, so I remember the feelings one has as a young teacher and which are conveyed plausibly in the story. I also remember how a few of the more eccentric and egocentric personalities in academia coped with each other and their subordinates; I found parts of that in this story.

The author explores this topic focused on the role of women in research and society, which has often been neglected over decades. One example in the story was esp. well done (spoiler, select text to show): Prof. Lynn’s ridiculous (but oh-so typical) idea to reward his female assistant (who has done most of the actual research) with just a bunch of flowers is presented as a marginalia next to the main text — the story’s presentation serves as very effective symbol here.

The plot itself (spoiler, select text to show: about discovering a time machine, built by a member of an historic utopian community that once lived on the college’s land) was not exactly surprising, but still decent and I enjoyed observing the protagonist, as she uncovered the secrets.

So while I really enjoyed reading the story, I sometimes wished for more meaningful decisions. I think besides the big main decision at the end of the story, there were only one or two occasions where I felt that I can influence the plot in a meaningful way. The main experience felt very linear and would have also worked in a printed book (Doug Dorst’s and J.J. Abram’s „Ship of Theseus“ came to my mind). Nevertheless, I highly recommend this story.

Mein Twine-Spiel: „Der Galerist“

Ich habe mich jetzt soweit in Twine eingearbeitet, dass ich ein vollständiges technisches Gerüst für mein Text-Adventure (es wird wohl eher ein Spiel im altmodischen 1980er-Jahre-Stil, keine „literarische“ Interactive Fiction) habe. Das Spiel trägt den Titel „Der Galerist“ und es geht um einen, nun, Galeristen, der verschwunden ist. Es war relativ einfach, die Grundstruktur zu erstellen, inkl. Spieler-Inventar und Dialogen mit Nichtspielercharakteren (NPCs):

Struktur.png

Das Bild zeigt die momentane Struktur. Links oben sind Passagen (das ist der Twine-Begriff für Räume), die der Initialisierung des Spiels dienen, d.h. diverse Flags werden gesetzt, es gibt den Titelbildschirm, die Statuszeile und das Inventar. Darunter sind Passagen, die bei der Nutzung bestimmter Gegenstände aus dem Inventar aufgerufen werden. Die eigentliche Spielwelt ist auf der rechten Seite, momentan beschränkt sich das auf die Galerie, den Parkplatz vor der Galerie und das Spielerauto.

In diesen Passagen findet der (kurze) Prolog des Spiels statt. Darin besucht man als Journalist eines Kunstmagazins die Galerie, um den berühmten Galeristen zu interviewen. Der ist allerdings nicht da, sondern hat seinen Assistenten vorgeschickt.

Nach dem etwas enttäuschenden Interview fährt man zurück in die Redaktion. Als der Galerist aber drei Monate später immer noch verschwunden ist, wird man erneut in die Stadt geschickt, um der Sache nachzugehen …

Szene.png

Auf dem Screenshot oben sieht man die Struktur einer typischen Spielszene. Ganz oben ist eine Statuszeile, wo die Bezeichnung des Ortes, der Punktestand sowie drei Links für „Hilfe“, Spiel „speichern“ und Spiel „laden“ sind. Diese Zeile ist immer sichtbar. Twine erlaubt dafür eine sogenannte „Header“-Passage, wie die Kopfzeile eines Buches. Ich habe sie als Tabelle mit drei Spalten angelegt.

Darunter steht immer der eigentliche Text der Geschichte, d.h. Beschreibungen von Räumen oder Dialogen mit anderen Figuren. Innerhalb der Texte gibt es häufig unterstrichene Wörter. Wenn man die anklickt, wird der Text um Zusatzinformationen erweitert. Auffällige schwarz unterlegte Links im Text beginnen ein Gespräch mit einer anderen Figur (sie sind eher selten und erscheinen in dem Raum nur, wenn die Figur sich dort auch aufhält).

Unter der Beschreibung kommen immer die Bewegungsmöglichkeiten — hier werden alle „Ausgänge“ aus der Passage aufgelistet, die vorhanden und bekannt sind (d.h. es gibt manchmal versteckte Ausgänge, die erst angezeigt werden, wenn man sie entdeckt hat).

Ganz unten ist das Inventar. Außer in Dialogpassagen wird es immer angezeigt, und man kann auch immer die angezeigten Gegenstände anklicken. Twine leitet dann zu der Passage des Gegenstands, und je nachdem, von welcher Passage aus man dorthin kommt, passiert etwas anderes (bzw. auch gar nichts).

Das ist jetzt alles nichts Besonderes, aber ich fand es interessant, wie schnell sich das in Twine umsetzen ließ — es ist ja doch bisschen komplexer als ein bloßer Hypertext, aber dafür geht das relativ übersichtlich. Hiermit kann man jetzt ein komplettes parser-loses Textadventure erstellen.

Wenn ich meinen Prolog fertig habe, werde ich ihn kopieren und daraus eine Vorlage machen, die man schnell für andere Geschichten benutzen kann.

Twine, texture, …?

Ich habe mich jetzt noch etwas intensiver mit Twine und texture auseinandergesetzt. Ich hatte irgendwie die Annahme, dass man mit Twine kaum was machen kann (was daran liegt, dass die meisten im Internet veröffentlichten Twine-Geschichten wirklich nur technisch- simple Hypertexte sind (was nichts über ihre mögliche Qualität als Geschichte aussagt, von Literarizität mal gar nicht zu reden)) — aber eigentlich kann man mit Twine viel mehr machen als mit texture. Das habe ich gemerkt, als ich Melissa Fords Buch „Writing Interactive Fiction with Twine“ durchgeblättert habe.

Also habe ich mir gestern Nachmittag in relativ kurzer Zeit ein Grundgerüst für ein typisches Textadventure gebastelt, inkl. Punktezähler und Inventar, auf das man immer zugreifen kann. Jetzt könnte ich loslegen und die Welt beschreiben, Gegenstände verteilen und Rätsel ausdenken. Mit texture wäre so etwas gar nicht möglich, weil man dort zwar flags setzen und prüfen, aber keine komplexeren wenn-dann-Abfragen oder Berechnungen durchführen kann. Ich denke also, ich werde für meine derzeitigen diffusen Story-Ideen nun doch mit Twine weitermachen (was nicht ausschließt, dass ich texture irgendwann mal für was anderes verwende).

Dirk Baecker: Polyphonie im Medium der Sprache

Ausgehend vom Phänomen der Polyphonie hat Dirk Baecker in kompakter, aber vielleicht gerade deshalb gut lesbarer Form einige Grundfragen menschlicher bzw. sprachlicher Kommunikation auf den Punkt gebracht. Die PDF seines Vortrags kann man in seinem Blog runterladen:

The Catjects Project

Eine erste Einheit der Differenz von fest und flüssig, von langage und langue, von Sprechen und Sprache ist die Kommunikation, in der Sprache und Sprechen grundsätzlich polyphon auftreten, indem jede aktuelle Aussage eine potentielle mitführt, von der sie sich gestützt weiß, die sie angreift oder zu der sie im nächsten Moment wechselt. In der individuellen Aussage sprechen nicht nur andere individuelle Aussagen, sondern auch ein Allgemeines, die Möglichkeit des Wechsels, von der und in der jede individuelle Aussage sich abgrenzt.

Ursprünglichen Post anzeigen 23 weitere Wörter

estimated time of departure?

Mittlerweile bereue ich es wirklich, dass ich neulich nicht doch noch länger geflogen bin. Denn die darauf folgenden Flugstunden, inkl. heute, sind alle wegen zu schlechter Sicht ausgefallen. Herbst halt. Das heißt zwar, dass ich jetzt bis 16 Uhr „frei“ habe (und da werde ich ein bisschen mit texture rumspielen), aber es stellt sich halt doch dieser interessante „Entzug“ ein: Wenn man unten ist, will man doch eigentlich bald wieder rauf. Gut, mal schauen, wie es nächsten Montag und Mittwoch wird.

Was simuliertes Fliegen angeht, da haben wir bei vFlyteAir eines unserer früheren Payware-Flugzeuge jetzt komplett überarbeitet und als kostenlose Freeware verfügbar gemacht, die Ryan Navion. Was heißt „wir“… eigentlich hat unser Chef (oder president, denn es ist ja eine amerikanische Firma 😉 ) alles allein gemacht, denn die Navion ist eines seiner Lieblingsflugzeuge.

Navion205_1.png

Die Navion ist wirklich sehr retro (das echte Flugzeug stammt aus den 1940 bis 50ern) und Walker hat für die neue Version ein ziemlich atmosphärisches Cockpit gestaltet. Insbesondere hat er die schon immer etwas unpassende, moderne Garmin G500-Avionik aus dem Panel geworfen (die entsprach sowieso nicht mehr dem Niveau, das wir in unseren Cherokee-, Arrow- und Cirrus-Modellen erreicht hatten) und ein schönes „Vintage“-Panel erstellt. Der Radio Stack ist auch relativ altmodisch. Nur ein Tablet als Zugeständnis an die vielen AviTab-Nutzer ist enthalten. Ein paar Bugs gibt es leider noch (die Animationen der Ruder sind verkehrt herum … habe ich beim Testflug gestern leider auch nicht gesehen), aber die wird Walker bald beheben. Und dann geht es weiter mit Updates für unsere anderen Modelle …

texture

texture ist ein webbasiertes Werkzeug, mit dem man Interactive Fiction schreiben kann. Interactive Fiction (IF) ähnelt den Textadventures aus der Frühzeit der Computerspiele, aber wird heute meist eher mit literarischem Anspruch verfasst und ist weniger als bloßes Spiel gemeint. Man bekommt in relativ kurzen Absätzen eine Beschreibung von Ort und Situation zu lesen und kann dann entscheiden, was man als nächstes tut.

Ganz klassisch würde das durch die Eingabe von Text-Kommandos gehen, z.B. „nimm den Apfel“ oder „geh nach Norden“; der sogenannte Parser interpretiert diese Befehle dann mehr oder weniger sinnvoll. Das verbreiteste Tool für parserbasierte IF ist wohl Inform (was seit Version 7 den zusätzlichen Reiz hat, fast in natürlichsprachlichem Englisch (und Deutsch) programmieren zu können). Eine andere weit verbreitete Form sind simple Hyperlinks, bei denen man die Geschichte durch das Anklicken markierter Wörter im Text vorantreibt; sowas kann man z.B. gut mit Twine schreiben.

texture steht irgendwo dazwischen. Statt unterstrichener Links im Text oder einer Kommandozeile für das Eintippen von Befehlen werden unter dem Text ein oder mehrere Wörter angezeigt, die man mit Maus oder Finger (Touchscreen) auf den Text schieben kann. Wörter des Textes, die von Autorin oder Autor entsprechend vorbereitet wurden, reagieren dann auf das jeweilige Wort und wenn man dann loslässt, wird die jeweilige Aktion ausgelöst, z.B. das aktivierte Wort durch etwas anderes ersetzt, ein vorher nicht sichtbarer Absatz eingefügt, ein weiterer Absatz ans Ende gehängt oder zur nächsten Seite „geblättert“.

Hier ein Beispiel:

Auf dem 1. Screenshot steht oben der Ausgangstext, unten ein Wortschnipsel, den man mit der Maus oder per Finger bewegen kann.

Bildschirmfoto vom 2018-11-08 23-26-41

Auf dem 2. Screenshot habe ich den Wortschnipsel „Staubwolken“ auf das Wort „Wind“ bewegt. Es wäre auch möglich, ihn stattdessen auf das Wort „verblasst“ zu bewegen.

Bildschirmfoto vom 2018-11-08 23-27-07

Auf dem 3. Screenshot ist das Ergebnis des Bewegens des Wortschnipsels „Staubwolken“ auf das Wort „Wind“ zu sehen. Zwischen die beiden ursprünglichen Zeilen wurde eine weitere Zeile eingefügt.

Bildschirmfoto vom 2018-11-08 23-27-29

texture gibt es schon seit 2014, aber ich habe es erst gestern entdeckt, als ich endlich mal wieder Zeit hatte, mich mit Interactive Fiction zu beschäftigen. Ich finde den gemischten Ansatz ziemlich gut. Da im Text mehrere Wörter auf die unten liegenden Wortschnipsel reagieren können, ist mehr Variation möglich als in einem bloßen Hypertext, aber der Aufwand ist wesentlich geringer als in einem parserbasierten Spiel. Es ist auch möglich, einfache Variablen zu setzen und zu lesen, um davon abhängig den Fortgang des Textes zu beeinflussen.

Ich werde mal versuchen, damit einen kleineren IF-Text zu verfassen.

Fliegen

Heute war ich nach drei Monaten endlich wieder C42 fliegen. Ingesamt habe ich jetzt ca. 22-23 Stunden (30 sind Minimum). Der letzte Flug war Anfang August von Magdeburg nach Rostock, und das bisherige Highlight: 2×200 km an einem Tag. Danach hatte ich keine Zeit — der „Head Canon“-Essay bei Telepolis musste fertig werden, dann die simulierte C42 von vFlyteAir bzw. meine Handbücher dafür, und dann das Manuskript für mein „Technik vertrauen“-Buch bei Springer. Das waren alles ziemliche Großprojekte neben der normalen Arbeit. Zwischendurch waren wir noch in Norwegen und sind teils bei Windstärke 9 mit dem Postschiff die Hurtigrute entlanggefahren.

Das ist nun alles erledigt und ich habe tatsächlich die seit Mitte 2017 ungewohnte Situation, mal Zeit zu haben. Ich habe zwar schon wieder mindestens drei weitere Ideen, aber ich habe mir vorgenommen, nichts davon anzugehen, bis das Buch im Laden steht. Stattdessen möchte ich die freigewordenen „Ressourcen“ nutzen, meine Flugausbildung voranzubringen. Und wie gesagt, heute war es dann soweit.

Im Buch geht es ja darum, wie wir Technik vertrauen, die wir eigentlich nicht im Detail verstehen oder deren innere Zustände wir nicht einsehen können. Dem Flugzeug als Sachtechnik zu vertrauen, war für mich auch lange eine Herausforderung (insofern ich 2009 eigentlich eine lästige Flugangst entwickelt habe). Wie ich auch in meinem Artikel im aktuellen Fliegermagazin schreibe, hat mir erst Flugsimulation am PC und seit 2017 das echte Fliegen geholfen, damit klarzukommen. Dass ich nach drei Monaten Pause fast selbstverständlich die Vorflugkontrolle mache oder in der Regel 😉 weiß, was ich tue und was das Flugzeug tut, war zu Beginn der Ausbildung fast undenkbar.

Trotzdem gibt es bisher in jedem Flug etwas Neues, was mich dann (je nachdem, was es war) positiv überrascht oder doch noch mal beunruhigt.

Heute war es ziemlich windig aus Süd bis Südwest, sodass wir bei Start und Landung auf der 27 in EDBM recht viel Seitenwind von links hatten. Das ist etwas tricky, weil man ja die Richtung halten muss und nicht will, dass sich eine Tragfläche zu ungünstiger Zeit anhebt. Darum hält man das windzugewandte Querruder ein bisschen in den Wind. Mein Fluglehrer hat mir aber einen weiteren „Trick“ gezeigt, wie man die Wirkung des Seitenwindes beim Start etwas abschwächen kann: man stellt sich an den Rand der Bahn (windabgewandte Seite, also rechter Rand) und zielt beim Starten nicht aufs Bahnende sondern auf eine etwas weiter entfernte Lampe (die zur Runwaybefeuerung gehört) auf der anderen (linken) Seite. Dadurch kommt der Wind dann nicht mehr so sehr von der Seite, sondern in Relation zu uns fast von vorne. Da die Bahn in Magdeburg ziemlich breit ist (jedenfalls was Ultraleichtfliegen angeht) und die C42 nach sehr kurzer Strecke abhebt, kann man das gut machen.

So, das ist im Nachhinein jetzt auch komplett logisch für mich, aber in dem Moment habe ich nicht verstanden, was er meint. Wie, auf die Lampen zielen? Dann fahr ich doch dagegen. (Ich dachte auch, er meint die Lampen auf der rechten Seite…) Er musste es dann vormachen, dann hab ich es kapiert. Der Grund für mein Unverständnis war in dem Moment, dass ich mich (schon gestern beim Üben am PC) so auf das „Mitte der Bahn, Querruder in den Wind“-Schema fixiert hatte, dass ich für alternative Wege der Problemlösung in dem Moment keinen Kopf hatte. Dabei machte der „Trick“ alles viel einfacher.

In der Luft war ich dann positiv überrascht, dass es viel viel ruhiger war als mich der Simulator (X-Plane) mit identischen Wettereinstellungen glauben machen wollte. 17 Knoten Windböen im X-Plane sind sehr wackelig (denn die Böen kommen da scheinbar permanent und stoßweise); beim echten Flug heute war es eigentlich ganz ruhig.

Also ein schöner Flug. Und dann ging auf einmal ein kurzer Ruck mit einem leisen Knall durchs Flugzeug. Keine Turbulenz, sondern was anderes. Fühlte sich an, als hätte uns was von unten getroffen. Früher hätte ich gekreischt: „oh Gott, was war das, was war das????“ aber heute sagte ich (immerhin) nur irritiert: „hä? Was war das denn?“ (Das ist ja schon mal ein Fortschritt 😛 ) Mein Fluglehrer meinte, es war wohl eine Fehlzündung des Motors, die käme schon mal vor. Er machte dann die Vergaservorerwärmung an und damit war das Thema für ihn erledigt. Für mich allerdings nicht, denn jetzt setzte doch der innere „werden wir jetzt alle sterben?“-Modus ein. Ich wurde nicht hektisch oder panisch, aber ich wollte dann halt doch gerne wieder zum Flughafen zurückkehren. In meinen Gedanken setzte sich nämlich das Bild des Motorausfalls fest, und in dem Fall wollte ich zwar hoch genug, aber bereits in Platznähe sein.

Nun, der Motor funktionierte weiterhin, aber meine innere Ruhe war gestört. Das Öl hatte bei der Vorflugkontrolle schon ziemlich dunkel (= alt) ausgesehen… und die Öltemperatur im Flug war laut Lehrer auch etwas niedrig… und dann die eine Fehlzündung. Das machte mir alles Sorgen, denn sowas hatte ich früher noch nie erlebt.

Kurz vor dem Einflug in die Platzrunde war ich jedenfalls viel zu hoch, sodass ich erstmal in einem Kreis Höhe abbauen müsste. Dann flogen wir in den Queranflug (= quer zu dem Bahnende, wo man landen will) und teilten uns die Landung, weil mein Lehrer mir das Landen bei Seitenwind zeigen wollte — ich sollte einfach nur mit dem Querruder die Mitte der Bahn anpeilen, er würde das Seitenruder übernehmen.

Die Landung inkl. des Abfangbogen war dann gar nicht schlecht. Wiederum positiv überraschend sagte mein Lehrer hinterher, er hätte gar nichts gemacht, nur ganz kurz vorm Aufsetzen mal etwas Seitenruder gegeben.

Er hätte jetzt gerne noch den Seitenwind für ein paar weitere Platzrunden genutzt, aber mir reichte es jetzt erstmal. Nicht wegen des Windes (woran ich am Anfang ständig dachte), sondern wegen dieser einen Fehlzündung. Also rollte ich zur Halle, wir unterhielten uns noch etwas über das Phänomen, wie im Internet viel aufgebauscht oder falsch dargestellt wird, dann parkte ich das Flugzeug.

Dass ich wegen dieser kleinen Auffälligkeit für heute aufhörte, war sicher irrational. Und mittlerweile denke ich, wir hätten doch noch weitermachen sollen, aber gut, so isses eben. Nächster Termin ist dann Montag. Jedenfalls wäre das auch ein weiteres gutes Beispiel für „Technik vertrauen“, insofern das auch Vertrauen in Menschen und deren Urteile über Technik angeht. ^^