NWN2 Toolset - Conversations
Retour au sommaire
Lors de ce guide, vous apprendrez les bases de la création d'un arbre de conversation, que les joueurs pourront explorer à leur guise. Vous aurez un aperçu de la manière dont les scripts de condition/action sont utilisés pour rendre une conversation intéressante et complexe. Vous verrez également comment rattacher une conversation complète à une créature de votre module.
Bases d'une conversation
Les conversations sont un aspect important des fonctionnalités qu'offre NWN2. Elles sont utilisées pour discuter avec vos compagnons, marchander, ou encore obtenir des informations de quête auprès de PNJs. D'aspect, une conversation n'est juste qu'un arbre aux branches multiples, et n'a donc pas nécessairement besoin de deux interlocuteurs. Vous pouvez par exemple utiliser une conversation pour simuler l'affichage d'un panneau à trois leviers, dont trois réponses symboliseront l'utilisation de chacun.
Anatomie d'une conversation
Les conversations peuvent vous paraître compliquées au premier abord, mais vous saurez bientôt capable d'en construire facilement.
Dans cet exemple, vous avez une portion de la conversation de Pitney, visible dans le module de test "0100_UninvitedGuests". Les conversations (appelées également "dialogues") sont organisées en branches, un peu comme un ensemble de répertoires dans Windows. Chaque colonne ou ligne de la conversation est référencée en tant que "noeud". La section la plus à gauche est le texte, qui sera affiché au joueur.
Les noeuds en rouge sont les lignes que le PNJ dira. Les noeuds en bleu sont les réponses du joueur. Un noeud dont le texte est "[CONTINUE]" signifie que le joueur n'a aucun autre choix que sélectionner ce noeud lors de la conversation. Dans ce genre de cas, la conversation poursuivra jusqu'au prochain noeud de PNJ, lui permettant d'étendre le texte qu'il dira avant que le joueur puisse répondre.
- Le texte du noeud sélectionné : Toutes les informations dans la section "Node Properties" (D) référeront à ce neud
- Ensemble de réponses que le joueur peut choisir. A partir du noeud de PNJ précédent, le joueur aura le choix entre ces réponses et pourra cliquer (ou utiliser le raccourci clavier) sur celle qu'il désire. Notez le signe "+" à gauche de ces noeuds, qui permet d'afficher ou masquer les noeuds correspondants
- Informations supplémentaires du noeud : En faisant un clic-droit sur cette section (et en choisissant "colonnes"), vous pouvez choisir quelle colonnes d'information seront affichées dans l'éditeur de conversation. Dans cet exemple, vous pouvez voir, "Actions", "Conditions" et "Quête" pour chacun des noeuds.
- Propriétés du noeud : Cette section contient plus de détails sur le noeud sélectionné.
- Texte : Le texte du noeud sélectionné est affiché ici. Cliquez simplement dans la fenêtre de texte et inscrivez ce que PNJ (noeud en rouge) devra dire, ou ce que le joueur (noeud en bleu) pourra répondre.
Les noeuds en gris sont des liens vers d'autres noeuds, au sein d'une même conversation. Utiliser des liens vous permettra d'éviter d'ajouter des noeuds identiques pour une situation identique.
Pour ajouter un noeud dans une conversation, faites un clic-droit sur le noeud précédent, et choisissez "Ajouter". Une fenêtre "Nouvelle ligne" apparaîtra. Entrez simplement le texte que le joueur devra voir (le menu déroulant de langage et le bouton "Edit String Ref" ne s'appliquent pas pour vos modules, mais sont utilisés pour la campagne offielle).
Notions de scripts de conversation
Les scripts de NWN2 sont des outils puissants, et peuvent être particulièrement compliqués. Lors de la création de la campagne officielle, plusieurs équipes de programmeurs spécialisés ont passé énormément de temps à maîtriser l'éditeur de script, et tirer parti des possibilités qu'il offre. La technique de programmation va au-delà de ces guides, mais nous verrons les bases fondamentales des scripts destinés à être utilisés dans une conversation. Le mieux est d'expérimenter quelques scripts grâce au module de test, et voir comment ceux-ci ont été créés. Vous pourrez ensuite créer vos propres scripts dans vos propres modules.
Conditions
Les conditions sont des scripts de "test" rattachés à un noeud de conversation, et désigne un état "TRUE" ou "FALSE" (grossièrement "oui" et "non"). Lorsqu'une condition est "TRUE" (oui), le noeud auquel cette condition est rattachée peut s'exécuter. Par exemple, vous pouvez avoir un PNJ ayant deux messages de bienvenue : le premier est chaleureux et amical, le second froid et antipathique. Si vous rattachez un script de condition sur le premier noeud, qui vérifie si le joueur est un elfe, tout joueur elfe sera accueilli chaleureusement et amicalement. Les autres races auront un accueil froid et antipathique. Dans ce cas, le script de condition est utilisé pour définir une personnalité au PNJ.
Dans le module de test, les conditions sont utilisées pour déterminer quel noeud du dialogue de Pitney sera affiché, ceux-ci étant basés sur une progression du joueur par rapport à une quête. Si le joueur refuse d'aider Pitney, celui-ci suppliera encore une fois le joueur. Si le joueur a tué l'homme-lézard, Pitney exprimera alors sa gratitude.
Si une condition n'est pas remplie, le joueur ne verra jamais le noeud de conversation. Pour un noeud de joueur (en bleu), cela signifie que le joueur ne verra que trois réponses sur quatre. Pour un noeud de PNJ (en rouge), le premier noeud dont les conditions sont remplies sera affiché. Si vous vous entraînez sur le module de test, vous pourrez voir que Pitney a cinq noeuds initiaux. Celui que verra le joueur dépendra de sa progression dans l'intrigue.
- Onglets de propriétés du noeud : ces onglets vous permettront de voir les différentes propriétés du noeud de conversation (ici l'onglet "Conditions" est en avant)
- Opérateurs de condition : si un noeud dispose de conditions multiples, vous pouvez spécifier "And" ou "Or" pour indiquer si (respectivement) toutes les conditions doivent être remplies, ou si seulement l'une (ou une partie) d'entre elles est nécessaire
- Nom du script : cette section contient le nom du script de condition. Dans le cas ci-dessus, le script global "gc_journal_entry", qui va vérifier l'état d'une quête, est utilisé
- Paramètres de script : Le reste de la ligne pour chaque condition affiche quel(s) paramètre(s) sont passés dans le script de condition. Dans le cas ci-dessus, la valeur "01_lisardfolk" est donnée au paramètre "sQuestTag", et la valeur "10" est donnée au paramètre "sCheck". L'utilisation de paramètres est très utile, et permet à un même script d'être utilisé dans plusieurs conversations. Par exemple, "gc_journal_entry" peut être utilisé pour vérifier l'état de n'importe quelle quête dans tout le jeu. L'utilisation des paramètres est une nouveauté apportée à l'éditeur de NWN2 (Note : si vous ajoutez un script global de condition ou d'action, ou remplacez un script par un autre, cliquez sur le bouton "Rafraichir" pour que le script affiche les bons paramètres)
- Contenu du script : cette section affiche le contenu du script
Actions
Une action est un script utilisé pour accomplir une grande variété de tâches. Pour un noeud de PNJ (en rouge), le script d'action est exécuté au moment ou le noeud est affiché. S'il s'agit d'un noeud de joueur (en bleu), le script d'action s'exécutera dès le joueur cliquera dessus. Par exemple, un script d'action peut provoquer l'hostilité d'un PNJ par rapport au joueur, ou alors transférer le joueur dans une autre zone, ou encore mettre de l'or dans un coffre spécifique. Dans le module de test, un script d'action est utilisé pour donner une récompense au joueur, en lui accordant des points d'expérience si celui-ci a terminé la quête de Pitney. Les scripts d'action sont rattachés à un noeud de la même manière qu'un script de condition.
Ecrire une conversation
Créons une conversation pour la victime de l'homme-lézard, dans la demeure de Pitney Lannon. Le joueur pourra parler à cette personne après avoir défait l'homme-lézard.
Pour créer une nouvelle conversation, utilisez le menu déroulant "Fichier", choisissez "Nouveau" et cliquez sur "Conversation".
Votre nouveau dialogue sera entièrement vide (excepté le noeud "Racine"). Comme mentionné précédemment, vous pouvez ajouter votre première ligne en faisant un clic-droit sur le noeud "Racine", et en choisissant "Ajouter". La fenêtre "Nouvelle ligne" apparaîtra, dans laquelle vous pourrez écrire votre première ligne de dialogue. Notez que les noeuds directement reliés au noeud "Racine" sont toujours des noeuds de PNJ (en rouge).
Une fois que vous aurez cliqué sur "OK", le nouveau noeud sera ajouté, et la victime pourra dire son texte d'introduction.
Si vous voulez ajouter un noeud à ce PNJ, vous devez en premier ajouter un noeud de joueur. Si vous voulez que deux noeuds de PNJ se suivent, vous devez ajouter un noeud de joueur vide. Ajoutons un noeud de joueur vide pour l'introduction.
"FIN DU DIALOGUE" : si un noeud de joueur n'est suivi par aucun noeud de PNJ, il sera considéré comme noeud de fin de conversation. Voyez ce qui se passe lorsque vous rajoutez un noeud de PNJ après votre noeud de joueur vide.
Le noeud de joueur s'est changé en "CONTINUER", au moment où un noeud a été créé directement à la suite. A présent que le PNJ a dit ses deux lignes, ajoutons quelques noeuds de joueur afin que ce dernier puisse répondre. Pour des réponses multiples, ajoutez plusieurs noeuds au même noeud parent. Si vous voulez trois réponses possibles au noeud "Je ne sens plus mes jambes", ajoutez trois noeuds en faisant trois fois un clic-droit sur cette ligne, et "Ajouter".
A présent, vous avez trois noeuds de réponse possibles reliées à ce noeud de PNJ. Insérez votre texte pour chacun de ces noeuds, en écrivant dans la section destinée à cet usage (en bas à droite de l'éditeur de dialogue).
A partir du moment où aucun noeud ne suit ces réponses, celles-ci sont considérées comme noeuds de fin de conversation. Si vous le désirez, vous pouvez continuer à rajouter des noeuds de PNJ, les noeuds de joueur qui suivent, etc. Le principe des noeuds de conversation est relativement simple.
A propos des échoppes :
Les échoppes sont généralement accessibles à partir d'une conversation, étant donné qu'elles ne sont pas apparentes en jeu. Les échoppes ont un blueprint, comme tous les autres types d'objets. Après avoir créé le blueprint de votre échoppe, placez-le en jeu comme une créature ou un plaçable. En général, il est préférable de placer l'échoppe près du PNJ faisant office de marchand. Examinez le module de test pour voir un exemple d'échoppe.
- Noeud de l'échoppe : c'est le noeud qui permettra d'accéder au contenu de l'échoppe, dans le module de test
- Script "ga_open_store" : ce script d'action ouvrira l'inventaire de l'échope. Le Tag de l'échoppe est entré en paramètre
- Panneau de propriétés de l'échoppe : Pour en modifier les paramètres (comme lui assigner un Tag), ouvrez son panneau de propriétés. Cliquez sur l'onglet "Echoppe", puis cliquez sur "Editer...". Vous pourrez y insérer des instances d'item à partir de n'importe quel blueprint d'item.
- Contenus de la zone : Toutes les échoppes présentes dans la zone seront recensées dans ce panneau, dans l'onglet "Echoppes".
Quelques principes de base
Les liens sont d'excellents moyens d'économiser du temps. Si vous désirez modifier le noeud vers lequel un lien pointe, ce dernier sera automatiquement mis à jour.
En reprenant la conversation que l'on a créée lors de ce guide, admettons que le survivant s'accroche à la vie, et finit par mourir si le joueur pose trop de questions.
En pratique, la conversation devrait ressembler à ceci :
Notez que les noeuds "Pourquoi vous aiderais-je ?" et "Qui êtes-vous ?" ont une progression identique. Construire un dialogue de cette manière représente plus de travail que nécessaire, et encombre votre conversation. Le moyen le plus simple est d'utiliser des liens pour améliorer cette conversation.
La première étape revient à supprimer ce qui se trouve après le noeud "Qui êtes-vous ?". En faisant un clic-droit sur le noeud "Pitié, aidez-moi.", et en choisissant "Supprimer", ce noeud sera supprimé, ainsi que tout ce qui suit.
La seconde étape consiste à créer le lien. Nous voulons que le noeud "Qui êtes-vous ?" enchaîne sur le noeud qui suit "Pourquoi vous aiderais-je ?". Faites un clic-droit sur ce noeud et choisissez "Définir destination du lien".
Le noeud est maintenant désigné comme étant la destination du lien. Pour rajouter ce lien au noeud "Qui êtes-vous ?", faites un clic-droit sur ce noeud, et choisissez "Insérer lien".
Une fois le lien inséré, vous verrez un noeud de couleur grise rattaché à "Qui êtes-vous ?". Ceci indique que si le joueur sélectionne ce noeud lors de la conversation, le PNJ répliquera comme si le noeud "Pourquoi vous aiderais-je ?" avait été sélectionné.
Si vous ne vous rappelez plus de la destination d'un lien, double-cliquez simplement dessus. L'éditeur de conversation sélectionnera directement le noeud de destination.
Les liens peuvent ainsi faire la différence, vous permettant en quelques minutes d'écrire une conversation qui pourrait vous prendre quelques heures.
A propos des accolades et des barres verticales :
Ces caractères peuvent être utilisés pour écrire un texte visible dans l'éditeur, mais qui ne sera pas affiché en jeu. Si vous désirez par exemple laisser des notes personnelles que vous ne voulez pas afficher en jeu, vous pouvez insérer du texte entre deux barres verticales |comme ceci|, ou entre accolades {comme cela}.
La ligne du dessus peut sembler étrange, mais le joueur ne verra que "Merci étranger, je n'oublierai jamais votre geste.". L'auteur de la conversation peut par exemple laisser une note personnelle concernant un éventuel script modifiant l'alignement. Personne ne verra cette note en jeu.
A propos des dialogues à noeud unique :
Ces dialogues sont des conversations qui ne contiennent qu'un seul noeud de PNJ, et aucune autre réponse. Lorsqu'un joueur engage une discussion avec un objet auquel est rattaché une conversation "à noeud unique", le jeu ne se fige pas pour entrer en mode dialogue. A la place, un message flottant apparaît au dessus du PNJ, sans mettre le jeu en pause.
Dans le module de test, la conversation "01_ginni" est un exemple de dialogue "à noeud unique". La femme de Pitney prononcera toujours une seule et même phrase, ne donnant pas au joueur la possibilité de répondre.
A propos des noeuds en cascade :
Les "noeuds en cascade" (terme adapté) ou "Fall-through" est un terme désignant la création de multiples noeuds de PNJ, chacun sous condition(s). Si le premier noeud ne peut pas s'afficher, le processus vérifie le prochain noeud de PNJ, et ainsi de suite. Comme mentionné précédemment dans le guide, un noeud ne sera pas affiché si sa condition ne peut pas être remplie (s'il ne peut pas être "TRUE"). Observons la conversation de Pitney Lannon :
Notez la façon dont les cinq noeuds de PNJ, directement rattachés au noeud racine, sont organisés. Le premier noeud dont la condition est "TRUE" sera affiché, et la conversation poursuivra à partir de ce noeud. Les autres noeuds seront ignorés. Ici, l'auteur a laissé des commentaires entre barres verticales pour indiquer quand et comment les noeuds doivent s'afficher. Lorsque le joueur rencontrera Pitney pour la première fois, le premier noeud sera affiché. Lorsqu'il engagera à nouveau la conversation, le jeu vérifiera si le joueur a refusé d'aider Pitney, et affichera le second noeud si c'est le cas. Si le joueur a accepté, un autre noeud sera affiché. Et ainsi de suite.
Lorsque vous vous serez familiarisé avec les conditions, vous pourrez utiliser des noeuds en cascade pour créer des conversations complexes et adaptées. Le joueur pourra penser qu'un dialogue différent est engagé à chaque fois, alors qu'une seule conversation composée de noeuds en cascade est utilisée.
A propos des noeuds à affichage unique :
Vous pouvez occasionnellement désigner un noeud qui ne sera jamais répété. Dans le module de test, le dialogue initial de Pitney (dans lequel il parle au joueur de ses problèmes) n'est affiché qu'une seule fois. Après cela, Pitney n'en parlera plus, laissant croire au joueur qu'il se souvient de lui.
Pour paramétrer un noeud de la sorte, cliquez sur ce noeud et sélectionnez l'onglet "Noeud" dans les propriétés (en bas de la fenêtre). Cliquez sur le champ "Afficher une fois ?", et vous verrez les différentes options du menu déroulant. Ce champ est réglé sur "Toujours" par défaut, ce qui signifie que le noeud sera toujours accessible à moins qu'un script de condition en décide autrement.
Choisissez "Une fois par partie" pour être sûr de n'afficher ce noeud qu'une seule fois dans le jeu. Soyez certain qu'il fasse partie d'une série de noeuds en cascade ou la conversation se terminera à ce point.
Pour les modules persistants, il est préférable de choisir "Une fois par créature qui utilise cette conversation". Autrement, le noeud ne sera visible que pour le premier joueur discutant avec ce PNJ, et les autres joueurs ne le verront pas.
Rattacher une conversation à un objet
Les conversations sont placées sur n'importe quel objet pouvant discuter avec un joueur. Sélectionnez la créature ou le plaçable, et repérez l'entrée "Conversation" dans ses propriétés. Cliquez sur le champ correspondant, puis sur le bouton permettant d'afficher le menu déroulant. Vous pourrez ainsi consulter la liste des conversations du module, et choisir celle que vous voulez rattacher à l'objet. Lorsque le joueur essaiera de discuter avec cet objet, la conversation choisie sera engagée.
Conclusion
Neverwinter Nights 2 offre un système de conversation extrêmement puissant, et pouvant être intimidant au premier abord. Mais il est relativement simple d'utilisation. Mettez à l'épreuve vos compétences d'écrivain et voyez quelles sortes de conversations vous pouvez offrir aux joueurs. Maintenant que ce guide est terminé, vous devriez savoir :
- Quelle est la structure de base d'une conversation dans NWN2.
- Un aperçu explicite du fonctionnement des conditions, des actions et des scripts de conversation.
- Comment créer votre propre conversation.
- Comment insérer des liens, et commenter vos textes.
- Comment rattacher une conversation à un objet du jeu.
Réactions
Pas de compte JeuxOnLine ?
Créer un compteQue pensez-vous de Neverwinter Nights 2 ?
315 joliens y jouent, 840 y ont joué.
-
25 mai 2015
-
7 juin 2013
-
5 janvier 2012
-
17 août 2011
-
8 juin 2011