Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[TUTORIEL] [CARTES] Créer des portes spéciales : Chapitre 5

Répondre
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne

[TUTORIEL] [CARTES] Créer des portes spéciales : Chapitre 5

.

Message par Freddy_Gwendo »

CRÉATION DE PORTES SPÉCIALES





Ce dernier chapitre des didacticiels sur les portes traite de la création de portes spéciales, et sera alimenté au fur et à mesure.


A. Créer une porte s'ouvrant en plusieurs étapes ici.

B. Créer une porte ne menant nulle part à venir.

...
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

A. CRÉER UNE PORTE S'OUVRANT EN PLUSIEURS ÉTAPES.




Comme nous l'avons vu, pour afficher les portes, le moteur Infinity Engine utilise le tileset (overlay) de la carte en utilisant alternativement les tiles de base et les tiles alternatives du fond de carte. Ce qui limite considérablement les effets visuels que l'on veut produire comme, par exemple, visualiser plusieurs états d'ouverture d'une même porte, comme ceci :

On trouve un tas de briques : Image

On déplace les briques : Image

On ouvre la trappe : Image



En théorie, c'est impossible car on ne peut pas utiliser plus de deux images différentes sur la même tuile d'une carte.

En pratique, il suffit d'appliquer le vieil adage du moddeur masqué : en termes de modding, il n'y a pas de problème, il n'y a que des solutions.

Je sais, c'est une vieille rengaine, mais dans ce cas, ça fonctionne parfaitement. ;)

L'astuce consiste à utiliser un fichier bam pour simuler l'un des états d'ouverture de la porte.


Comme je ne compte pas vous inonder de captures d'écrans, je pars du principe que vous avez assimilé les tutos précédents. Si ce n'est pas le cas, je vous incite fortement à les consulter avant de lire la suite, sinon, vous ne comprendrez pas grand-chose à la manip. ;)



1. Créer le fichier bam d'animation de la trappe.

J'ai utilisé une animation simple, composée de deux images : Image - Image

Ce qui donne ceci :

ImageImage


Cette animation permettra de simuler l'ouverture de la trappe sur la carte (le cycle 0 correspond à la trappe fermée, et le cycle 1 à la trappe ouverte).



2. Créer la porte.

Puisque vous savez comment faire, je ne vous donne que le résultat :

Image


Vous noterez que la porte est fermée et que j'ai coché la case « Transp » (Transparence).

>> Cette dernière est très importante : on l'utilise lorsqu'on crée une porte qui ne bloque pas la vision.

Sans oublier le fichier wed :

Image



Récapitulons.

Voici la porte fermée : Image

Et la porte ouverte : Image

On n'oublie pas les impeded blocks :

ImageImage



À ce stade, on reste coincé par la limitation du moteur du jeu. C'est pour la contourner qu'intervient notre animation. ;)



3. Ajouter l'animation sur la carte.

Je crée donc une animation sur la carte pour simuler l'ouverture de la trappe :

Image


Et je la plaque sur la porte ouverte :

Image


Vous remarquerez que j'ai choisi le cycle 0 (porte fermée) et que j'ai coché la case « No own light ». Cette dernière permet au moteur de moduler la teinte de l'animation lors des changements de luminosité selon l'heure de la journée (jour/nuit).

Le travail de préparation étant terminé, il faut maintenant mettre tout ceci en musique à l'aide de scripts. Et qui dit scripts... ?

Lecteur a écrit : dit triggers !


Bravo ! On va finalement faire quelque chose de bon de vous... :)



4. Créer les triggers permettant de lancer les scripts.

Nous allons utiliser 4 region triggers utilisant tous le même script :

  • Pierres (facultatif) : Affiche un message lorsqu'on s'approche du tas de pierres.
  • Cache : Permet de déplacer les pierres.
  • TrappeO : Simule le polygone magenta d'ouverture d'une porte et permet d'ouvrir la trappe et d'accéder à la carte suivante.
  • TrappeF : Simule le polygone magenta de fermeture d'une porte et permet de fermer la trappe et d'interdire l'accès à la carte suivante.


En images :

Pierres Image

Cache Image

Les deux sont identiques : Image

TrappeO
Image
Image


TrappeF
Image
Image


Et on n'oublie pas le travel trigger et son point d'entrée :

ImageImage



Il est temps de passer à la potion magique qui fait fonctionner tout ceci : les scripts.



5. Écrire les scripts.

Nous utiliserons 2 scripts

  • GW0001 : le script de la carte GW0001.
  • GW0001Se : un script unique pour les region triggers. Mais vous pouvez très bien le décomposer en autant de scripts que de triggers (dans ce cas, n'oubliez pas de modifier le nom du script dans les onglets des triggers concernés).


et 2 variables :

  • GWENTREE : une variable de carte permettant d'initialiser les triggers lorsqu'on entre pour la première fois dans la carte.
  • GWEnt007 : une variable de carte permettant de gérer l'activation/désactivation des différents triggers, l'ouverture de la porte et l'apparition et la modification des séquences de l'animation de la trappe.



5a. Le script de la carte.

Commençons par le script de la carte (GW0001). C'est le plus simple et il se compose de deux blocs :

Image



Comme son nom l'indique (« Initialisation »), le premier bloc désactive tous les triggers de la porte et l'animation de la trappe. Ainsi, la carte n'affiche que la porte fermée (le tas de briques).

Le second (« Accès à la cachette ») active le trigger Pierres lorsque la variable GWEnt007 est égale à 1. En fait, après un dialogue avec un autochtone. Auparavant, on passe devant le tas de briques sans remarquer qu'il dissimule une trappe.


5b. Le script des triggers.

Celui-ci est un peu plus complexe (pas tant que ça, en fait ]

[*]Message automatique.
[*]Tas de pierres.
[*]Trappe.
[/LIST]

Facultatif dans le cadre de ce tuto, le bloc « Message automatique » informe le groupe qu'il a loupé quelque chose en passant pour la première fois près du tas de briques.
Image
Une fois le message affiché, la variable GWEnt007 est incrémentée de 1, le trigger Cache est activé et le trigger Pierres désactivé.


Le bloc « Tas de pierres » est activé par le trigger Cache. La troisième partie simule le déplacement des briques et ouvre la porte.
Image
La variable GWEnt007 est incrémentée de 1, le trigger TrappeF est activé, l'animation de la trappe (Secret) activée et le trigger Cache désactivé.

On obtient donc ceci à l'écran :
Image

Le dernier bloc, « Trappe », gère l'ouverture de la trappe et l'accès à la carte GW0007.
Image
La troisième partie de ce bloc simule l'ouverture de la trappe :

Code : Tout sélectionner

	StaticSequence("Secret",1)
Elle change la séquence de l'animation affichée : ce n'est plus la séquence 0 (trappe fermée) qui est affichée, mais la séquence 1 (trappe ouverte).

Activé, le travel trigger Tran0007 permet de pénétrer (descendre) dans la carte GW0007.

Enfin, le trigger TrappeO est activé et le trigger TrappeF désactivé.

Et on obtient ce qu'on voulait :
Image

Le quatrième partie du code ferme la trappe et condamne l'accès à la carte GW007 :
Image


Voilà, vous avez saisi le principe (enfin, je l'espère).
Libre à vous de l'adapter en multipliant les étapes d'ouverture ou de fermeture en activant, désactivant plusieurs fichiers BAM ou plusieurs séquences d'un même fichier BAM.

Les possibilités sont infinies. ^^


[/size]
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

BG et BG2 recèlent des ressources insoupçonnées. Si vous vous promenez dans Athkatla et La Porte de Baldur, vous connaissez certainement ces lieux :
Image

Image

Rien, de bien excitant. Et pourtant... Si vous analysez la structure des cartes, vous vous apercevez que :
► Afficher le texte
Eh oui ! vous avez loupé deux portes ! Sans doute des reliquats de la phase de développement, inutilisés dans le jeu.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

message réservé à un autre tuto
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

message réservé
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Répondre

Retourner vers « Tutoriels, guides »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité