Kinderleicht ein Text-Adventure programmieren

Programmieren war und ist für mich, wie Zauberei: jede Fantasie kann zum Leben erweckt werden.

Seit langem keimt daher der Wunsch in mir, meinen Kindern ebenfalls die Freude am Erschaffen, mit Hilfe von Befehlszeilen, beizubringen. Etliche Anläufe haben stattgefunden, bis ich bemerkte: was sie daran hindert, länger dran zu bleiben, ist:

  • Schwer zu erlernende Programmiersprachen (brauchen Zeit und Geduld)
  • Diskrepanz zwischen Arbeit und Ergebnis (viele Schritte, noch nichts zu sehen)
  • Das „Momentum“, der Schaffenseifer, geht schnell in Details verloren
  • Handhabung vieler Werkzeuge langwierig und entmutigend (Codeeditor, Bilder, Sound)

Doch eines habe ich aus den ersten Versuchen auch mitgenommen: es ist spannend, eine Geschichte zu erzählen und Andere diese erleben zu lassen, die Kinder haben das immer wieder zu programmieren versucht. Damit entschied ich, die Kernelemente eines einfachen Textadventure in ein Core zu packen und es Kindern extrem simpel zu machen, eine Geschichte mit Hilfe einfacher Befehle zu gestalten und auch Freunden zum Spielen zu geben.

Folgende Befehle werden benötigt:

  • Einem „Raum“ einen Namen geben
  • Sprung zu einem Raum ausführen
  • Ausgeben eines Beschreibungstextes
  • Definieren und Betiteln von Sprungoptionen
  • Setzen einer Zufalls-Variable
  • Setzen von selbst definierten Variablen
  • „Wenn-Dann-Sonst“-Raum-Sprünge definieren
  • Hintergrundbild setzen
  • Hintergrundfarbe setzen
  • Audiodatei abspielen

Bereits mit diesem Satz an Befehlen lässt sich eine schöne Geschichte erzeugen, bebildern und vertonen. Ein Beispiel gefälligst? Mal sehen, ob ihr dieses Abenteuer überlebt (Danke an meinen Sohn, der das programmiert hat!):

Hier kannst du das alles selber ausprobieren, ohne Login, direkt im Browser: https://abenteuerdesigner.de

Der Abenteuer Editor

Um den Einstieg so einfach wie nur möglich zu machen, habe ich einen Texteditor speziell für das Erstellen kleiner Programme vorbereitet. Die Befehle werden darin hervorgehoben, es gibt eine Liste der Sprungknoten zum leichten Finden und Auswählen und er bietet eine Vorschau des Spieles an. Alles in allem können meine Kinder damit super umgehen und ich bin mir sicher, dass es auch anderen gelingt.

Hier kannst du das alles selber ausprobieren, ohne Login, direkt im Browser: https://abenteuerdesigner.de

Wie funktioniert das Spiel?

Das Spiel lässt den Spieler von einem Zustand zum nächsten springen, je nach der Entscheidung, die der Spieler trifft. Manchmal entscheidet auch der Zufall – es soll ja spannend bleiben und nicht immer gleich ablaufen. Bekannt ist dieses Prinzip als Zustandsautomat, leichter verständlich als Zustandsdiagramm.

Das Zustandsdiagramm unseres Beispiels

Die Prinzipien der Spielgestaltung sind einfach: der Spieler befindet sich immer in einem Raum. Der erste Raum heißt immer „Start„. Wir bieten dem Spieler Entscheidungsmöglichkeiten, die er auswählen kann. Tut er das, schicken wir ihn in einem neuen Raum, der die neue Situation beschreibt. Solche Räume werden auch Knoten genannt. Wir springen also je nach Entscheidung des Spielers von Knoten zu Knoten. Manche Knoten dienen nur dazu, den Spieler in andere Räume zu schicken. Stellt sie euch als Weichen vor.

Der Befehlssatz

Welche Befehle können im Editor verwendet werden, um ein Spiel zu programmieren?

Um ein einfaches Spiel zu programmieren brauchst du nur zwei Befehle. Wir werden auch genau mit diesen anfangen, damit du schnell zu einem Ergebnis kommst:

  • Raum Beschriften
  • Festlegen, was als nächstes geschehen soll.

Wir beschriften den Raum

Wenn der Spieler einen Raum betritt, wollen wir ihm erklären, was er dort sieht, was da ist. Soll der Raum also einen Beschreibungstext haben, dann muss der Parameter „Text=“ befüllt werden. Hier ein Beispiel:

Text=Du befindest dich vor einem riesigen Schloss. Das riesige Tor ist zu.

Damit sieht der Spieler folgendes, wenn er den Raum betritt:

Wir haben den Raum beschriftet.

Was soll als nächstes geschehen?

Jetzt geben wir dem Spieler ein paar Möglichkeiten, was er nun tun soll. Er steht also vor dem Tor. Er sollte z.B. Rufen oder Anklopfen. Also geben wir ihm diese zwei Entscheidungen zur Auswahl. Hier ein Beispiel:

Auswahl=Rufen, Anklopfen

Doch wir wollen ihm die Entscheidung etwas schöner gestalten, also geben wir noch den Text an, den er für „Rufen“ und „Anklopfen“ sehen soll. Hier ein Beispiel:

Rufen=Du rufst laut „HALLOO!, ist jemand da?!“

Anklopfen=Du hämmerst mit der Faust gegen das Tor.

Programmierung fertig!

Nun ist die Programmierung für den Raum „Start“ fertig und sieht in unserem Beispiel wie folgt aus:

Text=Du befindest dich vor einem riesigen Schloss. Das riesige Tor ist zu.

Rufen=Du rufst laut „HALLOO!, ist jemand da?!“

Anklopfen=Du hämmerst mit der Faust gegen das Tor.

Auswahl= Rufen, Anklopfen

Wenn wir jetzt auf den Knopf „Testen“ klicken, sehen wir, was der Spieler dann auch sehen wird. Wenn jetzt der Code ausgeführt wird, sieht es im Spiel wie folgt aus:

Jetzt kann der Spieler entscheiden, was er als Nächstes tun soll

Neue Räume erstellen: „Rufen“ und „Anklopfen“

Jetzt kann der Spieler also sich entscheiden, ob er ruft oder anklopft. Doch er kommt erst einmal nirgends hin:

Fehler: es fehlt der Raum „Rufen“. Wir müssen ihn erst einmal erstellen.

Das Erstellen eines neuen Raumes ist noch einfacher, als Programmieren. Dazu nutzen wir den Knopf „Neuer Raum“ und dann geben wir dem Raum den Namen, den wir brauchen. Wenn der Spieler sich also für „Rufen“ entscheidet, dann schicken wir ihn in den Raum „Rufen“:

Wir erzeugen den neuen Raum „Rufen“

Sobald wir auf „Raum anlegen“ geklickt haben, werden wir auch schon in den neuen Raum geschickt. Jetzt können wir diesen auch programmieren. Jetzt tun wir genau das gleiche, wie am Anfang unserer Anleitung. Unterhalb des Programmfensters sind auch immer Hinweise zu sehen, die uns weiter helfen:

So übersichtlich und einfach zu bedienen ist die Oberfläche des Editors

Wenn wir nun auf „Testen“ klicken, dann können wir „Du rufst laut“ auswählen und befinden uns nun im neuen Raum, der uns erklärt:

… und jetzt: so weiter machen!

Fürs Erste sind wir fertig! Wir haben hier gelernt, wie wir einen Raum beschreiben und wie der Spieler von A nach B kommt – also wie er seine Entscheidungen treffen kann. Die Geschichte ist hier natürlich nicht zu ende. Wie wäre es, wenn du sie weiter schreibst? Hier kannst du selber dein Adventure Spiel programmieren!

Was könnte folgen?

Hier mal ein Vorschlag, wie dieses Abenteuer weiter gehen könnte:

Die Geschichte wird immer komplexer aber dadurch auch spannender

Das könnte dich auch interessieren …