Différences entre les versions de « Utilisateur:Jupotter/Sandbox »

De Wiwiki
Aller à la navigation Aller à la recherche
Ligne 122 : Ligne 122 :
Maintenant, quand le joueur sélectionne le sujet "Est-ce que vous avez besoins d'aide pour quelque chose?", Bendu dira sa ligne et le joueur sera présenté a une liste de choix dépendant des liens de ce Topic. Les choix seront listé dans l'ordre dans lequel ils ont été liés depuis le Topic.
Maintenant, quand le joueur sélectionne le sujet "Est-ce que vous avez besoins d'aide pour quelque chose?", Bendu dira sa ligne et le joueur sera présenté a une liste de choix dépendant des liens de ce Topic. Les choix seront listé dans l'ordre dans lequel ils ont été liés depuis le Topic.


=Scripting Dialogue=
=Scripter le dialogue=
We're going to make our first foray into the scripting system here, but it will be very straightforward, so don't worry if that's not your cup of tea.  
Nous allons faire notre première plongée dans le système de script, mais elle sera assez simple, alors ne vous inquiétez pas si ça n'est pas votre tasse de thé.


Right now we have a dialogue flow set up, but the game has no notion of what the various choices mean. When the player says, "Yes," we have to tell it that the player has accepted the quest and we're now at the next stage.  
Pour le moment, nous avons un flux de dialogue en place, mais le jeu n'a aucune idée de la signification des divers choix. Quand le joueur dit "Oui", nous devons lui dire que le joueur a accepté la quête et que nous sommes a l'étape suivante.


Double-click on the text "Oh, thank you..." under the GSQ01MeetingBenduYes topic. (Note that this brings us directly to the Info window without first bringing up the Topic window.)
Double cliquez sue le texte "Oh, merci..." dans le topic GSQ01MeetingBenduYes. (Notez que cela nous amène directement a la fenêtre d'Info sans passer par le Topic.)


At the bottom of this window, you see fields for Scripts marked "Begin" and "End." The Begin script runs when the NPC starts saying the line, and the End script will run when he finishes. (In scripting terminology, these little pieces of script are called "script fragments" - see [[Topic_Info_Fragments|Topic Info Fragments]] for more details.)
En bas de la fenêtre, vous devriez voir deux champs pour Scripts marqués "Begin" et "End". Le script Begin est lancé quand le PNJ commence sa ligne, et le script End quand il la finira. (En terminologie de scripting, ces petits scripts sont appelés des "Script Fragment".)


In the End field, enter this script command: <code>GetOwningQuest().SetStage(10)</code>
Dans le champ End, entrez cette ligne de script: <code>GetOwningQuest().SetStage(10)</code>


The <code>SetStage(10)</code> portion, as you might expect, sets a quest's current stage to 10. The <code>GetOwningQuest()</code> part just says that the quest we care about is the one that contains this dialogue. (Sometimes you might want a line in your quest to muck around in a different quest, so we have to be specific.)
La portion <code>SetStage(10)</code>, comme on peut s'y attendre, met l'étape actuelle de la quête a 10. la partie <code>GetOwningQuest()</code> précise juste que la quête qui nous intéresse est celle qui contient ce dialogue (Parfois, vous pouvez vouloir qu'une ligne dans une quête modifie une autre quête, on doit donc préciser).


If you press "Compile" you'll see some gobbledygook pop up under "Script Name" to the right. You can ignore that. (If you typed something wrong, though, the Editor will complain at you.)
Si vous appuyez sur "Compile", vous verrez quelque chose apparaitre dans le tableau "Script Name" a droite. Vous pouvez l'ignorer (Si vous avez fait une erreur par contre, le compilateur se plaindra).


When you're ready to close the window, it should look like this:  
Une fois finis, la fen6etre devrais ressembler a ceci:


[[Image:ScriptedDialogue.png|600px]]
[[Image:ScriptedDialogue.png|600px]]


And that's it! Close the window, and you're good to go. You'll note that in the dialogue view, this info's text now has "[S]" at the front of it, so we can easily spot which bits of dialogue have game logic attached to them without having to open each one.
Et c'est bon! Fermez la fenêtre, et vous êtes près. Vous remarquerez que dans la vue de dialogue, le texte de cette Info a un "[S]" a coté d'elle, pour que nous voyons facilement quels morceaux de dialogue ont un script attaché sans avoir besoins de tous les ouvrir.


=Branches and Conditions=
=Branches et Conditions=
What we've just done is craft a Branch of dialogue. By default it's a "Top-Level" branch (which is why it's colored orange in the view). You don't need to worry about the other branch types right now; just know that a top-level branch is available as one of the first things an actor is able to say to the player.  
Vous venez de créer une Branche d'un dialogue. Par défaut elle, c'est une branche de "Haut Niveau" (d'où la coloration orange dans la Vue). Vous n'avez pas a vous inquiéter des autre types de branche pour le moment; sachez juste que une branche de haut niveau est une de celle qui sera disponible comme première chose que dira un acteur au joueur.


The topic that has a yellow-orange bar at the top of it has been flagged as the branch's Starting Topic. When an actor is determining what choices to offer the player, it looks for starting topics and displays the prompts for all of them which are valid. If you remember, we put a condition on our starting topic that the quest stage had to be less than 10. Once the player chooses to accept the quest, we set the quest stage to 10, which means that starting topic is no longer valid; it won't appear in the actor's topic list anymore.
Le Topic qui a une barre jaune-orangée en haut est choisies comme point de départ de la Branche. Quand un acteur détermine quels choix offrir au joueur, il cherche les point d'entrée et offre un choix pour chacun de ceux qui sont valides. Si vous vous souvenez bien, nous avons mit une condition sur notre Topic de départ qui vérifie que l'étape de la quête est inférieur a 10. Une fois que le joueur choisis d'accepter la quête, nous mettons l'étape a 10, ce qui signifie que le topic de départ n'est plus valide; il n'apparaitra plus dans la liste des topics de l'acteur.  


Non-starting topics can have much smaller lists of conditions, since they are typically only accessed if the starting topic for their branch is valid. That's why we just limited them to a specific NPC so we wouldn't have extra voice files. From a gameplay perspective, it wouldn't have mattered.  
Les autre topics peuvent avoir une liste de condition bien plus réduite, puisque ils sont typiquement accédés seulement si le topic d'entrée de leur branche est valide. C'est pourquoi nous ne les avons que limité a un PNJ pour ne pas avoir plus de fichier de voix. Du coté de jeu, il n'y a pas de différence.


Once the player chooses a topic with no links out of it, the game will again look for valid top-level topics to give the player choices. If none are valid, the NPC will release the player from dialogue.  
Une fois que le joueur choisis un topic sans lien sortant, le jeu cherchera a nouveau pour un topic de haut niveau valide a offrir au joueur. Si aucun n'est valide, le PNJ arrêtera sa conversation avec le joueur.


=Try It Out=
=Essayez le=
Load the game with your plugin and go meet Bendu. (Remember, you can hop right there with <code>COC MixwaterMillWorkersHouse</code>.) He should now have something to say to you.  
 
Chargez le jeu avec votre et allez voir Bendu (Rappelez vous que vous pouvez vous y téléporter avec <code>COC MixwaterMillWorkersHouse</code>). Il devrais maintenant avoir des choses a vous dire.


[[Image:DialogueInGame.png|500px]]
[[Image:DialogueInGame.png|500px]]


There are a few problems with the dialogue as it currently stands:
Il y a quelque problèmes avec le dialogue pour le moment:
# It flashes directly to the next choice list. (Since there's no audio, if you don't have captions on, you won't have any idea what he said. Even if you do, they probably flashed by so quickly you couldn't read.)
# Il passe directement au choix suivant dans la liste (puisque il n'y a pas d'audio, si vous n'avez pas les sous-titres activés, vous n'aurez aucune idée de ce que il a dit. Même si vous les avez, ils sont probablement passés trop vite pour que vous puissiez lire).
# If you refuse to help, he'll just go right back to the same top level topic, which feels odd.  
# Si vous refusez d'aider, il retournera simplement aux même choix de dialogue, ce qui peut sembler étrange.
 
Heureusement, ces problèmes sont facilement réparés.


Luckily these are easily addressed.
=Enregistrer une piste temporaire=
Ouvrez le GSQ01MeetingBenduBranchTopic et naviguez jusqu’à la fenêtre de réponse. En bas de la fenêtre, vous verrez un bouton "Record". Appuyez dessus et, si vous avez un microphone raccordé a votre ordinateur, vous pouvez enregistrer la ligne vous même. Si vous n'en avez pas (ou que vous ne souhaitez pas enregistrer votre voix) vous pouvez simplement enregistrer quelque secondes de silence, assez pour laisser le temps de lire les sous-titres. Appuyez sur le bouton "Save" pour enregistrer le fichier sur le disque.  


=Recording a Temp Track=
=Recording a Temp Track=

Version du 11 février 2012 à 18:34

Sandbox de Jupotter, utilisé pour faire des traductions

Résumé

Ce chapitre va vous montrer comment créer des dialogues spécifiques a notre quête, "Le Dernier Espoir de Bendu Olo".


Vous allez apprendre:

  • Comment un dialogue pour Skyrim est crée dans le Creation Kit.
  • Comment scripter des événements suivant les choix de dialogue du joueur.

Les Vues de Dialogues

Skyrim offre un système d'agencement graphique afin de vous aider a voir le cheminement de votre dialogue pendant que vous le créez.


CKNewFeature.jpg Si vous êtes habitués a l'ancien système de dialogues de Fallout 3 et avant, il est toujours disponible sous l'onglet Player Dialogue (et, en fait, la visualisation est juste une jolie interface pour ce système).

Pour commencer avec les vues, naviguez a votre quête (GSQ01) et double-cliquez dessus pour ouvrir la fenêtre de quête. Puis ouvrez l'onglet Dialogue Views. Votre fenêtre devrais ressembler a ça:

600px

Pour faire une nouvelle vues, faites un clic droit dans le tableau a gauche de la fenêtre et sélectionnez "New". On va vous demander de donner un ID pour cette vue, et l'ID de la quête sera déjà placé pour servir de préfixe. Appelez cette vue "GSQ01BenduView". Cliquez dessus dans le tableau pour la sélectionner.

Nous n'avons rien ajoutés à la vue pour le moment, donc nous n'avons qu'un vide blanc. Faites un clic droit dedans, et sélectionnez "Create Branch". Vous allez devoir entrer un nom pour la branche, vous devriez l'appeler "GSQ01MeetingBenduBranch". Une fenêtre de plus pour nommer un topic (vous pouvez juste accepter le défaut "GSQ01MeetingBenduBranchTopic"), et, en appuyant sur Entrée, vous verrez une série de rectangles qui m'ont probablement aucun sens pour vous.

Fichier:DialogueStartingBranch.png

Ainsi, tout a l'heure nous avons créé une branche, qui a automatiquement créée un Topic pour elle même. Ce Topic ne contient pour le moment aucune Info.

600px

Topics

Double-cliquez sur le Topic pour ouvrir son éditeur.

450px

La seule chose qui nous intéresse ici est le champ "Topic Text". C'est celui qui défini la commande que le joueur choisiras dans la liste des options de dialogue en parlant a un PNJ. Nous allons faire du joueur un aventurier serviable, mettez donc "Est-ce que vous avez besoins d'aide pour quelque chose?"

Double-cliquez dans la table des Info, afin de pouvoir entrer la réponse du PNJ.

300px

Dans le champ "Response Text", entrez: "Oui, maintenant que vous le dites. Une saleté de voleur m'a pris mon amulette. Est-ce que vous voulez bien me la... ahem... ramener?"

Maintenant, appuyez sur le bouton "OK" en bas de la fenêtre deux fois. La fenêtre va disparaitre et vous verrez la fenêtre "Topic Info".

CKInDepth.jpg La première fois que vous avez appuyé sur le bouton "OK", l’éditeur fait un correction orthographique simple. Si vous avec bien copié le texte, il ne devrais pas y avoir d'erreur, donc le premier clic sur le bouton n'a rien fait
(N.D.T. Il se peut que le correcteur ne gère pas le Français, dans ce cas, appuyez sur Ignore ou Ignore All)

Topic Infos

600px

Il y a plein de données dans cette fenêtre, mais la plupart nous est inutile. Ce qui nous intéresse est le tableau Conditions au milieu. C"est ici que nous spécifions au jeu qui est capable de dire cette Info. Si nous nous contentons de cliquer sur "OK" ici et que nous laissions la condition vide, tous les PNJ du monde aurons un Topic disant "Est-ce que vous avez besoins d'aide pour quelque chose?"

Faites un clic droit dans la liste de Conditions et sélectionnez "New" pour faire notre première condition pour cette Info.

Fichier:ConditionItem.png

Chaque Condition est une vérification qui est sois Vrais, sois Faux. Si toute les conditions de la liste sont valides, alors l'Info sera valide. Notre première condition est juste qui est capable de dire cette ligne. "GetIsID" est sélectionnée par défaut, car elle est très souvent utilisée dans les conditions de dialogues. Cliquez sur le bouton au milieu qui pour le moment dit "INVALID" afin de choisir l'acteur approprié. Sélectionnez "GSQBenduOlo" dans le menu déroulant puis appuyez sur "OK".

Fichier:ConditionItemFilled.png

Appuyez sur OK dans la fenêtre de condition pour la fermer, et vous devriez la voir apparaitre dans la liste. Maintenant seulement Bendu peut la dire, mais nous ne voulons pas que il la dise tout le temps; seulement avant que il aie donné la quête au joueur. Nous allons alors ajouter une autre condition. Faites un clic droit et cliquez sur "New" à nouveau.

Nous allons continuer a limiter ce morceau de dialogue suivant l'étape actuelle de la quête. Ouvrez le menu déroulant "Condition Function" et sélectionnez "GetStage" (vous pouvez taper les premiere lettre pour vous déplacer dans la liste, pour gagner du temps). Maintenant, si vous cliquez sur le bouton "INVALID" pour sélectionner les paramètres, il va vous donner une liste de quêtes plutôt que d'objets de base (puisque il sait que la condition "GetStage" ne gère que des quêtes). Sélectionnez "GSQ01" dans le menu et cliquez sur OK.

Il faut aussi que nous disions a la condition quel étape nous intéresse. Puisque nous savons que la quête commence a l'étape 0, nous pourrions sélectionner "==" pour la comparaison et mettre la valeur a "0", mais on pourrais fausser la condition si nous ajoutions des étapes avant. La moyen le plus sur est de vérifier que l'étape actuelle est inférieur a 10, on choisis donc "<" comme comparaison, et "10" dans le champ de valeur.

Fichier:ConditionItemGetStage.png

CKInDepth.jpg Notez que vous pouvez réordonner les conditions avec les touche flèche gauche et droite, ou les boutons en bas a gauche de la fenêtre de conditions. Dans cet exemple l'ordre n'a pas d'importance, mais si vous commencez a mettre des conditions avec des OU et des ET, il faudra s'en préoccuper.

Au final, la fenêtre d'Info du Topic devrais ressembler a ça:

600px

Appuyez sur OK pour fermer la fenêtre, et encore sur OK pour fermer la fenêtre du Topic.

Lier les dialogues

Finallement, nous sommes de retour a la Vue de Dialogues! Avec notre morceau de dialogue présent. Si vous vous voir tout le texte (et pourquoi ne le voudriez vous pas?), cochez la case "Show All Text"en bas de la fenêtre.

Fichier:DialogueViewWithStuff.png

Puisque Bendu pose une question dans son texte, il faut donner au joueur une chance de répondre. Faites un clic droit dans la zone de la branche, et sélectionnez "Add Topic" (si vous ne voyez pas cette option dans le menu contextuel, vous n'avez probablement pas cliqué dans la branche).

Un nouveau Topic va être ouvert, Vous allez devoir lui assigner un ID; "GSQMeetingBenduYes" ira bien, puisque ça sera notre choix pour quand le joueur accepte d'aider. Mettez "Bien sur, je peut faire ça." comme texte du Topic, et double cliquez dans la table d'info pour faire une réponse. Comme texte, entrez "Oh, merci beaucoup. Il est partit a Reachwind Eyrie. Je vous en prie, faites vite! Je vous en offrirais deux fois sa valeur!" Cette fois, lorsque vous appuyez sur OK, le correcteur orthographique va se plaindre de "Reachwind". Appuyez juste sur le bouton Ignore pour ignorer, puis appuyez de nouveau sur OK pour revenir a la fenêtre de Info du Topic.

Tant que vous êtes la, double cliquez sur le texte de la réponse pour la rouvrir. Remarquez la liste des fichiers sonore en bas de la fenêtre.

300px

Puisque nous n'avons mis aucune condition sur ce dialogue, le jeu pense que tout le monde peut le dire, et va essayer d'avoir des fichier sonore pour tous les types de voix. C'est un immense gâchi d'espace disque et (si vous prévoyez d'enregistrer des voix) un gâchis de temps d'enregistrement. Fermez donc cette fenêtre et ajouter une condition GetIsID cherchant GSQBenduOlo (tout comme l'Info du Topic précédent). Maintenant, si vous regardez la réponse a nouveau, vous verrez que cette ligne ne sera dite que par une phrase de type MaleDarkElf, et donc ne montre que ce fichier.

300px

Revenez maintenant a la Vue de Dialogues a nouveau. Vous orrez un nouveau Topic dans la Branche, qui se sera étendu pour avoir la place.

450px

La beauté des Vues de Dialogue est que nous pouvons arranger ces topics comme nous le souhaitons. Le jeu ne s'occupe pas de ce positionnement; il est là seulement pour aider le créateur. Attrapez ce nouveau topic bar la barre du haut et déplacez la a un endroit qui vous arrange.

Faites un nouveau Topic, avec comme texte "Désolé, pas pour le moment." Faites répondre a Bendu "Bien, c'est votre choix." N'oubliez pas de mettre une condition GetisID a l'Info. Une fois que vous avez crée ces deux Topic, la vue de dialogue devrais ressembler a ceci:

450px

Tous ces Topics existent dans la branche, mais le jeu ne sait pas quelles sont les connections entre eux. Nous devons les lier ensemble. Cliquez sur GSQMeetingBenduBranchTopic pour l'activer. Puis cliquez une nouvelle fois sur le texte de la ligne (le curseur se transformera en main quand vous serez dessus) et glissez une ligne jusqu'a GSQ01MeetingBenduYes. De même, tirez une ligne du Topic initial jusqu'à GSQ01MeetingBenduNo.

450px

Maintenant, quand le joueur sélectionne le sujet "Est-ce que vous avez besoins d'aide pour quelque chose?", Bendu dira sa ligne et le joueur sera présenté a une liste de choix dépendant des liens de ce Topic. Les choix seront listé dans l'ordre dans lequel ils ont été liés depuis le Topic.

Scripter le dialogue

Nous allons faire notre première plongée dans le système de script, mais elle sera assez simple, alors ne vous inquiétez pas si ça n'est pas votre tasse de thé.

Pour le moment, nous avons un flux de dialogue en place, mais le jeu n'a aucune idée de la signification des divers choix. Quand le joueur dit "Oui", nous devons lui dire que le joueur a accepté la quête et que nous sommes a l'étape suivante.

Double cliquez sue le texte "Oh, merci..." dans le topic GSQ01MeetingBenduYes. (Notez que cela nous amène directement a la fenêtre d'Info sans passer par le Topic.)

En bas de la fenêtre, vous devriez voir deux champs pour Scripts marqués "Begin" et "End". Le script Begin est lancé quand le PNJ commence sa ligne, et le script End quand il la finira. (En terminologie de scripting, ces petits scripts sont appelés des "Script Fragment".)

Dans le champ End, entrez cette ligne de script: GetOwningQuest().SetStage(10)

La portion SetStage(10), comme on peut s'y attendre, met l'étape actuelle de la quête a 10. la partie GetOwningQuest() précise juste que la quête qui nous intéresse est celle qui contient ce dialogue (Parfois, vous pouvez vouloir qu'une ligne dans une quête modifie une autre quête, on doit donc préciser).

Si vous appuyez sur "Compile", vous verrez quelque chose apparaitre dans le tableau "Script Name" a droite. Vous pouvez l'ignorer (Si vous avez fait une erreur par contre, le compilateur se plaindra).

Une fois finis, la fen6etre devrais ressembler a ceci:

600px

Et c'est bon! Fermez la fenêtre, et vous êtes près. Vous remarquerez que dans la vue de dialogue, le texte de cette Info a un "[S]" a coté d'elle, pour que nous voyons facilement quels morceaux de dialogue ont un script attaché sans avoir besoins de tous les ouvrir.

Branches et Conditions

Vous venez de créer une Branche d'un dialogue. Par défaut elle, c'est une branche de "Haut Niveau" (d'où la coloration orange dans la Vue). Vous n'avez pas a vous inquiéter des autre types de branche pour le moment; sachez juste que une branche de haut niveau est une de celle qui sera disponible comme première chose que dira un acteur au joueur.

Le Topic qui a une barre jaune-orangée en haut est choisies comme point de départ de la Branche. Quand un acteur détermine quels choix offrir au joueur, il cherche les point d'entrée et offre un choix pour chacun de ceux qui sont valides. Si vous vous souvenez bien, nous avons mit une condition sur notre Topic de départ qui vérifie que l'étape de la quête est inférieur a 10. Une fois que le joueur choisis d'accepter la quête, nous mettons l'étape a 10, ce qui signifie que le topic de départ n'est plus valide; il n'apparaitra plus dans la liste des topics de l'acteur.

Les autre topics peuvent avoir une liste de condition bien plus réduite, puisque ils sont typiquement accédés seulement si le topic d'entrée de leur branche est valide. C'est pourquoi nous ne les avons que limité a un PNJ pour ne pas avoir plus de fichier de voix. Du coté de jeu, il n'y a pas de différence.

Une fois que le joueur choisis un topic sans lien sortant, le jeu cherchera a nouveau pour un topic de haut niveau valide a offrir au joueur. Si aucun n'est valide, le PNJ arrêtera sa conversation avec le joueur.

Essayez le

Chargez le jeu avec votre et allez voir Bendu (Rappelez vous que vous pouvez vous y téléporter avec COC MixwaterMillWorkersHouse). Il devrais maintenant avoir des choses a vous dire.

500px

Il y a quelque problèmes avec le dialogue pour le moment:

  1. Il passe directement au choix suivant dans la liste (puisque il n'y a pas d'audio, si vous n'avez pas les sous-titres activés, vous n'aurez aucune idée de ce que il a dit. Même si vous les avez, ils sont probablement passés trop vite pour que vous puissiez lire).
  2. Si vous refusez d'aider, il retournera simplement aux même choix de dialogue, ce qui peut sembler étrange.

Heureusement, ces problèmes sont facilement réparés.

Enregistrer une piste temporaire

Ouvrez le GSQ01MeetingBenduBranchTopic et naviguez jusqu’à la fenêtre de réponse. En bas de la fenêtre, vous verrez un bouton "Record". Appuyez dessus et, si vous avez un microphone raccordé a votre ordinateur, vous pouvez enregistrer la ligne vous même. Si vous n'en avez pas (ou que vous ne souhaitez pas enregistrer votre voix) vous pouvez simplement enregistrer quelque secondes de silence, assez pour laisser le temps de lire les sous-titres. Appuyez sur le bouton "Save" pour enregistrer le fichier sur le disque.

Recording a Temp Track

Open up the GSQ01MeetingBenduBranchTopic and navigate through to its Response window. At the bottom of the window, you'll see a "Record" button. Press this button and, if you have a microphone hooked up to your computer, you can record a performance of the line yourself. If you don't (or you're self-conscious and don't like the sound of your own voice) you can just record a few seconds of silence, enough to give the captions time to be read. Hit the Save button to commit this file to disk.

Do the same thing for the other two topics we made. (While you're in there, consider setting the emotions for those lines, so that Bendu will show Disgust or Happiness depending on your choice.)

In the "No" topic, click the box that says "Goodbye." This will drop the player out of dialogue when it's selected, so you won't end up back at the topic list after the line is done. (You should also make the "Yes" topic a goodbye. Since Bendu only has one top-level topic right now, that's not necessary, because we know he'll have nothing else to say when he's done here. But if another quest had dialogue for him, it might be confusing to the player.)

Additional Dialogue

While we're here, let's also make the dialogue that will close out the quest when we come back with the amulet.

In the dialogue view, right-click to create a new branch, and call it "GSQ01BenduFinishBranch." Accept the default name for the starting topic, and make the topic text, "I've brought your amulet." Give him something good as a response (I went with "I hope you gave that thief a good thrashing!"). It will want two conditions; one that restricts it to Bendu, and another that limits it to stage 30 of the quest. Finally, set it to be a Goodbye, and set the quest to stage 40 when it's said.

You should be able to do all this by now. It will look like this when you're done.

600px

We still haven't dealt with the amulet itself yet, and the quest has no way to proceed from stage 10 to 30, so we have work to do!

48px This might seem like a lot of work and unnecessary data-fumbling to just get characters to say a few lines. Part of the complexity is historical -- because it evolved from the old Morrowind text-based dialogue system, the organization can seem a little sideways and non-directed. But the same system also handles multiple characters saying the same line, combat barks, player greetings, hit responses, etc. Flexibility sometimes means complexity.

With some practice, all of this becomes second nature, and you'll be able to mechanically work the dialogue system as fast as you can write the lines themselves.


Modèle:Tutorial Bottom Bar