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.