Wie würde ich vorgehen, um NPC-Events / Szenen zu erstellen? Zum Beispiel hat jedes Rollenspiel eine Menge verschiedener Zwischensequenzen im Spiel, in denen Sie eine Story ausdrücken können.
Was ich bisher gedacht habe, sind verschiedene Auslöser und eine Zahl, die den Status der Geschichte angibt, in der sich der Spieler befindet. Wenn der Spieler einen dieser Auslöser trifft, überprüfe ich den Status und gehe von dort aus weiter. Bin ich irgendwie auf der richtigen Seite?
Wie animiere ich danach die Szenen? Muss ich sie nur hart ins Spiel codieren? Ich dachte, hier könnte eine Skriptsprache nützlich sein? ich bin mir nicht wirklich sicher
Mir ist klar, dass dies wahrscheinlich eine große Frage ist, aber wenn jemand in die richtige Richtung weisen könnte, wäre das großartig.
Ich benutze c # und XNA, wenn das überhaupt wichtig ist.
So wie ich meine Systeme derzeit eingerichtet habe, lösen Ereignisse, die von Objekten ausgelöst werden, Szenen aus. Wie Sie angegeben haben, können Spielerauslöser Szenenänderungen verursachen, und Sie können sicherlich eine Zustandsmaschine verwenden. Sie können Ihr eigenes Animationsszenenprotokoll erstellen, damit es nicht fest codiert werden muss. Sie haben auch die Möglichkeit, aktuelle Filmdateien abzuspielen, wenn Sie dies wünschen, aber im Allgemeinen sind sie ziemlich groß.
Ich denke, Sie sind definitiv auf der richtigen Seite, da dies Ihr Programm ist - Sie können es so machen, wie Sie es wünschen. Das Erstellen von Funktionen für solche Dinge ist faszinierend und erfüllend.
Ich habe noch nie eine echte Dokumentation zu diesem Thema gesehen, daher wäre ich interessiert, die Meinung anderer zu sehen.
quelle
Ich bin mir nicht sicher, ob Sie mehr von einem Codebeispiel als von der Theorie wollten, aber schauen Sie sich diese Frage an
quelle
Sie haben die richtige Idee, Trigger in Ihrem Spiel und in den Spielkarten festzulegen, um Ereignisse auszulösen (beachten Sie, ich meine nicht unbedingt die Ereignisse in der C # -Sprache). Skripte sind optional, aber sie können eine flexiblere Möglichkeit sein, diese Trigger zu Ihrem Spiel hinzuzufügen und neue auszuladen, wenn eine Änderung in der Storyline dies erfordert.
Unabhängig davon, ob Sie Skripte verwenden oder nicht, ist es im Allgemeinen gut, einen "Event Loader" zu haben, der eine neue Gruppe von Ereignissen oder Triggern an die Spielkarten übergeben kann, wann immer dies erforderlich ist. Bei Skripten wird es als Skriptlader betrachtet, der dafür verantwortlich ist, die Spielwelt an bestimmten Orten mit neuen Ereignissen zu füllen, einschließlich Ereignissen, die ein anderes Skript laden können.
Zum Beispiel wird zu Beginn des Spiels das erste Skript (oder Event Loader-Objekt) automatisch aufgerufen und das Spiel mit Event-Triggern gefüllt. Eines dieser Ereignisse kann ausgelöst werden, nachdem der erste Boss besiegt wurde, und dieses Ereignis lädt wiederum ein anderes Skript, das einige oder alle Ereignisauslöser im Spiel ersetzt. Jetzt haben Sie eine Reihe neuer Interaktionen oder Ziele, die Sie erkunden können. Dies erhöht die Flexibilität beim Verzweigen von Pfaden in Quests und Storys. Denken Sie jedoch auch daran, die Verzweigungspfade Ihrer Storyline gut zu planen, damit Sie wissen, dass alle Ihre Ereignisse in der Story sinnvoll sind.
quelle