1 Einleitung
Willkommen zur xdr5 Dokumentation. Als Autor bemühe ich mich stets, diese Anleitung aktuell und umfassend zu gestalten, um dir bei der effektiven Nutzung des Systems zu helfen. Trotz der kontinuierlichen Software-Verbesserungen können einige Abschnitte eventuell noch aktualisiert werden. Solltest du Fragen haben oder zusätzliche Informationen benötigen, zögere bitte nicht, mich zu kontaktieren. Ich wünsche dir viel Erfolg bei der Arbeit mit xdr5.
1.1 Inhaltsverzeichnis
xdr5 ist nach einer simplen, aber ganz eigenen Logik aufgebaut, mit der komplexe Szenarien produziert werden können. Um schnell und effektiv umfangreiche Handlungen zu erstellen, empfehlen wir, sich mit dem grundlegenden Aufbau vertraut zu machen.
Wenn du ein xdr5-System auf einem externen Server mit weiteren Modifikationen innerhalb der Spielumgebung generieren möchtest, kannst du dich auf einen sauber strukturierten und verständlich kommentierten Quelltext freuen.
Das Inhaltsverzeichnis ist in drei Abschnitte unterteilt. Im ersten Abschnitt erhältst du eine Übersicht, im zweiten und dritten Abschnitt werden alle Details zum Backend und zur Spielumgebung geliefert.
Alle Inhalte wurden mit größter Sorgfalt erstellt. Hier erfährst du, wie du dein eigenes xdr5-Szenario erstellst.
1.2 Allgemeines
xdr5 bezeichnet diese Plattform, auf der mithilfe eines Verwaltungsprogramms Spiele als Webanwendungen entwickelt und gespielt werden können. Dabei ist zwischen dem „Backend“ und der „Spielumgebung“ zu unterscheiden.
Es handelt sich um eine Open-Source-Software, die entweder direkt von xdr5 gehostet werden kann oder durch einen Download auf dem eigenen Server genutzt wird. Bei externer Nutzung stehen zwei Versionen zur Auswahl:
- Freier Quellcode mit Quelleneinbindungen zur xdr5-Engine, durch die die Kernoperationen automatische Updates erhalten.
- Freier Quellcode ohne Quelleneinbindungen zur xdr5-Engine.
1.3 Die Meta
Das Erstellen und Arbeiten mit ebenenbasierten Inhalten, bei denen von jeder Ebene zu drei weiteren Ebenen gelangt werden kann, stellt ein komplexes System dar. Folgt man beispielsweise einem linearen Strang von einer Ebene mit drei Auswahlmöglichkeiten zu einer weiteren Ebene mit wieder drei Auswahlmöglichkeiten usw., landet man bereits nach der fünften Auswahl auf einer Ebene, die neben 364 weiteren Ebenen steht, auf denen man hätte landen können.
xdr5 befasst sich mit diesem System und stellt ein Werkzeug zur Verfügung, um die Arbeit mit dieser Metastruktur handhabbarer zu machen.
1.4 Der Open Source Code
Aufgrund des Open-Source-Status entziehe ich mich, insbesondere bei externer Nutzung, jeglicher Verantwortung bei möglichen Fehlern im Aufbau und der Funktion des Backends und der Spielumgebung. Alle Inhalte auf xdr5 sowie alle Inhalte, die durch das xdr5-System produziert werden, sind frei erhältlich. Die Weiterverwendung, Veränderung und Anpassung in jeglicher Form ist ausdrücklich erlaubt.
1.4.1 Source Code mit xdr5 Quellbezug
Das komplette xdr5-System, inklusive Backend und Spielumgebung, steht zur freien Benutzung auf einem eigenen Server zur Verfügung. Die Kernfunktionen werden über ein PHP-Include vom xdr5-Server bezogen. Das bedeutet, dass du trotz externer Nutzung Systemupdates erhältst.
1.4.2 Source Code ohne xdr5 Quellbezug
Das gesamte xdr5-System, einschließlich des Backends und der Spielumgebung, steht zur freien Verwendung auf einem eigenen Server zur Verfügung.
1.5 Der Datenaufbau
Das Spiel wird in „Ebenen“ strukturiert. Jede Ebene kann verschiedene Inhalte enthalten. Es handelt sich um ein textbasiertes Spiel, wobei alle Texte in XML-Dateien gespeichert werden. Dies ermöglicht eine einfache Übertragung der gesamten Spielumgebung, da keine Verbindung zu Datenbanken notwendig ist.
Mit Hilfe des Backends können diese XML-Dateien erstellt, organisiert, geändert und gelöscht werden. Alle Ebenen beziehen sich auf ihre Ebenen-ID als Dateinamen im „Verzeichnis“. Auf dieses Verzeichnis bezieht sich auch die Spielumgebung.
1.5.1 Das Dateisystem
Zum Einsatz kommen Technologien wie PHP, Javascript, jQuery, CSS, HTML, XML, JSON sowie verschiedene Medienformate wie PNG, JPG und MP3.
Im Hauptverzeichnis befinden sich die Dateien „worx.php“ und „game.php“, die das Herzstück des xdr5-Systems bilden.
Die „worx.php“-Datei stellt das Backend dar, während „game.php“ die Spielumgebung repräsentiert. Die Dateien „chat.php“ und „tausch.php“ sind für spielrelevante Seiten verantwortlich, wie den Livechat und die Item-Tauschstation.
Im „Verzeichnis“ sind die von „worx.php“ verwalteten XML-Dateien abgelegt, die von „game.php“ ausgelesen werden. Hier sind alle Textinhalte gespeichert. Das Verzeichnis „Media“ enthält alle Medien, wie zum Beispiel das Hintergrundbild des Spiels, Bilder von Items, Audiodaten, Dateien für externe Wegführungen, die CSS und den Inhalt des Chats.
1.5.2 Konfiguration durch „setup.json“
In der Konfigurationsdatei „setup.json“ kannst du sowohl technische als auch inhaltliche Einstellungen für dein Spiel vornehmen. Dazu musst du einfach die entsprechenden Felder ergänzen oder ändern.
Den Dateinamen solltest du immer entsprechend der Spieldatei benennen. Nach dem Download trägt die Datei den Namen „game.php“. Solltest du dein Spiel veröffentlichen wollen, könnte es sinnvoll sein, die Datei in „index.php“ umzubenennen. In diesem Fall muss die „setup.json“ unmittelbar angepasst werden, da die Spielumgebung andernfalls nicht funktionieren würde.
Auch die Konfiguration der Items erfolgt über die „setup.json“.
1.5.3 Definition der Items
Es ist möglich, Items in der „setup.json“ anzulegen, die dann im Spiel hinterlegt, abgefragt oder getauscht werden können. Hierfür gibst du den Namen des Items mit dem davorstehenden Artikel als Determinativ („den, die, das“) an, zum Beispiel „den Schlüssel“.
In der Ebene, in der das entsprechende Item abgefragt wird, schreibst du nur „Hier ist das Schloss“. Durch die vordefinierte Itembezeichnung wird der Fließtext automatisch ergänzt durch: „Hier ist das Schloss. Du benötigst den Schlüssel“.
In der Itembeschreibung kannst du entweder direkt erwähnen, wo das Item benötigt wird, oder du fügst eine allgemeine Beschreibung ein.
Ein Bild des Items hinterlegst du im Verzeichnis „media“ mit der Bezeichnung „item_*.png“. Anstelle des * gibst du die Nummer (1 -9) des entsprechenden Items ein.
1.6 Das Backend
Im Backend verwaltest du alle textlichen Inhalte für das Spiel. Genauer gesagt, du verwaltest XML-Dateien, die im „Verzeichnis“ liegen. Hier trägst du den Inhalt der Ebenen ein. Du kannst in jeder Ebene bis zu drei Verlinkungen zu weiteren Ebenen hinzufügen. Darüber hinaus kannst du hier auch besondere Optionen festlegen, die die Ebene enthalten soll:
- Namen abfragen: Du kannst die Spielenden nach ihrem Namen fragen und die Eingabe in das Spiel integrieren.
- Namen ausgeben: Du kannst den Namen der Spielenden im Spiel verwenden, um personalisierte Texte oder Dialoge anzuzeigen.
- Objekte hinterlegen: Du kannst verschiedene Objekte im Spiel hinterlegen, die von den Spielenden gefunden oder verwendet werden können.
- Objekte abfragen: Du kannst überprüfen, ob die Spielenden bestimmte Objekte besitzen, um den Zugang zu bestimmten Ebenen oder Interaktionen zu ermöglichen.
- Objekte löschen: Du kannst Objekte aus dem Inventar der Spielenden entfernen, wenn sie nicht mehr benötigt werden oder durch bestimmte Aktionen verloren gehen.
- Geheimcodes abfragen: Du kannst spezielle Geheimcodes oder Passwörter abfragen, um den Zugang zu bestimmten Bereichen oder Informationen im Spiel freizuschalten.
- Audiodaten einbinden: Du kannst Audiodaten wie Soundeffekte oder Hintergrundmusik in das Spiel integrieren, um die Atmosphäre zu verbessern und eine immersive Erfahrung zu schaffen.
- Externe Wegführungen einbinden: Du kannst externe Wegführungen, wie zum Beispiel externe Websites oder Dokumente, in das Spiel einbinden, um den Spielenden zusätzliche Informationen oder Anleitungen zur Verfügung zu stellen.
Um die gewünschten Operationen auszuführen, werden kurze „Befehle“ verwendet. Diese Befehle sind durch eine spezifische Syntax definiert. Obwohl dies auf den ersten Blick kompliziert klingen mag, handelt es sich tatsächlich um eine überschaubare Anzahl von Anweisungen, die direkt im Backend nachgelesen werden können. Dadurch ist es möglich, die Funktionsweise schnell zu verstehen und die entsprechenden Aktionen im Spiel umzusetzen.
1.7 Die Spielumgebung
Die Spielumgebung wurde in einer teilresponsiven Ansicht realisiert. Das bedeutet, dass sie sowohl auf Computern als auch auf mobilen Endgeräten gut betrachtet und bedient werden kann. Dabei besteht die Spielumgebung aus zwei festen Ansichten und nicht aus einer dynamischen Ansicht.
Im Spiel „spielt“ man die vorgegebene Story und nutzt die vom Autor gegebenen Möglichkeiten. Man sammelt Gegenstände ein, die an bestimmten Stellen im Spiel eingesetzt werden müssen. Zusätzlich gibt es Codeschnipsel, die gefunden und in die Story eingegeben werden können, um Fortschritte zu erzielen. Dabei wird man selbst zum aktiven Teil der Story.
Im Chat kann man sich mit anderen Spielenden absprechen, um Hinweise und Tipps zum Weiterkommen zu erhalten. In der Tauschstation besteht die Möglichkeit, Gegenstände mit anderen Spielenden zu tauschen und somit das eigene Inventar zu erweitern.
2. Backend Details
Das Backend bezieht sich auf die mit dem Browser abrufbare Datei „worx.php“. Wenn du diese Seite aufrufst, gelangst du zum Backend. Im Folgenden erkläre ich dir den Aufbau des Backends und die Funktionen der einzelnen Abschnitte.
2.1 Definitionen
- Fließtext Eingabefeld
- Eingabefeld für die Ebeneninformationen
- Eingabefeld für die Ebenen ID
- Status Information
- Schaltfläche um die Syntax einzublenden
- Eingabefelder für die Verlinkungen zu den weiteren Ebenen
- Suche, bzw. Filterfunktion
- Ebenenbrowser. Alle Inhalte mit der ID als Link um einzelne Inhalte zum bearbeiten aufzurufen
- Eingabefelder für Operationen
- „Zack“- Ausführbutton
2.2 Bearbeiten, speichern, löschen, überschreiben
- Klicke im Ebenenbrowser auf die gewünschte ID ganz links. Dadurch gelangst du zur Bearbeitungsansicht dieser Ebene, wo du den Inhalt und die Einstellungen der Ebene anpassen kannst.
- Alternativ kannst du auch eine neue Ebene erstellen, indem du im Eingabefeld für die Ebenen ID eine neue ID eingibst. Drücke anschließend die Eingabetaste, um die neue Ebene anzulegen. Danach kannst du den Inhalt und die Einstellungen der Ebene bearbeiten.
Diese Funktionen ermöglichen es dir, Ebenen nach Bedarf zu erstellen, zu bearbeiten und anzupassen, um deine Spielumgebung zu gestalten und die Geschichte voranzutreiben.
Speichern
Standardmäßig steht die Speicher-/Löschoption immer auf „Speichern“. Um eine Ebene zu speichern, klicke einfach auf „Zack“. Wenn die Ebene eine gültige Ebenen-ID und Ebeneninformation enthält, wird sie gespeichert und im Ebenenbrowser aufgelistet. Anschließend ist die Ebene sofort über die Spielumgebung erreichbar.
Wenn es bereits eine Ebene mit der ID gibt, die du speichern möchtest, wird der Speichervorgang mit einem roten Kontrollbutton unterbrochen.
Erst wenn du diesen roten Button betätigst, wird die vorhandene Ebene überschrieben. Bitte sei dir bewusst, dass das Überschreiben einer Ebene nicht rückgängig gemacht werden kann. Es ist wichtig, immer sorgfältig zu prüfen, ob die bestehende Ebene tatsächlich überschrieben werden soll, wenn der rote Button angezeigt wird.
Wenn der Speichervorgang erfolgreich abgeschlossen wurde, erhältst du eine positive Statusmeldung und das gesamte Eingabeformular wird wieder leer, um eine neue Ebene erstellen oder bearbeiten zu können.
Löschen
- Im Ebenenbrowser klicke auf die gewünschte ID der Ebene, die du löschen möchtest.
- Wechsle die standardmäßig ausgewählte Funktion von „Speichern“ zu „Löschen“. Diese Option ermöglicht das Löschen der ausgewählten Ebene.
- Klicke auf „Zack“, um den Löschvorgang zu bestätigen.
Durch diesen Vorgang wird die ausgewählte Ebene dauerhaft gelöscht. Bitte beachte, dass dieser Vorgang nicht rückgängig gemacht werden kann. Vergewissere dich daher sorgfältig, dass du die richtige Ebene löschst, bevor du den Löschvorgang bestätigst.
Mit der Bestätigung auf den roten Kontrollbutton wird die Ebene gelöscht.
Wenn der Löschvorgang erfolgreich abgeschlossen wurde, erhältst du eine positive Statusmeldung. Das gesamte Eingabeformular wird wieder leer, um Platz für eine neue Ebene oder weitere Bearbeitungen zu schaffen.
Das Backend ist technisch gesehen ein PHP-Formular, das die gesendeten Daten an sich selbst schickt und bei Erhalt im Verzeichnis speichert oder löscht. Es ermöglicht die Verwaltung von Inhalten, die sich im Verzeichnis befinden.
Dies bedeutet, dass das Backend nur Inhalte speichern oder löschen kann, die bereits im Verzeichnis vorhanden sind. Wenn du eine Ebene erstellst oder bearbeitest, wird der Inhalt im Verzeichnis gespeichert. Beim Löschen einer Ebene wird der entsprechende Eintrag im Verzeichnis gelöscht.
2.3 Erstellen einer Ebene
Wenn du die „game.php“ im Browser öffnest, erscheint der Inhalt „Starte das Spiel“, der direkt in der „game.php“ eingebettet ist. Dieser Inhalt liegt nicht im Verzeichnis, sondern ist Teil des Spiels. Durch Klicken auf den Button „Start“ gelangst du zur ersten Ebene im Verzeichnis, die die ID „00“ trägt. Diese Ebene ist zwingend erforderlich, da sie als Einstiegspunkt für das Spiel dient. Wenn keine Ebene mit der ID „00“ vorhanden ist, wirst du automatisch zur „error“-Ebene weitergeleitet.
Die „error“-Ebene ist ebenfalls zwingend erforderlich. Hier landet ein Spieler, wenn er auf eine verlinkte Ebene klickt, die nicht vorhanden ist. Du kannst diese Seite als eine Art 404-Fehlerseite betrachten. Die „error“-Ebene sollte Wiedereinstiegsmöglichkeiten bieten und es ist empfehlenswert, ein Art „Inhaltsverzeichnis“ in der „error“-Ebene zu verlinken. Dadurch hat der Spieler die Möglichkeit, zurück zum Spielverlauf zu gelangen oder andere nützliche Informationen zu finden.
2.3.1 Inhalt der Ebene
In diesem Beispiel siehst du die bereits im Grundsetup angelegte Ebene „00“. Du kannst Inhalte in diese Ebene einfügen und sie mit dem Button „Zack“ speichern. Um eine neue Ebene abzuspeichern, musst du eine bisher nicht vorhandene ID vergeben.
In unserer „game.php“ kannst du sofort das Ergebnis betrachten, das hier übrigens in der mobilen Ansicht dargestellt wird.
2.3.2 Verlinkung zu Ebenen
Um Ebenen zu verlinken, gibst du im Eingabefeld für Verlinkungen die ID der gewünschten Zielebene ein. Wenn Ziel 1 und Ziel 2 noch leer sind, beginne mit „Ziel 3“. Speichere anschließend die Ebene ab.
Die Verlinkung wird nach dem Abspeichern direkt in die Ebene eingebunden. Achte darauf, dass leere Verlinkungsoptionen mit „nix“ belegt sind, um das Erscheinen leerer Schaltflächen zu vermeiden.
Der Dateibrowser überprüft fortlaufend deine angegebenen Verlinkungen mit den tatsächlich im Verzeichnis vorhandenen Ebenen. Wenn eine von dir angegebene Verlinkung als Ebene nicht existiert, wird sie rot markiert. Dies hat zur Folge, dass der Spieler beim Klicken auf diese Option zur „error“-Ebene gelangt. Während des Erstellungsprozesses des Spiels ist es ganz normal, mit roten Markierungen zu arbeiten, da sie dir lediglich den „Rahmen“ deines Szenarios anzeigen.
2.4 Verwenden der Syntax
Die Syntax besteht aus „Kürzeln“, die es ermöglichen, Optionen und Operationen einzubinden. Durch Klicken auf die Schaltfläche „Syntax“ erhältst du eine Übersicht über alle verwendbaren „Kürzel“. In der Tabelle kannst du sehen, an welcher Stelle du welches Kürzel eingeben musst, um die gewünschte Option zu realisieren. Die meisten Kürzel werden in die Eingabefelder für Operationen eingetragen. Das linke Feld steht dabei für Operation A und das rechte Feld für Operation B. Pro Operation, die durch die Operationseingabefelder realisiert wird, kann jeweils nur eine gleichzeitig ausgeführt werden.
2.4.1 Abfragen und einbinden des Spielernamens
Um ein Eingabefeld zur Abfrage des Spielernamens einzubinden, schreibst du „ccc“ in das Eingabefeld für „Operation A“.
Das Eingabefeld zur Abfrage des Namens erscheint sofort in der Spielumgebung:
Wenn kein Name eingegeben wird, wird automatisch „unbekanntes Wesen“ verwendet.
Um den Namen im Fließtext zu verwenden, schreibst du einfach „xxx“.
Der Name wird auch im Chat und in der Tauschstation verwendet, daher ist es sinnvoll, ihn möglichst am Anfang des Spiels abzufragen.
2.4.2 Abfragen eines Geheimcodes
Beim Abfragen eines Geheimcodes müssen beide Operationseingabefelder ausgefüllt werden. Du gibst in das Operationseingabefeld A „pwx *“ ein, wobei du anstelle des * den Geheimcode einsetzt. In das Operationseingabefeld B gibst du die ID der Zielebene ein, zu der der Spieler gelangen soll, wenn das geheime Wort richtig eingegeben wurde. Im folgenden Beispiel landet der Spieler bei der Eingabe „gut“ auf der Ebene „2“.
In der Spielumgebung erscheint direkt ein Eingabefeld, um den Code einzugeben. Vergiss nicht, im Fließtext anzugeben, um welchen Code es sich bei dieser Abfrage handelt.
2.4.3 Einbinden, abfragen, löschen eines Items
Um ein Item auf einer Ebene zu hinterlegen, schreibst du in das Operationseingabefeld A „item_“, wobei das * für eine Zahl von 0 bis 9 steht. In das Operationseingabefeld B schreibst du „objekt_“, wobei das Sternchen mit derselben Zahl wie im Operationseingabefeld A ersetzt werden sollte.
In der Spielumgebung wird mit dieser Abfrage zuerst überprüft, ob der Spieler das Item bereits in seinem Inventar hat.
In deiner Fließtextformulierung schreibst du nur, dass „hier der Platz für den Schlüssel“ ist. Durch die Definition des Items im Determinativ unter Abschnitt 1.5.3 ergibt sich idealerweise die richtige Formulierung: „… Aber schau mal in deine Tasche, du hast den Schlüssel ja schon eingepackt.“
Wenn der Spieler das Item noch nicht besitzt, wird ein „Einpacken“-Button eingeblendet.
Um ein Item zu löschen, schreibst du „*_del“ in das Operationseingabefeld A. Dadurch wird das Item gelöscht, wenn die Ebene betreten wird.
2.4.4 Einbinden einer Audiodatei
Durch den HTML5-Standard ist es möglich, Audiodateien einzubinden. Der Player erscheint, ähnlich wie die anderen Operationen, unter dem Fließtext und wird je nach Browser unterschiedlich dargestellt.
Um eine Audiodatei einzubinden, schreibst du in das Operationsfeld A „audio“ und in das Operationsfeld B den Dateinamen ohne den Suffix. Die Datei muss im MP3-Format im Verzeichnis „media“ abgelegt werden.
2.4.5 Einbinden einer externen Wegverlinkung
Um eine externe Wegverlinkung einzubinden, schreibst du in das Operationsfeld A „ext_var“ und in das Operationsfeld B den Dateinamen ohne den Suffix. Die Datei muss als .txt im Verzeichnis „media“ abgelegt werden und sollte ausschließlich eine ID enthalten, die im Ebenenverzeichnis vorhanden ist. Gelangt man auf eine Ebene mit einer externen Wegverlinkung, erscheint ein Ladebalken, der bei 100% Füllstand den Spieler automatisch auf die hinterlegte Ebene führt.
Die „Ladezeit“ zur gleich umleitenden Ebene ist sehr kurz. Achte darauf, dass nicht viel Text im Fließtextinhalt steht, da dieser möglicherweise nicht vollständig gelesen werden kann. Ebenen, die zu einer „Umleitungsebene“ führen, sollten diese automatische Umleitung ankündigen, um den Spieler darauf vorzubereiten.
2.5 Verwenden der Suche
Im xdr5 Backend kannst du nach einzelnen Inhalten aller Ebenen suchen. Hierfür steht dir ein Filter zur Verfügung. Du kannst deinen Suchbegriff in das Sucheingabefeld eingeben, das sich über der Spalte mit dem gesuchten Inhalt befindet. Sobald du mit der Eingabe beginnst, wirkt sich dies nach dem Drücken jedes Buchstabens aus und der Filter wird angewendet.
Genau, der Ebenenbrowser im xdr5 Backend filtert den gesamten Verzeichnisinhalt und zeigt nur noch die Ebenen an, die das gesuchte Wort enthalten. Wenn du den Filter wieder löschen möchtest, entfernst du einfach den Text aus dem Suchfeld. Dadurch werden alle Ebenen wieder angezeigt.
2.6 Workflow und Übersicht über die Ebenen
Das xdr5-Backend mit seinem Ebenenverzeichnis fungiert als praktisches Tool, aber der Fokus deines Spiels liegt auf dem Inhalt und der Spielführung. Diese Elemente machen dein Spiel aus. Die Erstellung von Spielinhalten erfordert hohe Konzentration. Es ist wichtig, jede Ebene sorgfältig zu behandeln. Es empfiehlt sich, zu Beginn der Produktion eine logische Ebenen-ID-Struktur einzuführen. Wenn dein Spiel Räume enthält, kannst du diesen einzelne Nummern zuweisen. Zum Beispiel könnte die „Küche“ die ID 1 haben, und alle anderen Ebenen innerhalb der Küche tragen ebenfalls die 1 als Präfix sowie eine zusätzliche Nummer. So könnte der Schrank in der Küche die ID 11 haben, usw.
Das Ebenenverzeichnis im Ebenenbrowser ist alphabetisch aufsteigend sortiert, basierend auf den IDs der Ebenen.
3. Spielumgebung Details
Die Spielumgebung kann über die Datei „game.php“ aufgerufen werden und ist mit den meisten aktuellen Browsern kompatibel. Wenn du beabsichtigst, die Spielumgebung zu veröffentlichen, empfiehlt es sich, die Datei in „index.php“ umzubenennen. Beachte jedoch, dass du den neuen Dateinamen in der Datei „setup.json“ aktualisieren musst:
3.1 Definitionen
- Spielen Chatten Tauschen
- Inhaltsbereich
- Verlinkungen
- Itemliste
3.1.1 Spielen Chatten Tauschen
Durch Klicken auf die drei Schaltflächen gelangt man zu den grundlegenden Seiten des Spiels.
Beim Durchschalten der Seiten wird der aktuelle Spielstand im Browser gespeichert, sodass der Spieler nach dem Besuch der Tauschstation oder des Chats wieder auf derselben Seite im Spiel landet, auf der er zuvor war.
3.1.2 Inhaltsbereich
Der Inhaltsbereich ist der zentrale Ort des Spiels, an dem die Geschichte stattfindet.
Hier werden die Inhalte angezeigt, die im Backend unter Punkt 2.1, Abschnitt 1 („Fließtext Eingabefeld“) eingefügt wurden. Der Inhaltsbereich kann Text, Audiodaten, Items zum Einsammeln oder Texteingabefelder für beispielsweise Passwortabfragen enthalten.
Es wird empfohlen, maximal 400 Zeichen bzw. ungefähr 60 Wörter pro Seite einzufügen, da sonst der Inhalt von den drei Links überdeckt werden könnte.
3.1.3 Verlinkungen
Die Verlinkungen zu den weiteren Ebenen werden im Backend (siehe Punkt 2.1, Abschnitt 1: Eingabefelder für die Verlinkungen zu den weiteren Ebenen) eingegeben. Es ist wichtig, dass die Texte der Verlinkungen kurz und prägnant sind. Es wird nicht vorausgesetzt, dass immer alle drei Links genutzt werden.
Ich empfehle, den letzten Link häufig für die Option „Gehe zurück“ freizuhalten. Es kommt oft vor, dass der Spieler sich wünscht, in eine andere Richtung gegangen zu sein.
Wenn du eine Seite verlinkt hast, die nicht existiert, gelangst du bei einem Klick auf den Link zur Seite „error“.
3.1.4 Itemliste
Hier werden die Items, die du im Laufe des Spiels eingesammelt hast, als Bilder dargestellt. Die Bilder der Items befinden sich im Ordner „media“ und haben eine Größe von 80×80 Pixeln.
Mit einem Klick auf die Items kannst du die Itembeschreibung anzeigen, die in der Datei „setup.json“ hinterlegt ist.
3.2 Local Storage
Der „Local Storage“ ist ein Web-Speichermechanismus, der Teil der Web Storage API ist. Er ermöglicht es uns, Daten im Webbrowser des Spielers zu speichern und später wieder abzurufen. Im Vergleich zu Cookies bietet der Local Storage eine größere Speicherkapazität und erfordert keine Server-Kommunikation, um Daten zu speichern oder abzurufen.
In meiner Spielumgebung wird der Local Storage genutzt, um den Spielername und den Zustand der Items zu speichern. Diese Daten bleiben auch nach dem Schließen des Browsers erhalten, sodass der Spielername und der Spielstand, insbesondere der Zustand der Items, bei einem erneuten Aufruf des Spiels wieder verfügbar sind.
Übrigens wird der abgefragte Spielernamen auch im Chat und in der Tauschstation angezeigt. Wenn du in der Tauschstation ein Item in den Tauschkreis legst, wird für andere Spieler sichtbar, dass dieses Item von dir stammt.
Falls du keinen Namen eingibst, wird im Spielverlauf und im Chat ein „unbekanntes Wesen“ angezeigt.
Der Button „komplett reset“ im Footer ermöglicht das Zurücksetzen aller im Local Storage gespeicherten Daten. Dieser Button ist speziell für die Spielproduktion gedacht und kann beim Veröffentlichen des Spiels natürlich entfernt werden.
3.3 Aussehen
3.3.1 Hintergrundbilder
Sie können das Hintergrundbild im Verzeichnis „media“ bzw. tauschen, oder ersetzen. Wählen Sie einfach ein passendes Bild zu Ihrer Geschichte.
3.3.2 Items
Sie können die Items im Verzeichnis „media“ einfach tauschen, bzw. ersetzen. Wählen Sie einfach ein passendes Icon design zu Ihrer Geschichte.