Gérer un scénario de jeu complexe ou un système de quêtes

14

Quel type de méthodes est le mieux utilisé pour gérer des scénarios complexes dans un jeu? Une histoire simple est essentiellement une ligne linéaire avec des arrêts, ce ne serait donc pas si difficile, mais une histoire plus complexe est essentiellement un graphique dirigé élaboré, avec certaines exigences pour se déplacer entre les nœuds. Alors, comment stocker et maintenir efficacement un scénario de jeu complexe qui a une multitude de chemins et d'objectifs?

Fuu
la source

Réponses:

4

Cela dépend exactement de la façon dont votre système est assemblé. S'il s'agit d'une simple ramification, il suffit de la traiter comme une histoire linéaire avec des indicateurs pour indiquer exactement le chemin sur lequel vous vous trouvez (ou si vous préférez visualiser de cette façon, une arborescence binaire où chaque nœud est un point de choix d'histoire et le courant place dans l'histoire est un pointeur sur l'un des nœuds). Une histoire un peu plus complexe avec plusieurs chemins qui peuvent se croiser pourrait être modélisée sous forme de graphique acyclique dirigé en utilisant la même technique.

Que se passe-t-il si vous avez plusieurs arcs d'histoire en cours simultanément, comme un système de quêtes "monde ouvert" typique où le joueur peut avoir plusieurs quêtes à la fois? Si les quêtes n'interagissent pas entre elles, vous pouvez simplement traiter chacune d'elles comme son propre mini-arbre linéaire ou ramifié. Et s'ils se modifient mutuellement? Voici mon option préférée:

Un graphe orienté modifié, où chaque nœud représente une quête. Ici, vous avez deux types de flèches de base entre les nœuds: "activer" et "désactiver". De cette façon, terminer une quête peut ouvrir de nouvelles quêtes et invalider également les anciennes quêtes qui n'ont plus de sens (par exemple, si vous recevez un ensemble de quêtes, chacune étant destinée à aider un côté différent de certaines guerres). factions, terminer une quête peut masquer automatiquement les autres quêtes si vous voulez forcer le joueur à choisir un côté et à le respecter). Vous aurez également besoin de stocker dans chaque nœud son statut actuel: actif (actuellement visible par le joueur), inactif (n'a jamais été visible par le joueur), terminé (le joueur a terminé la quête), échoué (le joueur a vu la quête mais il a ensuite été désactivé, par exemple par l'achèvement d'une quête concurrente distincte).

Note amusante: chaque système qui fonctionne pour une quête / un scénario, fonctionne également pour un arbre de conversation individuel avec un PNJ, et vice versa. Donc, si vous trouvez un système de conversation adapté à votre jeu, demandez-vous s'il vaut la peine de le modifier également pour le système d'histoire.

Ian Schreiber
la source
De plus, selon le jeu en question, le graphique peut ne pas être acyclique: considérez, par exemple, si le joueur fait une erreur qui l'empêche de continuer, mais a une chance de la corriger en revisitant une série de nœuds antérieure.
Jon Purdy
9

Le jeu d'outils Neverwinter Nights comprend une tentative intéressante pour résoudre ce problème, connu sous le nom de l'Assistant Tracé. À l'origine, il n'était pas livré avec le jeu d'outils, vous devrez donc peut-être le réessayer si vous avez fait du développement de module il y a des années. Voici un long tutoriel qui passe en revue les différents composants conçus pour concevoir un tracé RPG.

Le résumé de base est que "l'assistant de complot" vous permet de construire un scénario et des quêtes de haut en bas. Par exemple, vous pouvez lui dire de générer le script approprié pour une quête "chercher 10 choses", qui mène à un fedex, qui mène à une chose scriptée personnalisée. L'assistant va ensuite générer une série de composants liés qui sont liés au script de tracé, puis vous permet de les placer dans le monde. Cela vous permet de déplacer facilement des PNJ ou des ennemis dans le monde sans rompre les connexions de script.

Je ne connais aucun autre jeu commercial utilisant cette technique (la plupart semblent utiliser une tonne de variables uniques vérifiées via des scripts), mais j'ai toujours pensé que c'était une base raisonnable pour construire un rpg ou une aventure complète jeu de style.

Ben Zeigler
la source