Tutorial de construction de module Chapitre 3: Portes et transition de zones

Introduction
En plus de vous presenter la gestion des portes, ce tutorial va vous expliquer comment lier des zones entre-elles.

Objectif
Le but de ce tutorial est de lier la zone contenant le village de Fern avec la mine de Fernesk.

Tutorial

Portes (Doors)

Les portes sont des objets spéciaux du jeu qui ne peuvent etre placées qu'à des endroits spécifiques que l'on appelle point d'accrochage (hook points) sur certaines cases. En général il y a deux types de portes, universelles (universal) et spécifique à un groupe de cases (tileset specific). Les portes universelles peuvent etre placées dans n'importe quelle zone. Les portes "tileset specific" ne peuvent aller qu'avec la zone en cours et son "tileset" associé.

1. Démarrez le Toolset et chargez le module "tutorial".

2. Ouvrez la zone "Fern".

3. Ouvrez la palette portes en appuyant sur le second bouton à partir de la gauche sur la ligne du bas.

4. Selectionnez une des portes universelles en bois (universal wooden doors). Remarquez qu'une porte tournoyante est attachée à votre curseur de souris.

5. Amenez la porte sur l'entrée de l'auberge (Inn). La porte doit arreter de tourner et une image de porte doit apparaître sur l'encadrement de la porte de l'auberge.

6. Posez la porte tant que l'image est sur l'encadrement de la porte en cliquant sur la zone (de meme manière que n'importe quel autre objet). L'instance de cette porte doit etre selectionnée.

7. Supprimez la porte.

8. Selectionnez une des portes spécifique au "tileset".
Note: Une porte spécifique au "tileset" va apparaitre comme une porte standard en bois jusqu'à ce que vous la posiez sur un point d'accrochage (hook point) qui attends un porte spécifique au "tileset".

9. Essayez de la poser sur l'entrée de l'auberge (Inn). Le prototype (blueprint) utilisant un modèle de porte standard doit apparaître.
Note: Poser une porte spécifique au "tileset" à un endroit qui attend une porte universelle aura pour conséquence que la porte apparaitra avec une apparence standard et ses autres propriétés resteront non-affectées.

10. Supprimez la porte spécifique au "tileset" et posez une des portes universelles.

Les portes ont plusieurs usages. Leur fonction principale est de bloquer une partie de la zone jusqu'à ce que le joueur remplisse certaines conditions, comme retrouver une clé. Une autre fonction est qu'une porte peut servir de transition de zone et lier des zones entre-elles.

Transition de zones (Area Transitions)

Une zone de transition (area transition) signifie que les joueurs seront transportés d'une zone à une autre. Ces transitions peuvent partir d'une porte ou d'un "trigger" et arriver à une porte, un "trigger" ou un "waypoint" (étape).

1. Ouvrez la zone "Mine de Fernesk".

2. Selectionnez la porte à l'entrée.

3. Selectionnez ses propriétés "Properties" à partir de son menu contextuel.

4. Changez le nom du tag de la porte (script tag) à "dt_MineToFern" et appuyez sur "OK".
Note: Définir des transitions de zones de cette manière permet de s'assurer que les tags de porte fonctionneront proprement. Chaque porte doit avoir un nom unique sinon le résultat dans le jeu est imprévisible. Le Toolset affiche un avertissement si une tentative de lier une transition de zone est faite sur une porte dont le tag n'a pas été changé.
Astuce: Essayez de commencer le tag de chaque object avec la première letter du type de l'objet suivi par un "t_" et son nom comme "MineToFern" qui dans ce cas indique la zone et la direction vers laquelle la transition de zone va.

5. Ouvrez la zone "Fern", sauvegardez vos modifications quand le logiciel vous le demande.

6. Selectionnez la porte de l'entrée de la mine "Cave Entrance" et affichez ses propriétés.

7. Changez le tag de la porte à "dt_FernToMine".

8. Sur l'onglet zone de transition (Area Transition) cliquez sur "Setup Area Transition" pour ouvrir la fenetre de transition de zones.

9. Selectionnez "Mine de Fernesk" à partir de la liste des zones cibles (Target Area). Laissez les valeurs type de cible (Target Type) et type de connexion (Connection Type).

10. Selectionnez "dt_MineToFern" à partir de la liste des portes disponibles, appuyez sur OK pour fermer la fenetre de transition de zones et appuyez sur "OK" pour sauvegarder les changements effectués sur la zone.

11. Appuyez sur "OK" pour fermer la fenetre des propriétés de la zone.

12. Placez le point de démarrage du module (module's start location) proche de l'auberge (Inn).

Ecrans de chargement (Load Screens)

Chaque zone a son écran de chargement par défaut, basé sur son type de "tileset", qui apparait quand le joueur transitent vers cette zone. Cet écran de chargement peut etre spécifié à partir de la fenêtre des propriétés d'une zone. Les zones de transitions peuvent avoir leur propres écrans de chargement qui remplaceront celui par défaut. Par défaut, le jeu utilise un écran de chargement choisi au hazard en fonction du "tileset" utilise par la zone de destination.

1. Démarrez le Toolset et chargez le module "tutorial".

2. Ouvrez la zone "Fern".

3. Selectionnez les propriétés de zone "Area Properties" à partir du menu "Edit".

4. Allez dans l'onglet avancé "Advanced" et appuyez sur le bouton à coté du nom de l'écran de chargement qui doit normalement dire "choisi au hasard" (Random) par défaut. Cela permettra d'ouvrir la fenetre de selection de la page de chargement.

5. Désactivez le bouton "Use Random Loading Screen" (utiliser un écran au hasard).

6. Selectionnez l'écran de chargement de votre choix parmis ceux disponibles.

7. Basculez sur la zone "Mine de Fernesk".

8. Select "Properties" from the context menu of the door in the cave entrance, the one with the Script Tag: dt_MineToFern.

9. Allez sur l'onglet "Area Transition" (transition de zone) et appuyez sur le bouton à coté de l'écran de chargement, lequel doit normalement dire "Default" par défaut. Ce qui veut dire que l'écran choisi au niveau des propriétés de la zone sera utilisé.

10. Désactivez le bouton "Use Random Loading Screen" (utiliser un écran au hasard).

11. Changez le filtre (filter) pour utiliser le "tileset" "Rural" et selectionnez un écran different que celui choisi à l'étape 6.

Sauvegardez vos changements et controlez les directement au sein du jeu.

Pour aller plus loin

Créez une zone intérieure basée sur le "tileset" "City Interior" (intérieur de ville) et liez là à l'auberge de Fern en utilisant des portes.

Fermez à clé la porte de l'auberge en activant la propriété "Locked" (fermé). Sur le même onglet spécifiez le tag de l'article (item) requis pour déverrouiller la porte. Ceci permettra à toute créature possedant un article (item) avec ce tag dans son inventaire d'ouvrir cette porte.

Astuce: Il est possible de définir une transition de zone au sein de la même zone.

Jouez avec les portes spécifiques au "tileset" et les universelles. Trouvez une place où poser un terrain "Wall 2 Gate" (Porte de mur 2) dans la catégorie "Feature". Selectionnez et supprimez la porte. Choississez une porte spécifique au "tileset" et posez là sur ce terrain. Supprimez là et faite la même chose avec une porte universelle. Dans les deux cas, la même porte devrait apparaître mais il y devraiy y avoir de subtiles différences sur les propriétés de la portes en fonction des différents prototypes (blueprints) utilisés.

__________________
Gargantuel