Skip to content

Instantly share code, notes, and snippets.

@porky11
Last active October 19, 2018 20:44
Show Gist options
  • Save porky11/8aa8617911a314d1e7360cf0251e65db to your computer and use it in GitHub Desktop.
Save porky11/8aa8617911a314d1e7360cf0251e65db to your computer and use it in GitHub Desktop.
Story Engine Presentation

Einführung """"Ein interessanter Aspekt von Spielen sind Geschichten. Besonders interessant sind Geschichten, in denen der Spieler Freiheiten hat. Es gibt verschiedene Freiheiten. Freiheiten Alternativen """"Der Spieler kann den Verlauf der Geschichte selbst beeinflussen Reihenfolge """"Der Spieler kann Teile der Geschichte in beliebiger Reihenfolge erleben Wiederholung """"Der Spieler kann Teile der Geschichte mehrmals erleben """"Diese Freiheiten lassen sich vorzugsweise beliebig kombinieren Problem """"Modellierung komplexer Geschichten Ziel """"Einführung eines Konzepts zur modellierung von Geschichten, die alle drei Freiheiten enthalten. Aufbau """"Um eine komplexe Geschichte zu modellieren, ist es hilfreich, sie in kleinere Teile zu zerlegen. Diese Teile werden im Folgenden als Szenen bezeichnet. Szenen sind kleine, logisch in sich geschlossene Teile der Geschichte. Die Struktur der Gesamtgeschichte wird durch die Anordnung der Szenen definiert. Die Länge einer Szene ist beliebig und variabel. Geschichtsstrukturen Typen Linear """"In einer linearen Geschichte folgen die Szenen direkt aufeinander. Es gibt keine Alternativen. Linere Geschichten haben keine Freiheiten und besitzen nur einen einzigen Pfad. Diese Struktur kann durch ein Inhaltsverzeichnis übersichtlich dargestellt werden. Alternativen """"Eine Szene kann die Aufspaltung der Geschichte in mehrere alternative Pfade verursachen. Welche Szene gespielt wird, um so einen neuen Pfad zu beginnen, kann der Spieler wählen. Die Wahl kann auch indirekt durch Aktionen des Spielers getroffen werden. Um zu viele unabhängige Pfade zu vermeiden, ist es auch möglich, alternative Geschichten wieder zusammenzuführen. Sobald die Pfade zusammengeführt worden sind, ist nicht mehr nachprüfbar, welcher Pfad für diese Geschichte gewählt worden ist. Pfade können auch in vorherige Geschichten führen, was wiederholungen erlaubt, was vor allem für diese Grundstruktur sinnvoll ist. Dadurch wird ermöglicht, die Wahl des Pfades erneut zu treffen. Die Struktur solcher Geschichten entspricht der eines endlichen Automaten. Parallelen """"Mehrere Szenen können auch gleichzeitig in beliebiger Reihenfolge wählbar sein. Dadurch gibt es auch mehrere parallele Pfade. Es kann dennoch Abhängigkeiten zwischen den Szenen geben. Das abschließen einer Szene kann mehrere neue Pfade eröffnen, die in beliebiger Reihenfolge erlebt werden können. Manche Szenen können nur durch das Abschließen mehrerer Pfade eröffnet wreden. Mehrere Pfade können hier auch die Geschichten unterschiedlicher Personen repräsentieren. Die Zusammenführung von Pfaden entspricht dann dem Treffen von Personen, die Aufspaltung in Pfade enspricht dem Trennen dieser. Dies lässt sich durch einfache Abhängigkeitsgraphen modellieren. Zusammenfassung """"Das sind die grundlegenden Strukturen, die in Spielen zu finden sind. Sowohl der Ansatz der Alternativen als auch der Ansatz der Parallelen sind eine Erweiterung der der linearen Geschichte. Bei längeren Spielen und bei spielen, bei denen der Fokus nicht auf der Geschichte liegt, sind meist linear oder haben parallele Pfade. Spiele mit Fokus auf der Geschichte oder kurze Spiele haben oft mehrere alternative Pfade, um den Wiederspielwert zu erhöhen. Oft wird eine Abwandlung der erweiterten Verfahren verwendet, sodass bei Alternativen auch langfristige Auswirkungen der Entscheidungen möglich sind und bei Parallelen auch kleine Entscheidungen getroffen werden können. Es gibt auch die Möglichkeit, die Geschichten nicht durch feste Abhängigkeiten zu modellieren, sondern durch abstrakte parameter, welche keinen direkten Bezug zu den Ereignissen haben. Diese Art der Geschichte soll hier nicht betrachtet werden, wobei das zu beschreibende Modell die Integration entsprechender Systeme nicht verbietet. Das Ziel ist es aber, die Vorteile beider beschriebener erweiterter Ansätze zu vereinen und so strukturiert eine Geschichte mit alternativen und parallelen Pfaden zu modellieren, welche gleichzeitig existieren können. Ablauf Allgemein """"Bevor der erweiterte Ansatz beschrieben werden kann, muss klar sein, wie eine Geschichte dafür in eine Spielwelt integriert werden kann. Szenen werden in der Welt durch Events repräsentiert. Ein Event kann aktiv oder inaktiv sein. Solange ein Event aktiv ist, kann es durch eine Bedingung ausgelöst werden. Mögliche Bedingungen sind das Erreichen eines Ortes, das Klicken einer Auswahlbox oder sehr abstrakte Bedingungen, über die der Spieler womöglich nicht genau bescheid weiß. Meist ist es aber besser, wenn die Events in der Welt dargestellt werden, beispielsweise dadurch, dass sich personen an entsprechenden Orten aufhalten, wo sie sich sonst nicht aufhalten, oder dass dem Spieler die Aufgabe direkt mitgeteilt wird. Das Event kann mit einem Video, einer Mission oder einem Text verknüpft sein, muss es aber nicht. Durch das Abschließen des Events wird dieses Event deaktiviert und berechnet, welche neuen Events nun zugänglich sind, und die Welt entsprechend angepasst. Beispiel """"Zur Vereinfachung wird nun von folgender Struktur des Spiels ausgegangen Auswahl """"Die Events lassen sich in einer Liste von Entscheidungen auswählen. Auswirkung """"Durch die Auswahl wird das Event ausgeführt und ein Teil der Geschichte als Text angezeigt. Berechnung """"Die Liste der Entscheidungen wird neu generiert. Modell Aktionen """"Um herauszufinden, welche Events nach dem Ausführen eines Events möglich sind, muss die Aktion beschrieben werden, die ein Event bewirt. Es gibt verschiedene Standardaktionen, die beliebig Kombiniert werden können. Folge Notation """"A: B Bedeutung """"Szene A folgt nach Szene B Aufspaltung Alternativ Notation """"A: C B: C """"A|B: C Bedeutung """"Szene A folgt nach Szene C Alternativ folgt Szene B nach Szene C """"Szene A oder Szene B folgt nach Szene C Parallel Notation """"A: C B: C C/A&B """"A&B: C Bedeutung """"Szene A folgt nach Szene C Alternativ folgt Szene B nach Szene C Nach C sind A und B parallel """"Szene A und Szene B folgt nach Szene C Zusammenführung Alternativ Notation """"A: B A: C """"A: B|C Bedeutung """"Szene A folgt nach Szene C Alternativ folgt Szene A nach Szene B """"Szene A folgt nach Szene B oder Szene C Parallel Notation """"A: B&C Bedeutung """"Szene A und Szene B folgt nach Szene C Metaszenen """"Metaszenen können nicht ausgeführt werden Sie gelten unter anderen Bedingungen als ausgeführt Anfang Notation """"A* """"A*** Bedeutung """"Szene A gilt als einmal ausgeführt """"Szene A gilt als dreimal ausgeführt Makros Ersetzung Notation """"A = ... Bedeutung """"Wo A steht, kann ... eingesetzt werden, ohne dass sich die Bedeutung ändert Verwendung """"Szene A kann auch im Nachhinein in mehrere Szenen aufgespalten werden Repräsentation """"Damit die Geschichte simuliert werden kann, muss es eine interne Repräsentation gebne, die solche Zusammenhänge darstellen kann. Dafür eignen sich Petrinetze. Die Szenen werden durch Transitionen dargestellt, die Bedinungen durch die Marker in den Stellen. Der Nachteil von Petrinetzen ist, dass bei hinreichend komplexen Geschichten der Fokus nicht mehr auf den direkten Zusammenhängen zwischen den Szenen, sondern auf der Erstellung entsprechender Bedingungen liegt. Vor allem für einfache Zusammenhänge, wie eine lineare Folge, kann das unerwünschten Zusatzaufwand bringen. Daher wird die eingeführte Notation dynamisch in Petrinetze umgewandelt. Bei der Umwandlung der Notation ist zu beachten, dass die Reihenfolge, in welcher die Ausdrücke der Notation aufgeschrieben werden, irrelevant ist. Vorteile """"Die Notation ermöglicht es, neue Szenen hinzuzufügen, ohne die bereits vorhandenen Szenen zu verändern. Bei der direkten Verwendung von Petrinetzen ist die Erweiterung ohne Veränderung nur sehr beschränkt mögich. So sind wirklich alle Erweiterungen möglich, welche die bereits vorhandene Geschichte nicht verändern und wirkich nur neuen Inhalt hinzufügen. Durch Makros ist es sogar möglich, nicht nur zwischen Szenen, sondern sogar innerhalb von Szenen neue Aufspaltungen und Zusammenführungen einzufügen, wenn die Szene in mehrere Szenen aufgeteilt werden kann. Die einfache Erweiterung ermöglicht es sogar, die Geschichte zu erweitern, während die Geschichte gespielt wird. Es gibt auch unmögliche Zusammenhänge, die theoretisch durch die eingeführte Notation dargestellt werden können. Bei der Umwandlung werden diese erkannt. Dadurch lassen sich unlogische Zusammenhänge leicht erkennen und beheben. Bei diesen Zusammenhängen fehlt eine klare Verbindung zwischen den Szenen, weshalb es nicht wünschenswert ist, dass sie existieren können. Stattdessen ist es vorzuziehen, dass eine weitere Szene zwischen solchen Szenen eingeführt wird, um so einen fließenderen Übergang zu haben. Es können natürlich auch leere Szenen eingefügt werden, um einen entsprechenden Übergang zu ermöglichen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment