Das Geister-Registrierungs-Gerät: Ein Pokémon-Go-Simulator

Oberfläche des Pokémon-Simulators GeRGeMon

Wie hoffentlich die Hälfte aller Informatiklehrer mache ich mir gerade Gedanken, wie ich das allgemeine Interesse an Pokémon Go für die Schule nutzbar mache. (Level 14 übrigens, und wenn ich ein neueres Gerät hätte, auf dem das Programm anständig liefe, wäre ich schon weiter.) Ingo Bartling hat sich schon überlegt, was man daran alles zeigen könnte, und dann nochmal hier mehr davon.

Mit Schülern in der 10. Klasse könnte man mit einfachen Fragen zur Kommunikation anfangen: Was will die App denn eigentlich vom Server wissen? Zum Beispiel, wo die nächsten Pokémon sind. Allerdings kann der Server das nur beantworten, wenn er weiß, wo denn der Spieler im Moment ist. Das kann in einem Hin und Her von Fragen und Antworten geschehen:

Sequenzdiagramm App>Server 1

Oder man schickt das, was der Antworter braucht, in der Frage gleich als Information mit:

Sequenzdiagramm App>Server 2

Dann überlegt man, welche Vorteile und Nachteile die Lösungen haben. Und was die App sonst nocht alles wissen können will vom Server.


Ich werde nächstes Jahr mit meiner 10. Klasse nicht versuchen, Pokémon Go direkt nachzubauen. Das hat technische Gründe: Das Programmieren für Smartphones ist aufwendiger; bei uns im Computerraum gibt es keine Entwicklungsumgebung dafür; außerdem ist es dem Systembetreuer noch nie gelungen, dafür zu sorgen, dass die Treiber für einen Smartphone-Emulator richtig installiert werden. Also will ich das ganze auf dem PC programmieren – deswegen wird das also nur ein Pokémon-Go-Simulator. Und der wird grafisch natürlich viel, viel weniger aufwendig, und ohne Kamera. Also eigentlich gar nicht wie Pokémon Go – aber da die Schülerinnen und Schüler das Vorbild kennen, wissen sie, was am Ende herauskommen könnte. Das macht das ganze weniger abstrakt. Herumlaufen geht in der Schule eh nicht so gut, und der Handyempfang im Schulgebäude ist sehr schlecht.

Außerdem will ich nicht die Pokémonwelt nachbauen, urheberrechtlich nicht und auch so. Wo ich vor einer Woche das Ghostbusters-Remake gesehen habe (das mir überraschend gut gefallen hat, trotz der mauen Kritiken; Kate McKinnons Rolle ist ganz wunderbar), fielen mir natürlich die Geister ein. Also:

  • Das Spiel spielt auf dem Schulgelände, mit einer Top-Down-Draufsicht als Grafikhintergrund.
  • Es gibt Geister in dieser Welt. (Später dann: verschiedene Arten von Geistern und Gruselgestalten.)
  • Mit einem Geister-Registrierungsgerät und Monitor im Smartphone-Format kann man diese Geister sichtbar machen. Ansonsten sind sie für das bloße Auge unsichtbar – sind ja auch Geister.
  • Zu bestimmten Zeiten tauchen an bestimmen Orten diese Geister auf, bleiben ein Weilchen, verschwinden dann wieder.
  • Zu jedem Geist gehören Zeichnung, Name, Hintergrundgeschichte.
  • Man selber spielt einen Geisterjäger, der mit dem Geister-Registrierungsgerät und Monitor („Gergemon“) diesen Geistern nachforscht und sie einfängt.
  • Das Gergemon kann sagen wir 20 oder 40 Geister beherbergen, dann muss man wieder Platz schaffen und die gefangenen Geister zur Auswertun schicken. Soll aber nicht zu sehr nach Labor und Tierversuchen an Geistern klingen. Mit dem Fangen und Verschicken von Geistern erhält man Wissenspunkte zu diesem speziellen Geistertyp, und kann so leichter Geister finden? besser verborgene Geister finden? stärkere? sie leichter fangen?
  • Die Positionsangaben sollen in echten Geokoordinaten angegeben werden.
  • Ob man die Geister auch gegeneinander kämpfen lassen kann: weiß noch nicht.
  • Wie man die Geister fängt: weiß noch nicht. Auf Knopfdruck oder mit einem Minispiel wie das Bällewerfen bei Pokémon Go?
  • Später kann man dann noch Karma-Knoten oder andere Dinge auf der Welt platzieren.
  • Die Geister haben einen Basiswert. Bei jedem Levelaufstieg eines Geistes steigt dieser um 1-6 Punkte. Man braucht darüber hinaus eine Methode, um sich gleich einen fertigen Geist des Levels n geben zu lassen.
  • Die Schülerinnen und Schüler sollen möglichst wenig mit dem GUI zu tun haben, das lediglich wenige Methoden zum Platzieren von Geistern bereitstellt; die Hauptarbeit besteht darin, Klassen für die Geister anzulegen, und zu entscheiden, wo welche wann auftauchen.
  • Kollisionskontrolle wird es erst mal keine geben, man kann also – simuliert – überall hin gehen

(Alternativ auch: Die Schulheinzelmännchen aus dem Deutschunterricht reaktivieren und deren Spuren auf dem Schulgelände verfolgen. Die treiben sich ja quasi auch verborgen auf dem Schulgelände herum. Und vielleicht doch mal nicht mit einem einfachen Kartenausschnitt als Hintergrund, sondern mit live vom Server geholten Daten aus dem Open-Street-Map-Projekt; da betreue ich gerade eine Studentenarbeit, die das für die 10. Klasse einsetzbar machen soll.)

Als Spielwelt habe ich diesen Grundriss der Schule genommen: bei einschlägiger urheberrechtlich geschützter Karte die Längen- und Breitengrade der Ecken notiert, und die Karte digital abgepaust, also mit dem Pinsel auf eine Ebene darüber gemalt und dann verfremdet. Ich kann mich noch nicht entscheiden, was besser aussieht, die linke oder die rechte Hälfte:

Grundriss der Schule, verfremdet

Die weißen Flecken sind die Gebäude, wo noch die Innenräume fehlen. Ist ja nur ein Prototyp. Und so sieht der Prototyp bisher aus:

 

Den mäßig aufbereitete Code gibt es für SVN hier: svn.code.sf.net/p/informatik/code/Gergemon

Zu tun am Protoyp ist noch viel. Der Basiscode war etwa 25% der Arbeit, 60% waren Design, und 15% allein die Mathematik dieser dämlichen Längen- und Breitengrade. Das Datum kann geholt (und beliebig gesetzt) werden, wird aber nur bei Bewegung aktualisiert. Sommerzeit geht noch nicht. Im Moment ist der Hintergrund einfach nur eine große Grafik, das ist für den Arbeitsspeicher gar nicht gut, besser wären Kacheln. Dann auch eine Minimap dazu? Und die Tastatursteuerung ändern.

Links:

Oberfläche des Pokémon-Simulators GeRGeMon

Computerspiele und was man mit ihnen macht

Screenshot Astro Smash

Ein Screen

– Früher unterschied man, also ich, die Computerspiele hinsichtlich ihrer – wir sagten wohl screens dazu. Die ersten Spiele hatten nur einen einzigen screen, also ein einziges Spielfeld: Bei Space Invaders, Astrosmash oder Missile Command kamen die Angreifer stets von oben, man selber konnte unten navigieren, nach links und rechts oder Varianten davon; schwieriger wurde das Spiel nur durch höhere Geschwindigkeit und eine größere Zahl an Angreifern.

Asteroids hatte auch nur einen screen, bot schon etwas mehr Freiheit: Man konnte sich frei im zweidimensionalen Spielfeld bewegen und es sogar verlassen – um dann auf der gegenüberliegenden Seite wieder zu erscheinen; der Spielbereich war grenzenlos, aber endlich.

Screenshot Astro Smash
Astrosmash, Intellivision (Mattel) 1981 – man steuert das Raumschiff unten links/rechts und schießt nach oben.

Mehrere und verschiedene Screens

Geschätzter waren damals Spiele mit mehreren, vielleicht sogar ganz verschiedenen Screens. Bei Pacman blieb das Spielprinzip gleich, aber die Karte änderte sich in jedem neuen Level, ähnlich bei Wizard of Wor. Congo Bongo hatte mindestens zwei Screens, Ghostbusters bestand aus drei völlig verschiedenen Spielen, wenn ich mich richtig erinnere, und Summer Games natürlich sowieso.

Scrolling

Noch mehr zu sehen boten Spiele, bei denen die Spielfigur mehr oder weniger zentral in der Mitte des Monitors blieb, wobei sich der Rest der Welt bewegte: vertikale Scroller wie erste Autorennspiele (Le Mans), horizontale Scroller wie Skramble oder diagonale wie Zaxxon. Zuerst waren diese Spiele nicht so interessant wie die mit mehreren Screens, aber das würde sich im Lauf der Entwicklung ändern.

Der Freiheitsgrad unterscheidet sich hier nach der Art des Scrollens. Bei manchen Spielen scrollt das Spielfeld immer in eine Richtung (nach rechts, nach oben, nach rechts oben), und der Spieler muss schauen, dass er hinterherkommt. Bei anderen Spielen scrollt das Spielfeld in einer Dimension (meist horizontal), und der Spieler kann selbst entscheiden, ob er gerade nach rechts oder links geht oder fliegt – so ist das bei Dracula, Defender, Choplifter.

Ein Scroller war Blue Max. Das Spiel scrollt zwar unerbittlich in eine Richtung, auch wenn der Spieler sich dabei innerhalb des Bildschirms relativ frei bewegen kann (links/rechts, hoch/herunter). Aber Zuckerl gibt es doch: Ab und zu tauchen Brücken in der zufällig generierten Landschaft auf, und ab und zu sind diese Brücken so weit in der Spielfeldmitte, dass man unter ihnen durchfliegen kann. Das bringt keine Punkte und misslingt oft, ist aber ein besonderes Vergnügen, weil es die Illusion erhöht, sich in einer Welt frei bewegen und auch zumindest scheinbar unvorhergesehene Spielzüge machen zu können.


(Blue Max 1983; Ton leider nicht synchron, aber ich wollte das dann nicht noch einmal aufnehmen)

Selten waren Scroller, bei denen der Spieler nicht nur die Geschwindigkeit bestimmen konnte, sondern auch die Scrollrichtung, und zwar in mehr als einer Dimension: Das ist dann die bisher größte Freiheit. Für heutige Spiele ist das normal, das man sich frei in einer zumindest zweidimensionalen Welt bewegt beziehungsweise die Welt sich um einen herum. Damals war das so beim Vektorgrafik-Panzerspiel Battlezone (1980) aus der Ego-Perspektive, und aus der Draufsicht etwa bei Miami Vice (1986), einem eher schwachen Auto-Verfolgungsjagdspiel, das aber immerhin schon so ein bisschen wie ein Vorläufer von Grand Theft Auto aussieht: Man bewegt sich frei in den Straßen einer Stadt und geht in (manche) Gebäude hinein. Insofern sehe ich Scroller als Vorläufer der heutigen Open-World-Spiele.

Spielszene Miami Vice
(Bild: Colt Seavers, Lizenz GFDL, weshalb auch der ganze Artikel hier unter GFDL steht)

Aber eigentlich sind diese Spiele, bei denen man sich frei in einer Welt bewegen kann, auch nichts anderes als One-Screen-Spiele, bei denen man halt immer nur einen Ausschnitt der Welt sieht. Das merkt man, wenn man sich die Gesamtkarte von Miami Vice ansieht:

Gesamtkarte Miami Vice
(Bild: Colt Seavers, Lizenz GFDL, weshalb auch der ganze Artikel hier unter GFDL steht)

Und doch, die Illusion von Freiheit ist groß. Dabei ist das nicht mal unbedingt beabsichtigt. Auto Racing für Intellivision (1979) ist ein Autorennspiel für 1-2 Spieler, bei dem man am Anfang eine von mehreren zur Verfügung stehenden Rennstrecken auswählt. Das Spiel scrollt in alle Richtungen, man kann sich also theoretisch völlig frei bewegen. Die nicht sehr manövrierfähigen Fahrzeuge müssen allerdings auf der Straße bleiben, oder dürfen jedenfalls nicht gegen die Bäume und Gebäude am Straßenrand fahren; Rasenfläche verlangsamt die Autos nur. Wenn ein Spieler zu langsam wird und der andere so viel Vorsprung hat, dass er allein den Bildschirmrand erreicht, gewinnt dieser die Runde. Es ist also entschieden nicht vorgesehen, sich von der Straße zu entfernen.

Aber wie viele andere Spieler fanden mein Bruder und ich damals heraus, dass man das durchaus machen kann. Und dass man auf diese Weise sogar die gewählte Strecke verlassen und auf die anderen Strecken gelangen kann! Denn die Strecken existieren nicht einzeln für sich, sondern in einer gemeinsamen, verbundenen Spielwelt. Man kann Strecke A verlassen, an den Bäumen und Geböuden vorbei, um auf Strecke B zu kommen, und alle anderen Strecken auch. Das war damals sensationell! Und es zeigt wieder einmal: Computerspiele sind nicht nur Spiele, sondern vor allem auch Spielzeug, mit dem man experimentieren und das man zweckentfremden kann.


(Ton schon wieder nicht synchron, Entschuldigung)

David hat in The Exploring Auto Racing Project die gesamte Welt von Auto Racing abgefahren und als Karte zusammengestellt.


Neues Thema

Nichts gegen Papert, er war ein Pionier. Aber: Das Zitat scheint mir arg veraltet. „Video games“? So hieß das sehr früher mal. Und natürlich werden Computerspiele nicht damit beworben, wie leicht sie sind. Aber in den letzten zehn Jahren hat sich mit der Verbreitung von Handy und Tablet das casual gaming entwickelt, und da ist gerade der Punkt, dass diese Spiele sehr leicht sind. Dazu kommt, dass man für jeden Kram eine Medaille („Badge“) kriegt. Und selbst für echte Computerspiele gilt, dass sie fast alle sehr viel leichter geworden sind in den letzten dreißig Jahren. Tutorials, Richtungspfeile, Speichermöglichkeit, Hinweise auf empfohlene Aktionen – das gab es früher alles nicht, als die Dinger von „video games“ hießen. Dazu kommt, dass einem unzufriedene Schüler möglicherweise zwar vielleicht erzählen, dass der Grund für ihre Unzufriedenheit die Langeweile ist – dass das aber nicht unbedingt stimmen muss. Wer gesteht sich schon gerne eine, dass die Schule zu schwer ist? Da weicht man lieber auf die Langeweile aus.

Kritik an der Schule: Unbedingt, aber auch die Details müssen stimmen. Und natürlich muss die Schule neidvoll auf Computerspiele schauen. Wieviel sie sich wirklich davon abgucken kann, das ist eine andere Frage.


Noch ein neues Thema

@ciffi twitterte neulich so, und eine sehr kurze Diskussion entstand:

Tweet zu Computerspielen

Es ging wohl darum: Spielen jugendliche Gewalttäter Killerspiele nach? Eigentlich, so meinen einige, müssten sie es dann auf gegenseitiges Beschießen anlegen und nicht auf das wahllose Töten unbewaffneter Unbeteiligter.

Ich kenne die heutigen Egoshooter nicht. Doom und Quake habe ich gerne gespielt; da waren die Gegner tatsächlich nicht sehr intelligent und für mich eher passive Gestalten. Heute ist das wohl anders, aber ich habe nie Counterstrike, Call of Duty oder Metal Gear Solid gespielt. Außeriridische und Monster: kein Problem, aber Schießspiele mit Menschen als Gegner widerstrebten mir schon immer und tun es noch. Für schädlich halte ich sie allerdings nicht.
Wie übertragbar ist die Situation dieser Schießspiele auf die reale Welt? Schon einigermaßen, denke ich, aber die Geschichte ist doch eine ganz andere.

Modulares Geschichtenerzählen in Java, Fortsetzung

(Fortsetzung von hier, wo ich Sunless Sea beschrieben habe. In der ersten Hälfte geht’s ums Prinzip, in der zweiten wird es dann immer technischer.)

Das modulare Prinzip, nach dem in eine bestehende Spielwelt kleine Missionen oder Geschichten eingebaut werden, würde ich gerne für ein Programmierprojekt in der Schule nutzen. Dazu erschafft man gemeinsam eine Fantasy-Welt oder nimmt eine von mir vorgegebene. Die Welt besteht aus vielen Orten, zwischen denen man reisen kann, modelliert als Graph. Jeder Ort hat einen Namen und eine schön geschriebene Beschreibung, jede Verbindung eine Distanz, später können dann gerne noch andere Attribute dazu kommen.

Außerdem sollen Schülerinnen und Schüler so einfach wie nötig Geschichten schreiben können, die in dieser Welt spielen. Wenn man dann eine Klasse von 30 Schülern hat, kriegt man sicher ein Dutzend Geschichten, die man in die Welt setzen kann, und nach und nach können es auch mehr und kompliziertere werden. Aber für den Anfang reichen einfache.

Letztlich ist das auch nichts anderes als das, was man vielleicht mit einem Leveleditor macht, um neue Levels für ein bestehendes Spiel zu erstellen. Aber hier finde ich das einfacher (und als Sprachlehrer reizvoller) dadurch, dass die geschichten vor allem aus Text bestehen und nicht aus der Platzierung von Mauern, Schatzkisten, Waffen, Monstern. Das macht das Programmieren leichter, glaube ich, und erfordert aber mehr kreatives Schreiben.

Schauen wir uns dazu die im letzten Blogeintrag erwähnte Geschichte von Mr Sacks an, dem dunklen Weihnachtsmann. „The Crimson Beast of Winter stirs in your hold…“ In seinem Blog stellt der Autor der Geschichte, Richard Cobbett, sie kurz vor. (Hier schreibt er zur von ihm geschriebenen Affeninsel. Und, auch interessant, hier die Writer Guidelines, nach denen die verschiedenen Autoren Geschichten für die Welt von Sunless Sea schreiben.)

(Es folgen Spoiler, sollte klar sein.)

  1. Sobald man am Nordpol-Äquivalent gewesen ist, wird bei der nächsten Ankunft in London die Geschichte ausgelöst
  2. In London macht Mr Sacks einem ein Angebot: Man muss ihn der Reihe nach an drei Orte seiner Wahl bringen. Danach werde man belohnt, es sei aber nicht ungefährlich. Dazu schöne, kurze Prosa über ihn als übernatürliche Schreckensgestalt, der Geschenke einfordert und Übel hinterlässt. Ein einzelner Reiter der Apokalypse sozusagen.
  3. Das Angebot kann man annehmen oder nicht oder die Entscheidung vertagen.
  4. Nimmt man es an, erfährt man das erste Ziel. Genauer gesagt: Man hat die Wahl zwischen zwei Zielen.
  5. Bringt man Mr Sacks zu einem der beiden Orte, kann man ihn seine Geschenke dort abladen lassen oder nicht oder die Entscheidung vertagen.
  6. Führt er seine böse Tat aus, gibt es wieder etwas Prosa, und man erfährt das nächste Ziel beziehungsweise die nächsten zwei Zielmöglichkeiten.
  7. Bringt man Mr Sacks zu einem der beiden Orte, kann man ihn seine Geschenke dort abladen lassen oder nicht oder die Entscheidung vertagen.
  8. Führt er seine böse Tat aus, gibt es wieder etwas Prosa, und man erfährt das letzte Ziel: den Nordpol, wo man ihm bei einem Ritual helfen soll.
  9. Auf dem Weg dorthin, auf See, erhält man eine Nachricht vom Ministerium und eine Flüssigkeit, mit der man das Ritual sabotieren kann.
  10. Bringt man Mr Sacks zum Nordpol, hat man die Option, ihn sein Ritual ausführen zu lassen oder es zu sabotieren. In einem der beiden Fälle wird eine neue Geschichte ausgelöst.
  11. Beim nächsten Besuch in London wartet ein Geschenk von Mr Sacks auf einen. (Eventuell abhängig vom Verhalten zuvor? Das weiß ich nicht, ich habe ja nicht alle Varianten durchgespielt.)
  12. Außerdem: Während dieser Mission erhält man, mehr oder weniger zufällig oder zeitabhängig, jedenfalls nicht bewusst vom Spieler ausgelöst, drei Besuche vom ungeduldiger werdenden Mr Sacks. Die ersten beiden Mal kann man ihn hinhalten, das dritte Mal nicht.

Diese Geschichte riecht nach der Modellierung mit einem Zustandsdiagramm. Warum? Weil es mir sinnvoll erscheint, weil Zustandsdiagramme und deren Umsetzung im Lehrplan für 10 und 12 stehen, und weil ich gar so viele andere Modellierungsmöglichkeiten überhaupt nicht kenne.

Der nackte Zustandsautomat

Ein erstes Diagramm zur Modellierung der Situation oben könnnte so aussehen:

sunless_sea_zustaende

Die Bedeutung der Zustände:

  • Z0: Die Geschichte beginnt, der Auftrag steht im Raum. Man hat die Wahl, ob man ihn annimmt, ablehnt oder erst mal abwartet. Wenn man abwartet, passiert nichts; wenn man ablehnt, landet man im Zustand Z5, wenn man annimmt, in Zustand Z1.
  • Z1: Man hat den Auftrag angenommen, aber noch nichts erfüllt. Man hat die Wahl, Mr Sacks und seine Geschenke in Ziel 1 abzuliefern oder nicht. Man hat, weil das so sein soll ist, nicht mehr die Möglichkeit, aus dem Geschäft auszusteigen und in Zustand Z5 zu kommen.
  • Z2: Man hat das erste Ziel bereits erreicht, das zweite noch nicht, und hat die Wahl, Mr Sacks in Ziel 2 abzuliefern oder (erst mal) noch nicht.
  • Z3: Man hat das zweite Ziel bereits erreicht, den Nordpol noch nicht, und hat die Wahl, Mr Sacks am Nordpol einfach abzuliefern (dann ist man in Zustand Z4) oder sein Vorhaben dort zu sabotieren (dann ist man in Zustand Z5).
  • Z4: Man hat Mr Sacks wunschgemäß abgeliefert, aber seine Belohnung – von der man noch nichts weiß – noch nicht in London abgeholt. Sobald man das tut, landet man in Zustand Z5.
  • Z5: Die Geschichte ist beendet und wird nicht mehr angezeigt. Es gibt drei Möglichkeiten, wie man in diesen Zustand gelangt.

Die Bedeutung der Zustandsübergänge:

  • Von den meisten Zuständen aus kann man in andere Zustände übergehen, abhängig von auslösenden Aktionen. Ich habe die Aktionen hier „annehmen, abwarten, ablehnen“ und so weiter genannt.

Die schwarzen Angaben sind ausgelöste Aktionen, die bei dem Zustandsübergang zusätzlich oder nebenbei ausgeführt werden:

  • So soll die Furcht des Spielers um 5 steigen, wenn man den Auftrag annimmt, und wenn man den ersten Schritt ausführt.
  • Die Furcht des Spielers um 10 steigen, wenn man den Auftrag ablehnt, und wenn man den zweiten Schritt ausführt.
  • Die Furcht soll um 10 sinken, wenn man Mr Sacks sabotiert hat, und um 20 sinken, wenn man ihn nicht sabotiert hat.
  • Wenn man seine Belohnung in London abholt, erhält man 20 Geld.

Anmerkungen:

  • Die ausgelösten Aktionen können wesentlich komplexer sein, die Werteänderung ist nur ein Beispiel.
  • Mein erster Versuch hatte übrigens zwei Zustände mehr, bis ich merkte, dass es ja nur einen enzigen Endzustand braucht, egal wie man dorthin kommt.
  • Außerdem kann man in so ein Diagramm auch noch Bedingungen einfügen, die bei einem versuchten Zustandsübergang erfüllt sein müssen. Dass man irgend etwas Bestimmtes mit sich führt, vielleicht. Die habe ich der Einfachheit halber weggelassen.
  • Und was ist mit den drei Erscheinungen von Mr Sacks, mit der letzten, tödlichen? Die habe ich vorerst auch weggelassen. Weglassen ist oft eine gute Idee. Aber ich würde sie ohnehin nicht mit einem Zustandsautomaten umsetzen. Man bräuchte dann nämlich Z1 in zwei Varianten, also Zuständen, für erste und zweite Warnung, und Z2 und Z3 ebenso, und vielleicht einen letzten Zustand für die dritte Warnung. Das wäre mir zu umständlich, stattdessen würde ich ein Attribut „Mr Sacks Ungeduld“ einführen und das nach und nach erhöhen (ausgelöst von einem Timer?) und unabhängig von den anderen Zuständen etwas bewirken lassen. Aber erst mal weglassen.
  • Auch der Sabotageauftrag des Ministeriums fehlt. Den könnte man sicher als Zustand modellieren. Aber letztlich ändert sich nicht wirklich etwas am Zustand, es gibt auch keine Wahlmöglichkeit für den Spieler, und deshalb lasse ich das sein. Das Erscheinen des Boten ist eher eine zusätzlich ausgelöste Aktion, die beim Übergang von Z2 nach Z3 automatisch ausgelöst wird, wenn auch mit zeitlicher Verzögerung.

In Java würde man diesen Automaten so implementieren (Stoff der 10. und 12. Jahrgangsstufe am Gymnasium in Bayern, fällt Schülerinnen und Schülern nicht schwer):

public class MrSacks  {
    int state = 0;
    /* states:
     * 0 on offer
     * 1 accepted
     * 2 first package delivered 
     * 3 second package delivered
     * 4 successful north pole
     * 5 story finished
     */
 
    void receiveMessage(String message) {
        if (state==0) {
            if (message.equals("annehmen")) {
                state = 1;
                furchtErhoehen(5); 
            }
            else if (message.equals("ablehnen")) {
                state = 5;
                furchtErhoehen(10);                
            }
        }
        else if (state==1) {
            if (message.equals("abliefern")) {
                state = 2;
                furchtErhoehen(5);
            }
        }
        else if (state==2) {
            if (message.equals("abliefern")) {
                state = 3;
                furchtErhoehen(10);
            }
        }
        else if (state==3) {
            if (message.equals("abliefern")) {
                state = 4;
                furchtErhoehen(-20);
            }
            else if (message.equals("sabotieren")) {
                state = 5;
                furchtErhoehen(-10);
            }
        }
        else if (state==4) {
            if (message.equals("abholen")) {
                state = 5;
                geldErhoehen(20); 
            }
        }
    }
}

Wenn man die Methode receiveMessage jeweils mit den richtigen Argumenten aufruft, durchlebt man quasi die Stationen der Geschichte. Allerdings ist das ja nur das nackte Gerüst der Geschichte. Lebendig und verständlich wird sie erst durch Text, und der fehlt noch.

Der Text der Geschichte

Wir haben: eine Methode, die abhängig von einer Nachricht und dem aktuellen Zustand die Zustände ändert und eventuell noch anderes auslöst.

Wir brauchen: eine Methode, die abhängig vom aktuellen Zustand und dem aktuellen Ort dem Spieler einen bestimmten Text anzeigt und (mehrere) Entscheidungsmöglichkeiten anbietet – und wenn sich der Spieler für eine Möglichkeit entscheidet, muss das unserer ersten Methode kommuniziert werden, damit die Entscheidung dann auch ausgeführt werden kann. Das wird etwas komplizierter.

Zentral ist für mich die Klasse Report. Ein Report ist der Bericht einer Geschichte zu einem bestimmten Ort im Spiel, zu einem bestimmten Zeitpunkt, also abhängig vom Zustand der Geschichte. Ein Report enthält eine kurze Beschreibung einer Situation und beliebig viele Optionen. Aus diesen Optionen werden dann später zum Beispiel die Knöpfe, mit denen der Spieler Entscheidungen treffen kann. Eine Option (ein Knopf) erhält einen Text (eine Beschriftung, die der Spieler sieht) und eine Message (eine Nachricht, die der Spieler nicht sieht, die aber losgeschickt wird, sobald der Spieler sich für diese Option entscheidet).

sunless_report
So könnte der View einen Report darstellen. Oder ganz anders: Hauptsache, er hat alle nötigen Informationen dazu.

Wenn der Spieler an einem Ort ankommt, werden alle mit dem Ort verbundenen Stories gebeten, einen Report abzugeben. Der kann auch mal null sein, wenn es zu diesem Zeitpunkt nichts zu sagen gibt. Alle Reports zu diesem Ort werden vom Model gebündelt und an den View geschickt, damit der die Reports darstellen kann. Dazu hat der View eine Methode showReports. Mehr braucht es erst mal nicht. Der View legt zum Beispiel für jeden Report einen eigenen Absatz an, und am Ende jedes Reports wird für jede Option des Reports ein Knopf mit einer Nachricht dahinter angelegt, den der Spieler drücken kann.

Im vereinfachten Klassendiagramm, noch ohne Darstellung der Bewegungsmöglichkeiten, sieht das so aus:

sunless_classes

Und in Java wäre die Methode für die Geschichten-Klasse dann so:

    Report createReport(String location) {
        Report r = null;
        if (location.equals("London")) {
            if (state==0) {
                String message = "Hohoho! Willst du mich an drei Orte meiner Wahl bringen?";
                Option o1 = new Option("Ja","annehmen");
                Option o2 = new Option("Nein","ablehnen");                
                Option o3 = new Option("Später","abwarten");                
                r = new Report("Weihnachtsmonster", message, o1, o2, o3);
            }
            else if (state==4) {
                String message = "Der Weihnachtsmann hat dir ein Geschenk dagelassen. Willst du es öffnen?";
                Option o1 = new Option ("Ja", "abholen");
                r = new Report("Weihnachtsmonster", message, o1);
            }
        }
        else if (location.equals("Anaheim")|| location.equals("Argentinien") ) {
            if (state==1) {
                String message = "Hohoho! Ist es in Ordnung, wenn ich mein dunkles Geschenk hier abgebe?";
                Option o1 = new Option("Ja","annehmen");
                Option o2 = new Option("Nein","abwarten");
                r = new Report("Weihnachtsmonster", message, o1, o2);
            }
        }
        else if (location.equals("Beorns Halle") || (location.equals("Britannien"))) {
            if (state==2) {
                String message = "Hohoho! Ist es in Ordnung, wenn ich mein dunkles Geschenk hier abgebe?";
                Option o1 = new Option("Ja","annehmen");
                Option o2 = new Option("Nein","abwarten");
                r = new Report("Weihnachtsmonster", message, o1, o2);
            }
        }
        else if (location.equals("Nordpol")) {
            if (state==3) {
                String message = "Du hast die Gelegenheit, dem Weihnachtsmonster zu helfen oder seine Pläne zu sabotieren.";
                Option o1 = new Option("Helfen","abliefern");
                Option o2 = new Option("Sabotieren","sabotieren");
                r = new Report("Weihnachtsmonster", message, o1, o2);
            }
        }
        return r;
    }

Natürlich wird die Geschichte besser, wenn man mehr Reports einbaut. Und was noch fehlt, sind Antworten des Weihnachtsmann, durch die man überhaupt erst erfährt, dass man zuerst nach Anaheim oder Argentinien, danach zu Beorns Halle oder nach Britannien, und danach zum Nordpol muss. Gemach, gemach.

Soweit, wie ich das jetzt geschildert habe, existiert auch ein Prototyp. Funktioniert, einschließlich der automatischen Anzeige von Bewegungsmöglichkeiten: für jeden Nachbarort einen Knopf, der einen nach dem Klick dorthin befördert. Die Reports werden in einer TabbedPane angezeigt, also mit kleinen Reitern oben. (Scrollbarer Text wäre eine Alternative.) Jeder Report hat unten die Buttons mit den Optionen.

Mein Hauptproblem ist noch Folgendes. Ich finde es sehr unelegant, zwei verschiedene, aber doch ähnliche Methoden zu haben. Methode 1 (createReport), um dem Spieler anzubieten, was er für Aktionen auslösen kann. Methode 2 (receiveMessage), um die Entscheidung des Spielers dann umzusetzen. Das Bindeglied ist ist message, die letztlich mittelbar von Methode 1 gesendet und von Methode 2 empfangen wird:

sunless_mein_problem

Am liebsten hätte ich nur eine Methode, Methode 1 (createReport), in der schon unmittelbar drinsteht, was ausgeführt werden soll, wenn der Spieler sich für eine Option entscheidet. Dazu müsste ich entweder Funktionen als Argumente übergeben, was mit Java inzwischen wohl geht, ich aber nicht weiß, ob ich das mit Schülern machen soll. Oder ich müsste ein Objekt einer anonymen inneren Klasse anlegen (zu einer Unterklasse von, sagen wir, Result, mit einer zu überschreibenden execute-Methode). Dann bräuchte ich allein Methode 1 (createReport), und die Optionen, die dem Report als Möglichkeit übergeben würden, sähen dann so aus:

Report createReport(String location) {
    Report r = null;
    if (location.equals("London")) {
        if (state==0) {
            String message = "Hohoho! Willst du mich an drei Orte meiner Wahl bringen?";
            Option o1 = new Option("Ja", new Result() {
                      @Override public void execute() {
                          state = 1;
                          furchtErhoehen(5);                                                
                      }
                  } );
            Option o2 = new Option("Nein", new Result() {
                      @Override public void execute() {
                          state = 5;
                          furchtErhoehen(10);                                                
                      }
                  } );
            Option o3 = new Option("Später", new Result());                
            r = new Report("Weihnachtsmonster", message, o1, o2, o3);

Ist das für Schüler leichter verständlich als das mit den zwei separaten Methoden? Der Report landet dann letztlich beim View, zusammen mit den verschiedenen Optionen, zu deren jeder ein Objekt der anonymen Result-Unterklasse gehört, und wenn der entsprechende Knopf gedrückt wird, wird die execute-Methode dieses Objekts ausgeführt. Der Controller wird dabei gar nicht mehr gefragt.

sunless_report_alternative

Mit den anonymen Unterklassen geht das ganze übersichtlicher und für die Zukunft auch flexibler, deswegen gefällt mir das besser.
Aber ich sehe die Gefahr, dass die Schüler dann einfach unverstandenen Code abtippen, und das ist ja auch wieder nicht das Ziel.


Vielleicht kann ich das Ende des Schuljahres mit meiner 10. durchspielen. Man könnte die typische Heldenreise damit modellieren oder die Odyssee. Weltraumfahrten oder neblichtes London, die zwölf Heldentaten des Herakles. Eine kleine Gruppe implementiert die Welt, mit schönen Beschreibungen für jeden Ort, Bildern und Musik dazu. Die anderen schreiben Geschichten. EIne Geschichte gebe ich als Beispiel vor. Und dann vielleicht doch noch ein Handelssystem? Gegenstände, die der Spieler mit sich führen kann, auch als Token dafür, dass er schon bestimmte Dinge erledigt hat?

Nachtrag: Ja, das geht auch ohne anonyme Klassen in einer einzigen Methode! Aber die wird dadurch sehr unübersichtlich. Auch keine Lösung.

Nachtrag: Hier geht es zum fertigen Projekt (2017).

Was ich gerade spiele und warum: Sunless Sea

Kurzfassung: Ich spiele gerade viel Sunless Sea, und wenn ich überhaupt spiele, was nicht mehr so oft vorkommt, dann meist mit dem Hintergedanken, wie ich das Spiel für die Schule ausschlachten kann. Und bei diesem Spiel hatte ich eine schöne Idee.

Der Inhalt ist nicht verfügbar.
Bitte erlaube Cookies, indem du auf Übernehmen im Banner klickst.

Vorab: Auf dieses Spiel bin ich gekommen, weil ich zwei sehr empfehlenswerte Feeds abonniert habe. Das ist einmal http://planet-if.com/, ein Aggregator verschiedener Blogs, die sich mit Interactive Fiction beschäftigen. Da geht es um textbasierte Spiele jeglicher Art: Textadventures, historische und neue, browserbasierte Anklickspiele, aber auch reine Erzählspiele ohne Computer – alles, was mit Text zu tun hat. Da sind regelmäßig wieder lesenswerte Sachen dabei. So kriege ich wenigstens mit, über was gerade geredet wird. Sunless Sea war im letzten Jahr so eine Sache.
Außerdem lese ich http://www.gamasutra.com/features. Da gibt es immer wieder Analysen von alten und neuen Spielen, grundsätzliche Überlegungen bei der Entwicklung von Computerspielen, kurze Essays zu bestimmten Aspekten. Ein Aufsatz dort mit Gedanken zu modular storystelling hat mich dann dazu bewogen, mir Sunless Sea zu kaufen.

Der Hintergrund von Sunless Sea klingt einigermaßen bizarr: Wir schreiben das späte 19. Jahrhundert, und vor dreißig Jahren holte ein Haufen Fledermäuse die gesamte Stadt London einige Kilometer in die Unterwelt. (Königin Victoria hatte London dorthin verkauft, um ihrem Ehemann das Leben zu retten.) Dort sitzt Fallen London jetzt, am Ufer eines unterirdischen Ozeans. Es gibt Teufel aus der noch tieferen Unterwelt, man treibt Handel mit Seelen und anderen Dingen, Kohle ist billig, Fortschritte in Technologie und Dämonologie haben die Anpassung an das Leben unter der Erde erleichtert. Es gibt verschiedene Gruppierungen, die nach Einfluss streben; der Ozean ist voller Inseln mit mehr oder weniger schräger Bevölkerung, und man selbst spielt einen Seemann oder eine Seefrau, die diese Unterzee navigieren.

Tatsächlich stammt dieses Setting aus dem Vorgängerspiel, Fallen London. Das war ein erfolgreiches reines textbasiertes Browserspiel. Sunless Sea ist auf den ersten Blick klassischer, ein 2D-Spiel aus der Vogelperspektive. Man fährt mit dem Schiff von Hafen zu Hafen, entdeckt neue Inseln, kann Handel treiben und mit dem Geld, das man dabei verdient, seine Bewaffnung oder seinen Schiffsmotor verbessern oder gleich ein neues Schiff kaufen.
Das ist bereits reizvoll. Computerklassiker wie Elite sind ja auch vor allem Erkundungs- und Handelsspiele. Und meine erste Rollenspielkampagne zu Traveller, einem Science-Fiction-Rollenspiel und Vorbild für Elite, scheiterte letztlich daran, dass das Rollenspielelement immer weniger wichtig wurde. Es machte einfach so viel Spaß, zu neuen Planeten zu fliegen, den dortigen Handelskurs zu erwürfeln und günstig ein- und anderswo zu verkaufen. Wer brauchte da noch Rollenspiel?

Natürlich funktioniert das vor allem dann, wenn die Atmosphäre stimmt. Und die ist sehr stimmungsvoll. Weite Passagen fährt man einfach durch die Dunkelheit, achtet darauf, dass Treibstoff und Lebensmittel nicht ausgehen. Nebenbei muss man Piraten ausweichen und See-, Verzeihung, Zeeungeheuern, und muss aufpassen, dass man nicht zu viel Zeit in der Dunkelheit verbringt. Denn dann steigt an Bord die Furcht vor dem monströsen Welt bis in den Wahnsinn – Seeleute springen über Bord, es kommt zu Meuterei. Ohne Treibstoff kann man vielleicht noch etwas Ladung verheizen; ohne Lebensmittel beginnt man mit den Mannschaftsmitgliedern zu liebäugeln, vielleicht erlegt man ja auch noch rechtzeitig ein Zeeungeheuer. Hat man es bis zur nächsten Anlegestelle geschafft, kann man dort vielleicht das Nötigste einkaufen oder Handel treiben.

Wie gesagt, das ist bereits leidlich unterhaltsam, da amüsant schräg, und Handeln & Entdecken geht immer. Aber das würde wahrscheinlich nicht reichen, um mich länger bei einem Spiel zu halten. Ich spiele ohnehin kaum mehr ein Spiel zu Ende. Jedes Spiel der letzten Jahre war bei mir ein Wettlauf zwischen der Neugier auf die Fortsetzung der Geschichte (erleichtert durch die Tatsache, dass sich Geschichten in Computerspielen in kleinen, leicht zu erreichenden Schritten entwickeln) und der Erkenntnis, dass selbst ein atmosphärisches Spiel wie L.A. Noire nichts weiter ist als das Herumschubsen von Zahlen. Da verbringt man Stunde um Stunde vor dem Rechner, damit ein paar 0er und 1er von der einen Speicherzelle in die andere kommen, und gerade bei Handelsspielen sieht man sich buchstäblich die Zahlen mühsam manuell transportieren.

— Andererseits, kleiner Exkurs: Gilt das nicht für alles im Leben? A tale told by an idiot, full of sound and fury, signifying nothing? Macht nicht die eine Zahl mehr oder weniger in der Speicherzelle dann doch einen großen Unterschied? Hier ein Cartoon, der mein Weltbild dazu recht gut wiedergibt.

sunless_sea

Jetzt die Hauptsache:

Was Sunless Sea wirklich interessant und überhaupt erst zu einem dann doch textbasierten Spiel macht, sind die vielen Geschichten. DasFahren zwischen den Häfen ist ja ganz nett, aber der Kern spielt sich in den Häfen ab. Dort warten kleine Dialoge mit Fortsetzungsgeschichten auf den Spieler.

  • Da ist diese eine Insel, die von von intelligenten Ratten bevölkert wird, die sich zwischen jedem Besuch weiterentwickeln und Rat suchen. (Kolonialismus, anyone? Andere Geschichte.) Wenn man die Insel besucht, erhält man einen kurzen Bericht über den aktuellen Status dort und die Option, lenkend in die Handlung einzugreifen. Beim nächsten Mal liest man dann, wie es den Ratten inzwischen ergangen ist, und erhält weitere Optionen.
  • Oder die Affeninsel, deren Bewohner einen Zeppelin bauen wollen und dafür Material vom Spieler geliefert bekommen.
  • Oder der Bordoffizier, der eine tragische Vergangenheit hat und den man an verschiedene Orte transportieren und mit einer Auswahl an Handelswaren ausstatten muss, um nach und nach seine Geschichte zu erfahren und fortzuschreiben.
  • Oder die Bordoffizierin, die nach ihrer Mutter sucht, die irgendwo auf einer der Inseln sitzt.
  • Oder die Gruft-Touristen, die in ihren Särgen noch einmal eine kleine Rundreise machen wollen. (Alternativ: Kann man sie nicht etwa doch auf der Spinneninsel aussetzen?)

Man will jeweils lesen, wie die kleinen Geschichten weitergehen, von denen es viele, viele Dutzend gibt. Dazu muss man man – eventuell mit den notwendigen Materialien – zur richtigen Zeit am richtigen Ort sein, und das mehrfach hintereinander. Und das alles will man vor allem dann, wenn die Geschichten gut geschrieben sind.

Modulare Geschichten

Was jetzt kommt, ist nicht neu und gilt wohl für Spiele wie Grand Theft Auto genauso. Aber ich hatte mir noch nie Gedanken dazu gemacht. Was bei GTA Missionen sind, heißt bei Sunless Sea „Storylet“. Und solche Geschichten kann man nachträglich und so unabhängig von anderen Geschichten, wie man will, in das Spiel einbauen.

Da ist zum Beispiel die Geschichte von Mr Sacks, die Weihnachten 2015 in die bestehende Welt hinzugeladen wurde. Plötzlich gab es, wenn man in London anlegte, eine neue Option: Mr Sacks machte einem ein Angebot. Mr Sacks, eine dunkle Parodie auf den Weihnachtsmann, der London in Schrecken versetzt. Technisch war es nur ein einfacher Auftrag, den man annehmen und vermutlich auch ablehnen konnte; Mr Sacks versprach reiche Belohnung dafür, dass er der Reihe nach an drei Orte gebracht würde, um dort… Geschenke abzugeben, dunkle, düstere Geschenke… An den ersten beiden Orten erfährt man von den Gaben von Mr Sack, danach will er an den Nordpol gebracht werden, um ein dunkles Ritual abzuhalten. Zu diesem Zeitpunkt hat man die Wahl, das Ritual auf eine bestimmte Art zu sabotieren oder nicht, und wenn man das nicht macht, entsteht eine neue kleine Geschichte, die von dem Menschenwesen aus Eis geboren, das an bestimmte Orte gebracht und mit bestimmten Dingen versehen werden muss, um das Schmelzen aufzuhalten – aber hier geht es erst einmal nur um Mr Sacks selber. Wenn man sich mit dessen Reise übrigens zu viel Zeit lässt, gibt es Probleme; dreimal wird, mehr oder weniger zufallsgesteuert, Mr Sacks ungeduldig; zweimal kann man ihn hinhalten, aber wenn man beim dritten Mal noch nicht am Nordpol war, dann macht einem der Weihnachtsmann den Garaus.

Zusammengefasst:

  • Man hat eine mehr oder wenige spannende Welt.
  • Am Anfang wird die Welt mit einer bestimmten Anzahl von kleinen Geschichten ausgeliefert. „Missionen“ in anderen Spielen, textbasierte „Storylets“ in diesem Spiel. Dazu gehören auch wiederkehrende Routinegeschichten wie die Auftragsarbeiten für den Admiral in London: Dokumente in einem zufälligen Hafen abholen und zu ihm bringen.
  • Aber es gibt eben auch die Möglichkeit, nach und nach weitere Geschichten in die Welt zu intergrieren. Mr Sacks zur Weihnachtszeit. Davor die Affeninseln. Ein neuer Offizier mit einer Hintergrundgeschichte.
  • Dieses Prinzip heißt: Modulares Geschichtenerzählen.

Das müsste doch auch irgendwie für die Schule nutzbar sein, dachte ich mir. Man hat eine gemeinsame Welt, und jede Schülerin oder jedes Schülerteam entwirft eine Geschichte in dieser Welt. Einfache Kurierdienste, letztlich, aber durch gutes Schreiben spannend gemacht, so wie bei Mr Sacks.

Durchgeführt habe ich das noch nicht, aber Gedanken dazu. (Fortsetzung folgt.)

Call of Cthulhu: Rollenspiel in der Schule

Im aktuellen Süddeutschen Magazin steht ein langer Beitrag über eine Rollenspiel-Schule in Dänemark, ich bin noch nicht zum Lesen gekommen, hole das aber nach. Von der Schule selber weiß ich schon was, in einem Buch habe ich einen Aufsatz dazu gelesen, nachdem mich ein Artikel im Magazin LARPZeit darauf gebracht hatte (Blogeintrag 2010).

Aber hier soll es heute um das klassische Pen&Paper-Rollenspiel gehen, oder, wie es früher hieß, „Rollenspiel“. Das musste man damals zwar bei jeder Erwähnung abgrenzen von jenen Rollenspielen, die man aus dem Jugendarbeitsworkshop oder anderen Treffen in Pfarrheimen kannte, aber anderes gab es nicht. Heute denken viele an LARP, das zumindest unter Schülern bekannter sein dürfte als klassisches Pen & Paper. In meinem W-Seminar zu Horror und Grusel ging es – natürlich – auch um H. P. Lovecraft, und damit dann auch zumindest in einem Nebensatz um das Rollenspiel, das nach seiner bekanntesten Kurzgeschichte benannt ist (auch wenn es stilistisch eher zu „The Dunwich Horror“ passt) und das maßgeblich für die Allgegenwart von HPL in der heutigen Populärkultur verantworlich sein dürfte: Call of Cthulhu.

(Hier ein ausgezeichneter und ausführlicher Artikel zur Entstehungsgeschichte von CoC und dessen maßgeblichen Autor, Sandy Petersen, der zehn Jahre später eine große Zahl der Levels von Doom entwarf, und wir wissen ja alle, welche Rolle Doom in der Geschichte der Computerspiele spielt.)

Neu an CoC war vor allem der Gedanke, das Spielfiguren nicht nur sterben, sondern auch wahnsinnig werden können. Körperliche Verletzungen war man aus anderen Spielen gewohnt, die heilten spätestens bis zum nächsten Treffen wieder. Bei CoC verloren die Spieler bei jedem grausigen oder übernatürlichen Erlebnis ein wenig von ihrem Zustand geistiger Stabilität, und wieder auffrischen konnte man das nur teilweise. Generell war jede Figur nach einem Spiel ein wenig angegriffener als zuvor. Dazu kam, dass die Höchstmenge an geistiger Stabilität abhängig war vom Wissen über das Lovecraft-Universum: wer viel alte Bücher liest, lernt viel, und ist fragiler. Und so traut man sich als Spieler gar nicht erst in dunkle Zimmer hinein, zieht den Vorhang lieber nicht zurück, flüchtet lieber gleich als zu genau hinzusehen – sehr stimmungsvoll.

Jedenfalls wollten einige Schüler wissen, wie das so geht mit dem Rollenspiel, und fragten, ob wir nicht mal eine Runde spielen könnten. Also gut.

coc_schule_rollenspiel

Vier Spieler, ich als Spielleiter, 120 Minuten. Call of Cthulhu, Spielzeit: 1928. Das reicht gerade mal für einen Einstieg, üblicherweise dauert eine Partie vier Stunden, oder sechs, und zwar auch eher zwei oder drei solcher Sitzungen, oder acht. Es geht bei CoC ja auch ganz langsam los: Die Figuren kriegen erste Anzeichen geheimnisvoller Vorgänger, recherchieren, kriegen eine erste Warnung, haben es mit den ersten menschlichen Gegnern zu tun (wahnsinnigen Kultisten etwa), dann vielleicht ein klitzekleines scheinbar übernatürliches Phänomen (vulgo: Monster), und ganz am Ende, nach einem halben Jahr Spielzeit, trifft man vielleicht auf eines der ganz großen Monster. Das ist bei HPL dann aber auch von der Art, das man nur einmal hinzuschauen braucht und mit großer Wahrscheinlichkeit eh unrettbar wahnsinnig wird. Das kann nur beim Finale sein, nicht vorher.

Also spielten wir sehr zügig. (Oder kam mir das nur so vor, bin ich inzwischen langsameres Spiel gewohnt? Es kann sein, dass wir früher auch sehr viel schneller waren und Situationen sehr viel weniger ausspielten.) Ich teilte vorbereitete Charakterbögen aus, kurze Vorstellungsrunde, dann rasch ins Spiel, beim Recherchieren etwas nachgeholfen, ein kleiner Einbruch – mit etwas Glück kam ich gerade noch zu einem ganz kleinen Sanity-Verlust am Ende. Geschossen oder anderweitig gekämpft wurde nie.

Mir hat es Spaß gemacht. Ich habe das Spiel in den Weihnachtsferien vorbereitet, gründlich, da ich das in diesem Schuljahr dann gleich mit ein paar Kollegen spielen werden, die sich auch schon lange dafür interessieren. Vorbereiten, das geht dabei anders als früher, vor dreißig Jahren, als ich zuletzt CoC-Spielleiter war. (Man kommt sehr schnell wieder rein.) Heute hatte ich für viele Personen, die auftauchen würden oder auftauchen könnten oder auch nur vielleicht eine Rolle spielen würden, Fotos besorgt. Von historischen Orten – Bibliothek, Krankenhaus, Rathaus – hatte ich zeitgenössische Fotos gefunden, Grundrisse, Stadtkarten von Boston aus den 1920er Jahren. Auch zu den wichtigsten fiktiven Schauplätzen gab es Bilder. Das macht Spaß und schafft Atmosphäre.

Für Insider: Ich hatte das erste Kapitel der klassischen Kampagne Shadows of Yog-Sothoth vorbereitet und gleichzeitig eines der kleinen Einzelszenarios am Ende des Bandes. So war ich flexibel. Klar war das übervorbereitet, aber es hilft ja auch im Unterricht, einen großen Vorrat an Wissen und Möglichkeiten im Hintergrund zu haben, um flexibel die Stunde dann doch umplanen zu können, wenn sich der Unterricht in eine andere, lohnenswerte Richtung entwickelt. „Railroading“ mögen Spieler genauso wenig wie Schüler; die Illusion von Freiheit und einem open world game ist wichtig. Und so hätte sich das Spiel in die eine Richtung entwickeln können oder in die andere, ich habe ein paar Haken gesetzt, an denen ich neue Geschichten einbauen kann, Personen, die erst später eine Rolle spielen würden, oder auch nicht. Ein späteres Spiel würde es zwar nicht geben, aber man ist ja auch Künstler.

Die Schüler selber, noch unerfahren (hatten nicht mal eine Taschenlampe dabei, oder ein Seil!), aber besser darin, in character zu spielen als wir damals. Das macht das ganze Improtheater, das diese jungen Leute so treiben; ist zumindest an meiner Schule sehr populär.

Jetzt bin ich gespannt, ob die Lehrerrunde zusammengeht. Dann vielleicht an einem gemütlicheren Ort und mit mehr Zeit. So wie damals, im Haus in der Goldammerstraße in Haunstetten, wird es natürlich nie wieder werden.

Rollenspielen 2015

Rollenspiel_2015_Rom

Die letzten dreieinhalb Tage war ich wieder Rollenspielen, so wie seit etlichen Jahren immer um dieser Zeit. Pen & Paper, Call of Cthulhu: Inzwischen schreiben wir das Jahr 1939. Wir trafen uns in St. Paul, Minnesota, um von dort aus nach Rom aufzubrechen. Ein Brief eines Kardinals, mit dem uns ein gemeinsamer Bekannter aus vorhergehenden Spielen verband, brauchte unsere Hilfe.
Leider war der Kardinal genauso falsch wie seine Absichten. Ein alter Feind von der SS agierte im Hintergrund, und um herauszufinden, was er eigentlich im Schilde hatte, verfolgten wir die Spuren seiner Aktivitäten sozusagen rückwärts. Zuerst nach St. Gallen, dann wieder Rom, schließlich Marienburg in der Nähe von Danzig. Die Marienburg, der größte Backsteinbau Europas, ist die ehemalige Ordensburg des Deutschen Ordens, und in dessen Geschichte hatten wir herumgewühlt. Marienburg lag 1939 in der Provinz Ostpreußen, vom übrigen deutschen Reich durch einen polnischen Korridor getrennt. Und natürlich schickte uns der Spielleiter nicht zufällig im September 1939 dorthin: Da überfiel Deutschland Polen.

Als die Kampagne vor 6 Jahren begann, ahnte ich nicht, dass das ein Geographie- und Geschichtskurs werden würde. Mit Kopien historischer Bahntickets, in Originalgröße ausgedruckten historischen Landkarten, Grundrissen, Fotos, Biografien, Hintergrundmaterial. Damit wir auch wissen, wie die Straßenbahnen 1939 in Rom fuhren und wie groß St. Gallen war und wie es im Vatikan aussah. Der ebenfalls griffbereite zweibändige Baedeker für Rom war allerdings noch eine Ausgabe von vor dem ersten Weltkrieg.

Nachtrag: Mein liebstes Rätsel betraf vier lateinische Inschriften, deren Inhalt wir herausfinden mussten. Meine Spielfigur konnte als einzige Latein, aber etliche Würfe misslangen, so dass Teile unübersetzt blieben, darunter der wichtigste. Auch die außerspielweltlichen Lateinkenntnisse der Spielerrunde reichten nicht aus für diese Stelle. Kunststück, nach einigem Herumknoben – es war auch schon spät nachts – erkannten wir, dass das der lateinische Name einer polnischen Stadt war, die wir unter deren deutschen Namen kannten.

Rückblick:
2007 – nur eine Zeile nebenbei.
2008 – etwas ausführlicher, mit Bild.
2009 – nur eine Zeile nebenbei.
2010 – einigermaßen ausführlich.
2011 – etwas Text, zumindest mit Bild.
2012 – nur ein Absatz.
2013 – ausführlicher.
2014 – in Afrika, mit Telegramm.

Games for Thinkers

„Games for Thinkers“ ist eine kleine amerikanische Firma, die es – ich müsste recherchieren – vielleicht seit den mittleren 1960er Jahren gibt, und die eine kleine – sehr kleine – Auswahl an Spielen vertreibt. Der Kopf dahinter und Entwickler oder Co-Entwickler aller oder zumindest der meisten Spiele ist Layman E. Allen, inzwischen emeritierter Jura-Professor an der Universität von Michigan.
Die Spiele sind sich alle ein bisschen ähnlich: Sie sind komplex und kompliziert und haben eine Basis in den exakten Wissenschaften, die Anleitungen lesen sich wie trockenste Gesetzestexte und sind ebenso nüchtern gesetzt, und es lassen sich kaum Mitspieler dafür finden. Und doch…

wff_games_for_thinkers

Das Flagschiff von Games for Thinkers ist WFF’N PROOF. Das habe ich – ebenso wie das spielbarere Eleusis – kennengelernt als Teenager in der Stadtteilbibliothek von Haunstetten (Augsburg) in Willy Hochkeppels ausgezeichnetem Denken als Spiel (1970, tolles Buch). Mit neunzehn oder zwanzig Jahren hatte ich danach eine kurze Phase, in der ich Leute kannte, die das Spiel mit mir spielen würden. Und mit 48 Jahren, vor ein paar Monaten, habe ich das tatsächlich mit neuen Leuten gespielt, und wir haben sogar gut gespielt.

Dazwischen hatte ich mir mal die meisten Spiele von Games for Thinkers besorgt, so als Kuriosiät. Zumindest drei davon will ich hier einmal vorstellen.

WFF’N PROOF

(Längerer Blogeintrag dazu.) Bei diesem Spiel geht es um logische Schlüsse. Ein PROOF besteht aus einem zu beweisenden logischen Ausdruck, einer Reihe von Prämissen, einer Reihe von verwendeten Regeln und Prinzipien (Regeln für Konjunktion und Disjunktion und Negation, de Morgan, etc.) und letztlich der Ableitung des Ergebnisses aus den Prämissen anhand der Regeln.

Die Spieler werfen eine größere Anzahl an Würfeln mit Symbolen. Ein Spieler legt einen zu beweisenden Ausdruck, und reihum legen danach alle Spieler einzelne Zeichen (in Form der Würfel) auf Bereiche der Spielfläche, die die Zeichen als optional oder verpflichtend markieren. Aus diesem Vorrat müssen die Spieler dann Prämissen bilden und (die Namen von gegebenen) Regeln bilden, die später in einem Beweise des Zielausdrucks verwendet werden. Verloren hat, wer übersieht, dass mit dem vorhanden Vorrat bald ein fertiger Beweis gebildet werden kann (so dass man stattdessen besser den später zu erbringenden Beweis verkompliziert); verloren hat ebenfalls, wer seinen Würfel so legt, dass mit dem vorhandenen Material kein gültiger Beweis mehr gelegt werden kann.

Die Spielregeln sehen typographisch alle so aus:

wffnproof_small

Die Spiele von Games for Thinkers werden als „autotelisch“ verkauft, also als selbstmotivierend, so dass die Schüler anhand der Spiele quasi automatisch und freiwillig lernen. Denn ja, die Spiele waren zumindest ursprünglich für den Einsatz im Klassenzimmer gedacht, so dass man dafür etwa das Autotelic Learning Center kaufen konnt, mit jeweils 4 Exemplaren von 7 der bekanntesten Games-for-Thinkers-Spiele. Ich bin da ja eher skeptisch, was diese wunderbare Anziehungskraft auf Schüler betrifft. Mich hätte man damit gekriegt, zugegeben, aber das möchte ich nicht verallgemeiner.

Queries’n Theories

Dieses Spiel ist eine Art fortgeschrittenes Mastermind/Superhirn. Ein Spieler definiert eine Sprache, und die anderen Spieler versuchen die Regeln für diese Sprache herauszufinden. Konkret sieht das so aus: Es gibt grundsätzlich nur das Alphabet B, G, P, R, Y (jeder Buchstabe repräsentiert durch einen farbigen Chip: Blue, Green, Purple, Red und Yellow). Eine Sprache könnte zum Beispiel sein: Alle Wörter, die mit B anfangen. Oder: Alle Wörter, in denen kein Y vorkommt. Oder: Alle Wörter, die mit RR anfangen und mit G aufhören.

Mit Hilfe dieser Spielfläche definiert ein Spieler – in der Regel verdeckt, jedenfalls nach ein Einstiegsübungen – eine Sprache. Dafür gibt es links eine Fläche mit Basic Sentences, also Zeichenketten, die auf jeden Fall zur Sprache gehören:

queries_n_theories_1

Im Beispiel oben gehören die – sehr kurzen – Wörter GY und R zur definierten Sprache.

Außerdem gibt es die Ersetzungsregeln, die man auf der rechten Seite der Spielfläche festlegt. Davon kann es bis zu 4 geben, mit bis zu 5 verschiedenen Farben (wie viele es jeweils genau sind, das hängt vom vorher vereinbarten Schwierigkeitsgrad ab):

queries_n_theories_2

Zusammen mit den Basic Sentences gehören also folgende Beispiele ebenfalls zu der durch die Spielfläche festgelegten Sprache:

  1. GY, R (Basic Sentences)
  2. GRY (Basic Sentence 1 + Regel 1)
  3. GRRY (Zeile 2 + Regel 1)
  4. GRRRY (Zeile 3 + Regel 1)
  5. GRRRRY (Zeile 4 + Regel 1)
  6. GYRRRY (Zeile 5 + Regel 2)
  7. GRYRRRY (Zeile 6 + Regel 1)

Die Spieler legen probeweise Zeichenkette und sagen je nach Variante voraus, ob der Regelgeber sie als Teil der Sprache akzeptieren wird oder nicht. Man kann das auch als Experiment ansehen, mit dessen Hilfe man den Regeln auf die Spur kommt. Wie das mit der Punktezählung genau aussieht, weiß ich nicht, dazu müsste ich wohl eine regelmäßige Spielerrunde auftreiben.

Mathematisch steckt hinter den bunten Chips ein Semi-Thue-System. Das kann einem bei der theoretischen Informatik begegnen. Anders als bei formalen Sprachen gibt es hier keine Unterscheidung von Terminalen und Nichtterminalen. Das Wortproblem ist bei Semi-Thue-Systemen grundsätzlich unentscheidbar; bei Queries ’n Theories geht das aber sehr wohl: Zum einen sind die Anzahl und der Umfang der Regeln beschränkt, zum anderen gilt eine Zusatzregel, die aus dem Design der Spielfläche nicht hervorgeht – dass nämlich rechts vom Pfeil einer Ersetzungsregel nie weniger Chips liegen dürfen als links davon. Das macht das ganze Wortproblem schon viel einfacher. (So ähnlich wie hier in einem Blogeintrag zu kontextsensitiven Sprachen.)

PROPAGANDA

Dieses Spiel fällt etwas aus dem Games-for-Thinkers-Rahmen. Es gibt keine Würfel und keine Spielfläche. Dafür gibt es eine Liste von argumentativen Tricks und Manipulationstechniken, ganz im Sinn von Schopenhauers eristischer Dialektik. Knapp 60 davon sind in sechs Bereiche eingeteilt: Techniken der Selbsttäuschung, der Sprache, der Irrelevanz, der Form, und das Ausnutzen menschlicher Schwächen sowie Ausweichmanöver. Das sind Klassiker dabei wie ad hominem, ad consequentiam, Wunschdenken, aber auch Zahlenspielerei, Metaphorik, Slogans, unnötige Fachsprache, Mehrdeutigkeit.

Das eigentliche Spiel besteht aus 40 Karten mit jeweils sechs Beispielen aus den sechs Kategorien. Ein Spieler wählt ein Beispiel und verständigt sich mit den Mitspielern darüber, zu welcher Technik es gehört. Wie das Spiel mit Punkten und so weiter geht, das weiß ich nicht mehr – man muss voraussagen, was die anderen entscheiden, oder die anderen überzeugen, irgend so etwas, aber das ist auch nicht wichtig. Wichtig ist vielmehr die schöne Sammlung an Beispielen. Irgendwann möchte ich so etwas mal fürs Erörtern im Deutschunterricht nutzen, aber mir ist noch nichts eingefallen.

Weitere Spiele

LinguiSHTIK: Ein sehr viel einfacheres Spiel als die anderen Games-for-Thinkers-Spiele, wenn auch das typische Spielprinzip erkennbar ist: Aus einem Satz von gewürfelten Buchstaben müssen die Spieler ein – im Endeffekt möglichst kompliziertes – Wort legen. Wieder werden reihum manche Buchstaben als optional, verboten oder verpflichtend zu legen markiert.

ON-WORDS: Sieht mir zu kompliziert aus. Es gibt wieder Würfel, wieder eine Spielfläche, um Elemente als erlaubt/erforderlich/verboten zu markieren. Die Symbole sind Buchstaben, wenige Ziffern, und vor allem Lautschrift-Symbole – leider nicht die bekannteren internationalen IPA-Symbole, sondern diejenigen, die das American Heritage Dictionary verwendet, also /o͞o/ statt /u:/ oder /ē/ statt /i:/. Mehr weiß ich nicht.

ON-SETS: Kommt in einer deutlich kleineren Plastikschachtel als die anderen Spiele, vielleicht ist das so eine Reiseausgabe. Es gibt wieder eine Reihe von Würfel mit verschiedenen Symbolen (Farben, Ziffern, Symbole aus der Mengenlehre), dazu die übliche Spielfläche mit Ziel und verbotenen/erforderlichen Elementen und ein Stapel Kärtchen mit farbigen Symbolen – mit den Würfeln formt man Bedingungen („alle Karten mit rot darin und ohne blau“). Mehr weiß ich nicht, sieht aber nicht allzu kompliziert aus.

Fünf Tage ohne Kamm

Ich bin gerade in Darmstadt. Ich war schon mindestens einmal in Darmstadt, 1984, glaube ich. Das war auf Burg Frankenstein, mit Übernachtung im Zelt, ein Treffen eines Clubs, der aus historischen Gründen Fantasy-Department hieß. Oder so. Auf dem Bild bin ich rechts in der Mitte:

Und wir spielen gerade DSA. In Darmstadt habe ich auch zum ersten Mal Kingmaker gespielt, und Civilization, bei einem Besuch bei Herrmann Ritter.

— Dieses Mal war ich die ersten zwei Nächte in einem Naturfreundehaus im Wald unter lauter Informatikdidaktikern, als Teil einer kleinen Arbeitsgruppe. Das war ein bisschen so ähnlich. Geradezu gerührt hat mich, dass wir WFF N PROOF gespielt haben. Das ist ein obskures kaum spielbares Logikdenkspiel, für das ich zum letzten Mal vor fünfundzwanzig Jahren Mitspieler gefunden habe. Damals kannte ich noch keine Informatiker. Das Spielen ging jedenfalls richtig gut.

image

Am letzten Tag kam die Dame, die sich um das Haus kümmert, kurz vorbei fragte in den Raum, ohne die Gruppe tatsächlich zu kennen, ob vielleicht jemand da sei, der ihr bei einem Problem mit dem Smartphone helfen könne. Schweigen. Eine schwierige Frage für einen Raum voller Informatiklehrer. Wenn man sich nicht auskennt, ist das nicht gut, wenn man sich zu gut auskennt, auch nicht. Das ist ja keine Informatik. Und vorpreschen will man auch nicht. Nun, wir haben es dann ohnehin nicht weit gebracht mit unseren Hilfeversuchen. Aber Schokolade kriegten wir dafür.

Inzwischen bin ich in einem Hotel und nicht mehr im Wald. Jetzt ist nämlich gerade die Informatikdidaktiktagung, wegen der ich hier bin. Gestern abend Essen und Spieleabend mit fremden Menschen, heute Vorträge und Workshop, morgend auch wieder, und ein Konferenzdinner — da habe ich mir den Abend frei genommen, um mal allein sein zu können. Vom Griechenlandurlaub her habe ich noch genug Mitmenschenerfahrung mitgenommen, das reicht dann immer wieder mal.

Inhalte der Vorträge und zur Rolle des Netzwerkens: Vielleicht später mal, wenn ich nicht auf dem Tablet tippen muss.

PS: Kamm zu Hause vergessen. Habe jetzt Ansätze zu schütterer, aber erkennbarer wuseliger Informatikermähne.

Codefunde, und Programmieranregungen

Zwei Funde aus der letzten Zeit, und beide kurz, quelloffen und verständlich.

1. A Dark Room

Ein minimalistisches Spiel, das mit Maus und später ein wenig Tastatur im Browser bedient wird. Nach den ersten Klicks befindet man sich in vertrauter Atmosphäre, ein textbasiertes City-Building-Spiel also, und doch… man beginnt in einem dark room, und muss erst einmal das Feuer anheizen. Eine Fremde kommt in die Hütte, wärmt sich, und stellt sich als builder heraus, die mit dem gesammelten Holz einfache Dinge bauen kann. Nach und nach kommen weitere Wanderer, eine zweite Hütte wird gebaut.

a_dark_room

Bereits bei den ersten, der interactive fiction nahen Formulierungen ahnt man, dass das irgendwie ein besonderes Spiel ist, und als das stellt es sich auch nach und nach heraus. „The light from the fire spills from the windows, out into the dark.“

Hier kann man das spielen: http://adarkroom.doublespeakgames.com/ Oder man folgt einfach dem Link dort zu GitHub, wo der Code des ganzen Projekts gespeichert ist und zum Beispiel als zip-Paket heruntergeladen werden kann. Das Programm ist in Javascript geschrieben, und es ist interessant, mal in den Quellcode zu schauen.
Außerdem sieht man daran gut, dass auch ein minimalistisches Spiel spannend sein kann. Zugegeben, es wird später noch ein wenig elaborierter. Sehr stimmungsvoll.

2. Tippfelher

Über diesen Tweet bin ich auf das Projekt gestoßen:

Auch hier ist das Projekt bei GitHub gespeichert, und man kann es sich dort anschauen oder herunterladen. Es ist in Python geschrieben, mit dem ich sehr viel vertrauter bin als mit Javascript. Der Hintergrund wird in diesem Blogeintrag erklärt. Die Kurzfassung: Das Programm liest einen Text ein und spuckt ihn mit Tippfehlern versehen wieder aus. Dazu gehören etwa eine fehlende Hochstelltaste bei Großbuchstaben und vertauschte Buchstaben, die auf der Tastatur nebeneinanderliegem. Bei Titel der Textdatei wird nur ein Buchstabe getauscht, wie man an der mitgelieferten Beispieldatei „Kakfa – Die Verwandlung.txt“ sieht.

Rollenspielen 2014

Rollenspiel_2014_Telegramm18. April – 17. April 1938
Überfahrt auf der RMS Andania von Liverpool nach Nova Scotia, auf dem Weg nach Montreal. Wir müssen aus dem Nachlass einer Anthropologin ein seltenes Buch über Afrika besorgen.

1. Mai – 5. Mai 1938

Montreal. Die Übergabe des Buches gelingt nicht: Die Kanzlei wird überfallen, das Buch geraubt. Wir recherchieren und vermuten als Drahtzieher Deveraux Cartier aus Ottawa. Der hat wohl nicht nur das Buch geraubt, sondern ist verantwortlich für den Diebstahl eienr Reihe afrikanischer Statuen, die sein Großvater einst besessen (oder eher: gestohlen) hatte, die aber in alle Winde verstreut wurden.

6. Mai – 8. Mai 1938
Cartiers Anwesen in Ottawa ist verlassen, aber die Spur führt nach Tanger in Marokko.

9. Mai – 14. Mai 1938
Mit dem Zug nach New York, dann mit dem Dampfer Normandie („ein Meilenstein des Passagierschiffbaus“, Wikipedia) nach Le Havre

14. Mai – 16. Mai 1938
Mehr Nachforschungen. Dann mit dem Flugzeug nach Tanger, wo die letzte Statue gestohlen wurde. Unser Kontaktmann hilft uns beim Organisieren der Reise.

16. Mai – 17. Mai 1938
Unser Kontaktmann lockt uns in eine Falle; er gehört zur Verbrecherbande Cartiers. Den Hinterhalt in Alexandria überstehen wir mit Schrecken und kleineren Verletzungen, aber Cartier ist natürlich schon längst weiter.

18. Mai – 3. Juni 1938
Wir fahren den Nil hinunter nach Luxor. (Oder „Luksohr“, wie es auf der alten deutschen Karte tatsächlich heißt. Überhaupt natürlich alles mit altem Kartenmaterial.) Dann rüber ans Rote Meer und auf einem Frachter weiter nach Süden. Port Sudan, Massawa, Dschibuti, dort Umsteigen in die sehr viel komfortablere Motovane Neptunia (Schwesterschiff bei Wikipedia). Dort kreuzen sich unsere Pfade mit den Deutschen, die uns schon in den letzten Spielen geplagt haben. Ein Versteckspiel um abgehörte Funksprüche und Telegramme, Lauschen an Kabinentüren und -böden, aber tatsächlich waren die Deutschen diesmal nicht die Hauptschurken, sondern nur interessierte Parteien. In Mombasa angekommen, werden wir die Verfolger los.

— Ne, so geht das nicht weiter. Ich schreibe ja immer mit, wenn auch nicht so gründlich wie Frau Thea Kohler (Archäologin), aber knapp zwölf Seiten Reisenotizen sind es diesmal schon geworden. Nach drei Tagen Rollenspiel bin ich jetzt zu erschöpft, als dass ich die ganze Geschichte spannend nacherzählen kann, deshalb nur kurz: Es ging dann noch weiter nach Tanganjika, bis hin zu einer Ausgrabungsstätte, wo wir Cartier zuvorkommen wollten, und am Schluss musste dann doch das Dynamit ran. Am meisten Verletzungen gab es beim Klettern in den Bergen, da war keiner von uns gut. Schön war das alte Kartenmaterial, und erschreckend die Karten des kolonialisierten Afrika, also welcher europäischen Nation was gehörte.

Ansonsten: Deutlich weniger Süßigkeiten zwischendurch als in den Jahren zuvor. Wir werden halt auch alle reifer. Am besten in Erinnerung: Die Fahrt auf der Neptunia, das Katz-und-Maus-Spiel mit den Deutschen.

Jetzt aber erst mal wieder Schule, die Ferien sind vorbei.

Rückblick:
2007 – nur eine Zeile nebenbei.
2008 – etwas ausführlicher, mit Bild.
2009 – nur eine Zeile nebenbei.
2010 – einigermaßen ausführlich.
2011 – etwas Text, zumindest mit Bild.
2012 – nur ein Absatz.
2013 – ausführlicher.