Kommt genau darauf an, wie Ihr System aufgebaut ist. Wenn es sich um eine einfache Verzweigung handelt, behandeln Sie sie einfach als eine lineare Story mit einigen Flags, um genau anzugeben, auf welchem Pfad Sie sich befinden (oder wenn Sie diese Art der Visualisierung bevorzugen: eine binäre Baumstruktur, bei der jeder Knoten ein Story-Auswahlpunkt und der aktuelle ist Platz in der Geschichte ist ein Zeiger auf einen der Knoten). Eine etwas kompliziertere Geschichte mit mehreren Pfaden, die sich überkreuzen können, könnte mit derselben Technik als gerichteter azyklischer Graph modelliert werden.
Was ist, wenn mehrere Handlungsstränge gleichzeitig ablaufen, wie bei einem typischen "Open World" -Questsystem, bei dem der Spieler möglicherweise mehrere Quests gleichzeitig hat? Wenn die Quests nicht miteinander interagieren, können Sie sie einfach als eigenen linearen oder verzweigten Minibaum behandeln. Was ist, wenn sie sich gegenseitig modifizieren? Hier ist meine bevorzugte Option:
Ein modifizierter gerichteter Graph, bei dem jeder Knoten eine Quest darstellt. Hier gibt es zwei grundlegende Arten von Pfeilen zwischen Knoten: "Aktivieren" und "Deaktivieren". Auf diese Weise kann das Abschließen einer Quest neue Quests eröffnen und alte Quests ungültig machen, die keinen Sinn mehr ergeben (zum Beispiel, wenn Sie eine Reihe von Quests erhalten, von denen jede einer anderen Seite eines Krieges helfen soll) Fraktionen, die eine Quest abschließen, können die anderen Quests automatisch ausblenden, wenn Sie den Spieler zwingen möchten, eine Seite auszuwählen und dabei zu bleiben. Außerdem möchten Sie in jedem Knoten seinen aktuellen Status speichern: Aktiv (derzeit für den Spieler sichtbar), Inaktiv (für den Spieler noch nie sichtbar), Abgeschlossen (der Spieler hat die Quest beendet), Fehlgeschlagen (der Spieler hat die Quest gesehen) aber es wurde später inaktiviert, zum Beispiel durch den Abschluss einer separaten konkurrierenden Quest).
Amüsante Randnotiz: Jedes System, das für eine Quest / Storyline funktioniert, funktioniert auch für einen einzelnen Konversationsbaum mit einem NPC und umgekehrt. Wenn Sie also ein geeignetes Konversationssystem für Ihr Spiel finden, fragen Sie sich, ob es sich lohnt, dies auch für das Story-System zu ändern.
Das Neverwinter Nights-Toolset enthält einen interessanten Versuch, dieses Problem zu lösen, den so genannten Plot-Assistenten. Es wurde ursprünglich nicht mit dem Toolset ausgeliefert, daher müssen Sie es möglicherweise erneut versuchen, wenn Sie vor Jahren einige Modulentwicklungen durchgeführt haben. Hier ist ein langes Tutorial , das sich mit den verschiedenen Komponenten befasst, die für die Erstellung eines RPG-Plots entwickelt wurden.
Die grundlegende Zusammenfassung ist, dass Sie mit dem "Handlungsassistenten" Handlungsstränge und Quests von oben nach unten konstruieren können. Zum Beispiel können Sie ihn anweisen, das entsprechende Skript für eine "10 Dinge holen" -Quest zu generieren, die zu einem Fedex führt, der zu einem benutzerdefinierten Skript führt. Der Assistent generiert dann eine Reihe verknüpfter Komponenten, die mit dem Plot-Skript verknüpft sind, und ermöglicht es Ihnen, sie in der Welt zu platzieren. Auf diese Weise können Sie auf einfache Weise NPCs oder Feinde auf der ganzen Welt bewegen, ohne dass Skriptverbindungen unterbrochen werden.
Ich kenne keine anderen kommerziellen Spiele, die diese Technik verwenden (die meisten scheinen eine Menge von einmaligen Variablen zu verwenden, die über Skripte überprüft werden), aber ich war immer der Meinung, dass dies eine vernünftige Basis für die Erstellung eines vollständigen RPG oder Abenteuers war Spiel.
quelle
Formale Grammatiken sind ein wesentlicher Weg, um Handlungen zu beschreiben.
Zum Beispiel schlug Vladimir Yakovlevich Propp eine Grammatik für ein typisches Volksmärchen in "Morphology of the Folk Tale" vor .
quelle