Tutorial: Wherigo-Caches mit Urwigo erstellen

Teil 3 „Die ersten Interaktionen“

Teil 1: Grundlagen und Drehbuch
Teil 2: Die Landschaft im Ausgangszustand
Teil 3: Die ersten Interaktionen
Teil 4: Timer und Zufallsereignisse
Teil 5: Nutzereingaben, Variablen
Teil 6: Optimierungen
Teil 7: Optimierungen 2 – Intervall-Timer und Logging

Norgay wecken

Als erstes wollen wir Tenzing Norgay wecken. Wir müssen also ein Element einbauen, mit dem wir die Aktion auslösen und dann die Spielumgebung in einen anderen Zustand versetzen, nämlich:

  • eine Meldung ausgeben, dass Norgay jetzt wach ist
  • aus Norgays Namen das „schlafend“ entfernen
  • den Hillary Step sichtbar machen (Norgay ist der Guide, der weiss, wo das ist)
  • die „Wecke Norgay“-Aufgabe abhaken
  • den Wecken-Dialog ausschalten, er ist ja jetzt munter

Wenn wir uns die Person Norgay im Editor angucken, finden wir rechts unten das Ereignis „Beim Anklicken“. Es läge nahe, das als Auslöser für’s Wecken zu benutzen. Blöderweise geht das nicht, weil der der Player das ignoriert bzw. sogar abstürzt (im Simulator funktioniert alles bestens, aber was nützt uns das schon…). Statt dessen benutzen wir das Feld obendrüber, „Befehle“, und legen mit „Neuer Gegenstand“ einen Befehl für Norgay an. Wir nennen den Befehl „wecken“, und das Häkchen bei „Eingeschaltet“ muss gesetzt sein. Alle anderen Optionen sind hier erstmal unwichtig. Ist der Befehl angelegt, erscheint er in dem kleinen weissen Fenster rechts, und in der 2. Zeile finden wir das Wörtchen „unbehandelt“. Ein Klick darauf öffnet im Hauptfenster einen Editor, mit dem wir den Befehl mit Leben füllen können, indem wir von links oben Befehle und/oder Ausdrücke in das Fenster ziehen.

Als erstes wollen wir eine Meldung ausgeben. Wir ziehen also den Befehl „Meldung“ in die Mitte und belegen ihn mit dem Wert „Du ruettelst Tenzing Norgay wach.“ (ganz bewusst mit ue an Stelle von ü – Problemchen mit den Umlauten). Danach benutzen wir viermal den Befehl „Festlegen“, um die restlichen vier Veränderungen herbeizuführen. Als erstes ändern wir Norgays Namen. Wir ziehen „Festlegen“ hinter die Meldung in die Mitte und müssen jetzt noch die beiden Ausdrücke links und rechts vom Gleichheitszeichen befüllen. Für die linke Seite hangeln wir uns rechts unten bei „Objekte und Eigenschaften“ solangen durch, bis wir unter „Personen“ -> „Tenzing Norgay“ „Name“ sehen und ziehen dann Name in die Mitte links vom Gleichheitszeichen. Rechts vom Gleichheitszeichen muss dann logischerweise der neue Name rein, hier also „Tenzing Norgay“, ohne das „schlafend“.

Analog dazu müssen wir „Festlegen“ noch dreimal aufrufen:

  • Hillary Step.Aktiv = Wahr: damit wird der Hillary Step für den Spieler sichtbar (das Setzen von Wahr/Falsch passiert ganz rechts oben unter „Eigenschaften“)
  • Tenzing Norgay.wecken.Eingeschaltet = Falsch: der Befehl „wecken“ wird unsichtbar
  • Wecke Tenzing Norgay!.Erledigt = Wahr: die Aufgabe, Norgay zu wecken, wird als erledigt gekennzeichnet

Den Rucksack packen

Das ist ein bisschen komplizierter, als Norgay zu wecken. Als erstes legen wir für den Sauerstoff einen Befehl „einpacken“ an. Der Befehl muss folgende Aktionen enthalten:

  • Bewegen „Sauerstoff“ bis „Spieler“: der Sauerstoff wandert von „Base Camp“ ins Inventory des Spielers
  • Festlegen „Sauerstoff.einpacken.Eingeschaltet = Falsch: der Befehl „einpacken“ wird unsichtbar

Die Aufgabe, den Rucksack zu packen, ist allerdings erst erfüllt, wenn sowohl Sauerstoff als auch Seil drin sind. Und da wir nicht wissen, was der Speiler zuerst einpackt, müssen wir bei beiden Gegenständen prüfen, ob der jeweils andere schon drin ist oder nicht. Dazu brauchen wir ein paar neue Befehle und Ausdrücke, nämlich „Wenn/Sonst“, „Und“ und „Enthält“.

Wir fügen also als erstes einen „Wenn/Sonst“-Block in unseren Ablauf ein und drücken das kleine grüne Plus, um den Block auf zwei Alternativen zu erweitern. In der linken Spalte („Wenn“) behandeln wir den Fall, dass beide Gegenstände gepackt sind, in der rechten („Sonst“) den Fall, dass erst einer im Rucksack ist. Da wir auf zwei Bedingungen prüfen wollen, die beide wahr sein müssen, brauchen wir als erstes ein logisches Und. Das ziehen wir von den „Ausdrücken“ links in den „Wenn“-Block. Dann vervollständigen wir das „Und“ mit den beiden Prüfbedingungen, indem wir zwei „Enthält“-Ausdrücke einfügen: „Spieler enthält Sauerstoff“ und „Spieler enthält Seil“. Dieser Zweig wird demnach abgearbeitet, wenn der Spieler sowohl den Sauerstoff als auch das Seil in seinem Inventory hat. Wir geben also eine Meldung aus, dass der Sauerstoff jetzt eingepackt und der Rucksack damit vollständig ist und setzen die Aufgabe „Packe deinen Rucksack“ auf erledigt.

Der „Sonst“-Zweig trifft in allen anderen Fällen zu und ist ganz einfach: nur eine Meldung, das der Sauerstoff eingepackt wurde, der Rucksack aber noch nicht vollständig ist.

Das Seil wird analog behandelt.

Wir haben jetzt zwei ziemlich große, aber fast gleiche Programmblöcke gebastelt, und natürlich kommt an der Stelle die Frage nach Kopieren/Einfügen auf. Das geht. Code-Blöcke können durch Anklicken markiert, dann wie gewohnt in die Zwischenablage kopiert und an anderer Stelle eingefügt werden. Man muss hier nur ein bisschen aufpassen, dass man mit den verschiedenen Tabs im Hauptfenster nicht durcheinander kommt und an der richtigen Stelle einfügt, das ist gewöhnungsbedürftig.

Gehe zum Hillary Step

Wer am Hillary Step weiterkommen will, braucht Seil und Sauerstoff. In einer richtigen Cartridge würden wir das wohl dem Spieler überlassen, aber hier im Tutorial bauen wir in die Zone „Base Camp“ mit dem Ereignis „Beim Verlassen“ eine Prüfung ein, ob der Spieler seinen Rucksack gepackt hat. Wir wählen links unten also die Zone „Base Camp“ aus und behandeln rechts unten das Ereignis „Beim Verlassen“, und zwar wie folgt:

  • ein „Wenn/Sonst“-Block, wir brauchen aber nur das „Wenn“
  • darin liegt ein „Vergleichen“-Block: „Packe deinen Rucksack!.Erledigt = Falsch“
  • und dahinter eine mehr oder minder freundliche Meldung, doch bitte den Rucksack zu packen

Auf die Erfüllung der Aufgabe, Norgay zu wecken, müssen wir keine Rücksicht nehmen – der Hillary Step wird ja erst sichtbar, wenn Norgay wach ist, vorher weiss der Spieler also gar nicht, wohin es weitergeht.

Um die Aufgabe zum Abschluss zu bringen, nutzen wir das Ereignis „Beim Betreten“ der Zone „Hillary Step“ und belegen es mit drei Aktionen:

  • wir nutzen „Bewegen“, um Norgay zum Hillary Step zu befördern, denn es gibt keine Möglichkeit, eine Person mit dem Spieler mitgehen zu lassen (es sei den, man packt sie in den Rucksack)
  • Gehe zum Hillary Step!.Erledigt = Wahr: die Aufgabe wird als erledigt gekennzeichnet
  • eine Meldung, dass man den Hillary Step erreicht hat, ab hier klettern und Sauerstoff benutzen muss

Die Cartridge bis hierher

everest53-2.zip

zurück zu Teil 2 | weiter mit Teil 4