Accueil
News
Liens
 
 

Boisperdu
Modules
Conseils
Tutoriaux
NPC Activities

Me contacter
Forum



Administrateur


Je vais essayer de regrouper ici quelques conseils pour vous permettre de bien débuter votre module et de faire quelque chose un minimum structuré afin de vous y retrouver facilement.

Pré requis :

En premier lieu, il est important de vous familiariser avec l’éditeur. Pour cela il y a des tutoriaux qu’on trouve sur le net, certains sont biens faits, d’autres moins. Je vous conseille celui de Baldurien qui est très bien fait et assez complet. Le seul point négatif c’est qu’il est basé sur l’éditeur en anglais, il est donc nécessaire de faire un peu de gymnastique pour trouver la correspondance si vous avez l’éditeur en français, mais rassurez vous, il n’y a rien d’insurmontable là dedans.

- Tutorial de Baldurien -

  Ensuite je vous conseille de lire un tutorial sur les scripts. Même si à ce niveau il n’est pas indispensable de savoir scripter, cela vous permettra d’avoir une idée des possibilités des scripts. De toute manière c’est quasiment indispensable si vous voulez faire un module intéressant pour les joueur, alors autant s’y mettre tout de suite. Je ne me rappelle plus très bien de celui que j'ai lu (qui était très bien), jetez donc un oeil à celui de Baldurien.

- Tutorial de Baldurien -

Pendant qu’on est dans les scripts, il y a deux aides lorsque l’on veut scripter :

- La colonne de droite de l’assistant de script : vous tapé en haut dans la zone saisissable un mot clé ou un morceau de mot clé et les fonctions qui contiennent ce mot clé apparaissent, il vous suffit de double cliquer sur celle qui vous intéresse pour que celle-ci soit insérée dans votre script. Dans la zone en bas, vous avez alors l’explication de la fonction (en anglais) avec la liste des paramètres (c’est bien pratique ça !).

- La deuxième chose c’est le Lexicon, c’est un élément indispensable lorsque vous voulez faire des scripts, en fait c’est une sorte de bibliothèque de toutes les fonctions et constantes de NWNScript avec des exemples, des explications, des fonctions similaires ou complémentaires,… Enfin, un outil indispensable avec en plus des tutoriaux, un outil de recherche (par mot clé),… très bien fait mais en anglais !
Cet outil vous permettra en outre de retrouver les #include à mettre pour utiliser certaines fonctions que l’on ne retrouve pas dans la bibliothèque de base de NWNScript (zone à droite de l’assistant de script ci-dessus cité).
Vous le trouverez en ligne sur internet ici ou en version téléchargeable pour le consulter sur votre PC. Il en existe une version française en ligne moins complète et moins pratique.

- Lexicon en Anglais -

Préparation du scénario :

Une fois la première étape passée, vous pouvez vous lancer dans la création de votre module proprement dit.
Si je peux vous donner un conseil c’est de le préparer au préalable sur papier pour ne pas vous perdre dans des zones qui ne servent à rien, des quêtes secondaires qui interagissent sur la quête principale et pour ne pas risquer d’avoir des incohérences dans les transitions de zones et dans le déroulement de vos quêtes.
Je vous propose donc de vous concentrer dans un premier temps uniquement sur la quête principale.
Cette méthode peut paraître un peu fastidieuse mais elle vous fera gagner beaucoup de temps après.

Voici donc les étapes que je vous conseille :

1 – Réfléchir aux différentes zones en jeu : Quelles sont les grandes zones à mettre en place (ville, village, caverne, forêt,…) Il faut en gros définir les zones principales où vont se dérouler les étapes importantes de la quête principale. Faire une carte grossière en disposant les zones les unes par rapport au autres (ça vous permettra d’avoir une certaine cohérence dans les transitions de zones et d’avoir un positionnement géographique de celles-ci). Il ne s’agit pas ici de définir les maisons, les petites cavernes,… mais uniquement les zones principales.

2 – En parallèle, préparez les grandes lignes de l’intrigue principale. Le but de cette étape est d’avoir une trame à suivre lors de la création du module afin de ne plus à avoir à se poser de question sur le déroulement de l’intrigue :
- Comment initier l’intrigue.
- Les lieux à visiter impérativement pour faire avancer l’intrigue.
- Les grands événements liés à l’intrigue (mort d’un Seigneur, attaque d’un village par Gobelins, enlèvement d’une princesse,…) et les étapes importantes de celle-ci (rencontre avec tel ou tel NPC, découverte de tel ou tel objet, visite de tel lieu,..). Positionnez ces événement et étape sur votre carte, pour avoir une idée de la chronologie « géographique » de l’intrigue.
- A ce moment là vous pouvez aussi réfléchir succinctement à certaines sous quêtes liées à l’intrigue (il faut retrouver la fille d’untel pour qu’il nous aide dans l’intrigue principale, il faut trouver tel objet pour qu’untel accepte de nous donner une info,…). Il n’est pas nécessaire à ce niveau d’entrer dans le détail c’est juste pour avoir une trame à suivre lors de la création du module.
- Vous pouvez également identifier ici les personnages principaux de l’intrigue (Seigneur untel, Grand prêtre,…) pour les positionner sur la carte (lieu de résidence, différentes apparitions,…) et déterminer leur lien avec l’intrigue (aide, méchant, info,…).

Création du module :

1 – Une fois que les grandes lignes sont en place, vous pouvez commencer le module proprement dit. Si l’intrigue est un peu complexe, je vous conseille de vous concentrer uniquement sur celle-ci, sans vous occuper des quêtes secondaires, ni de l’habillage des zones (plaçables, créature,…) ça vous permettra ainsi de la faire en une seule traite et ça vous évitera d’être perdu dans le cheminement de votre intrigue principale. Ainsi vous prenez étape par étape votre intrigue principale, créant les zones et acteurs nécessaires et avancez dans l’intrigue sans vous occuper de meubler les zones. A chaque étape de votre intrigue, je vous conseille d’alimenter une variable « d’avancement » de l’intrigue par une valeur correspondant à l’étape terminée (par exemple prendre la même valeur que le numéro de "l'entrée" du journal) afin de toujours savoir où en est le joueur, de toute manière vous aurez très souvent besoin de savoir où en est votre joueur pour déclencher une action ou une conversation particulière.
Vous vous retrouverez alors avec vos zones principales (assez nues) et vos acteurs principaux. Ainsi votre intrigue sera aboutie et bien ficelée.

2 – La quête principale terminée, vous pouvez reprendre chacune de vos zones pour les compléter en terme de décor, plaçables, créatures, sons et quêtes secondaires (que vous pouvez traiter comme des mini-quêtes : esquisse papier, acteurs principaux,…). Vous pouvez alors créer de nouvelles zones si nécessaire mais celle-ci n’étant pas liées à la quête principale ce n’est pas la peine de les multiplier.

3 – Voilà votre module est fini, il ne reste plus qu’à bien le tester, ajouter une cinématique de début, de fin et d’en faire profiter tout le monde.

Simple non ?

Tout au long votre dur labeur de création, vous allez vous poser plein de questions. N’hésitez pas à rechercher sur les forums s’il n’y a pas la réponse à vos questions et le cas échéant posez les, il y a toujours des âmes charitables pour vous aider.

Codification :

Il est important de bien codifier les noms des différents éléments de votre module pour pouvoir facilement retrouver un dialogue ou un script quand vous aurez une centaine de dialogue et deux à trois cents scripts.
Pour ma part j’ai opté pour la codification ci-dessous :

1 – dialogue :

xx_yyy_prénomNPC

xx est un diminutif du module (bp pour « Boisperdu »
  yyy est un diminutif de la zone (abp pour « auberge de Boisperdu »)
  prénomNPC est le prénom du propriétaire du dialogue

2 – Script lié à un dialogue :

xx_prénomNPC_cn

xx est un diminutif du module (bp pour « Boisperdu »)
  prénomNPC est le prénom du propriétaire du dialogue
  c signifie « utilisé en condition d’exécution dans un dialogue »
  n est un numéro chrono

xx_prénomNPC_an

xx est un diminutif du module (bp pour « Boisperdu »)
  prénomNPC est le prénom du propriétaire du dialogue
  a signifie « utilisé en action conséquente dans un dialogue »
  n est un numéro chrono

3 – Autre script :

xx_yyy_libellé

xx est un diminutif du module (bp pour « Boisperdu »)
  yyy est un diminutif de la zone (abp pour « auberge de Boisperdu »)
  libellé : libre

4 – Tag :

tNomObjet

t signifie que c’est un tag
  NomObjet est soit le PrénomNom d’un NPC, soit le Nom de l’objet

tEntreeZone

t signifie que c’est un tag
  Entree signifie que c’est le tag d’un point d’entrée dans une zone
  Zone est le nom de la zone

tSortieZone

t signifie que c’est un tag
  Sortie signifie que c’est le tag d’un point de sortie d’une zone
  Zone est le nom de la zone

5 – Variable d’avancement :

vMissionPréomNPCEtat

v signifie que c’est une variable
  Mission signifie que c’est lié à une quête
  PrénomNPC est le prénom de l’initiateur de la mission
  Etat signifie que c’est une variable d’avancement.

Comme valeur je stocke la valeur de l’indice correspondant dans l’entrée du journal, ainsi il est facile de savoir où en est le joueur dans la quête en question.

Codification et Réutilisation :

Il faut également essayer, dans les dialogues, de réutiliser des scripts déjà existant (condition d’exécution et action conséquente), en effet un test sur une compétence, sur le sexe, sur une quantité d’or, n’est pas spécifique à un dialogue, on peut le retrouver dans plein de dialogues.

Par exemple, une condition d’exécution telle que si c’est une femme pourra se coder :

xx_gen_fem_c

xx est un diminutif du module (bp pour « Boisperdu »)
  gen signifie que c’est un script générique (réutilisable)
  fem indique le type de test
  c indique que c’est une condition d’exécution

Une condition sur le fait que le joueur possède 100 pièces d’or pourra se coder :

xx_gen_100_c

Une condition sur une probabilité de 25% d’afficher la phrase pourra se coder :

xx_gen_ale25_c

Plus les noms seront explicitent, plus il sera facile de les réutiliser.

Test du module :

Il est important de tester votre module afin de vérifier que tout fonctionne bien.
Je me suis longtemps posé la question : « Comment tester ma dernière modification sans devoir tout refaire depuis le début ? » En effet on ne peut pas repartir d’une sauvegarde car sinon les modifications réalisées ne sont pas prise en compte.

La réponse est toute simple en fait, il suffit de déplacer le point de départ du module dans la zone à tester (c’est le cercle bleu avec une flèche rouge dedans).

Dans le cas où certaines variables seraient initialisées sous certaines conditions dans une autre zone, il vous suffit de placer un trigger (déclencheur) avec un petit script qui met les bonnes valeurs dans vos variables. Et si le joueur a besoin d’objets particuliers, il suffit de les poser parterre et de les ramasser dans votre test.

Une fois votre test terminé, vous supprimez le trigger et les objets posés au sol, et repositionnez votre point de départ au bon endroit.

Voilà, vous êtes prêt pour vous lancer dans l’aventure de la création de module…

- Version word -


 


52012 visiteurs


©Copyright 2005 site créé par laxam