Verwaltung einer komplexen Spielgeschichte oder eines Questsystems


14

Mit welchen Methoden lassen sich komplexe Handlungsstränge in einem Spiel am besten verwalten? Eine einfache Story ist im Grunde eine lineare Linie mit Stopps. Das wäre also nicht so schwierig, aber eine komplexere Story ist im Grunde eine ausgefeilte gerichtete Grafik mit bestimmten Anforderungen, um sich zwischen Knoten zu bewegen. Wie kann man also eine komplexe Spielhandlung mit einer Vielzahl von Pfaden und Zielen effektiv speichern und pflegen?

Antworten:


4

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.


Je nach Spiel ist die Grafik möglicherweise auch nicht azyklisch: Bedenken Sie beispielsweise, dass der Spieler einen Fehler gemacht hat, der ihn daran hindert, weiterzumachen, aber die Möglichkeit hat, ihn durch erneutes Aufrufen einer früheren Reihe von Knoten zu korrigieren.
Jon Purdy

9

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.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.