TOMB-RAIDER-EDITOR.com

image
image
image


Didacticiel jouable : Rêve Egyptien

DOCUMENTATION pour le Tutoriel RÊVE EGYPTIEN

Par Pascal Ducey



Téléchargez le source du projet :

Télécharger


1. Présentation

Tout le didacticiel est rédigé en fonction du projet correspondant MagpTut1. Ce projet est composé des fichiers suivants :

- maps\MagpTut1\MagpTut1.PRJ : projet visible sous l'éditeur de niveau

- maps\MagpTut1\MagpTut1.TGA : ensemble des textures utilisées dans le projet

- maps\MagpTut1\MagpTut1.TBM : sons associés aux textures

- maps\MagpTut1\MagpTut1.TFX : sons associés aux textures

- graphics\wads\MagpTut1.* : tous les objets du wad


Dans ce didacticiel sont présentés et expliqués les points suivants : cliquez sur un lien pour aller directement sur le sujet

- Le brouillard lointain FOG

- L'effet de brume MIST

- L'effet miroir MIRROR

- Les puzzles à base d'objets à déplacer de type PUSHABLE_OBJECTS

- Les combinaisons multiples interrupteurs - portes SWITCH - DOOR

- L'utilisation des plateformes montantes de type TWOBLOCK_PLATFORM

- L'utilisation des balances SCALES

- L'utilisation des interrupteurs de type SEQUENCE_SWITCH

- L'utilisation des interrupteurs à élément de type ELEMENT_PUZZLE (eau/essence/sable)

- Le TRAVELLING CAMERA : La caméra suit Lara pendant son déplacement

- La construction personnalisée des SCRIPTS

Pour mieux comprendre les différents éléments, ouvrez le projet sous l'éditeur de niveaux officiel.



2. Conventions syntaxiques employées

Lors des explications figurant dans ce document, il est fait référence à différents termes concernant l'éditeur de niveau officiel. Chaque fois que vous noterez un terme de couleur verte, référez-vous aux définition suivantes :

- Fenêtre STT : fenêtre de configuration d'un déclencheur ("Set Trigger Type")

- TT : type de déclencheur (ou Trigger Type), comme TRIGGER, PAD, HEAVY, etc.

- Trigger : carré déclencheur d'une action

- Flags STT : boutons chiffres de 1 à 5 de la fenêtre STT.

- Fenêtre OCB : fenêtre de configuration des valeurs OCB d'un objet

- Flags OCB : boutons chiffres de 1 à 5 de la fenêtre OCB

- Valeur OCB : valeur indiquée dans la fenêtre OCB

- TCombi : indique de manière générale l'ensemble des flags qui activés forment la combinaison 1-2-3-4-5 nécessaire au déclenchement d'une action. Cette combinaison peut être un mix des flags des deux fenêtres STT et OCB.

- RGB : composants Rouge Vert Bleu d'une couleur (Red Green Blue)

- "Room##" : indique les pièces du projet à sélectionner dans l'éditeur afin de mieux comprendre la méthode employée.

 

Fenêtre STT                    Fenêtre OCB

    

 

Pour les Flags STT, on notera 1-2-3-4-5

Pour les Flags OCB, on notera 1-x-x-x-5 où "x" indique que le bouton n'est pas appuyé.

Pour de plus amples informations concernant  la fenêtre STT ainsi que la fenêtre OCB, veuillez vous référer au manuel fourni avec l'éditeur de niveau.



3. Présentation des différents thèmes abordés

Retour au début

L'effet de brouillard lointain

Sans                                                                                                                           Avec

 

Sur ces images, on voit nettement la différence. L'utilisation du brouillard lointain a pour avantage de permettre la  réalisation de pièces dont la limite de profondeur de champ dépasse les 20 carrés fatidiques. En effet, ceci se traduit par un estompage progressif et quasi complet des "cassures" apparaissant sur les textures lointaines. Remarquez la "cassure" inesthétique sur le bâtiment entre les 2 obélisques, sur l'image de gauche. Sur l'image de droite, elle n'y parait plus. Comparez également ces mêmes cassures au niveau des collines de sables au loin.


Mise en oeuvre de l'effet de brouillard :


- Retirez les [Effets spéciaux volumétriques] en décochant la case correspondante dans le setup du jeu. Pour ceci, lancez le programme "setup.exe" qui se situe dans le répertoire où l'éditeur de niveau est installé.

 

- Ajoutez la ligne "Fog=" suivante dans le fichier "script.txt" dans le paragraphe concernant le niveau.

[Level]
Name=       Egyptian dream - tutorial
Legend=     Turn OFF the Volumetric FX...
Horizon=   ENABLED
Fog=       152,192,216
Puzzle=     4,Jewel of Apophis, $0000,$0400,$0000,$0000,$0000,$0002
Puzzle=     7,Guardian Key, $0009,$0300,$0000,$0000,$0000,$0002
Puzzle=     12,Golden Beetle, $0008,$03b0,$0000,$e000,$0000,$000a
Pickup=     1,Bag of Sand, $0000,$0400,$0000,$2000,$1000,$8002
Pickup=     2,Jerrycan, $0015,$0500,$4000,$f000,$0000,$4002
Examine=    2,The Sphinx's map, $0000,$0500,$0000,$0000,$0000,$0002
Mirror=     52,$BC00
LoadCamera= 72000,-280,44029,73827,-811,46221,13
Level=      DATA\MAGPTUT1,107

Pensez également à inclure la ligne "Horizon=" afin d'activer l'affichage de l'objet correspondant du wad.

Les 3 valeurs indiquées dans la ligne "Fog=" correspondent à la valeur RGB composant la couleur du brouillard. Cette couleur doit absolument correspondre à celle de l'HORIZON utilisé dans le wad. En l'occurrence, dans ce projet, l'horizon est un ciel bleu clair de couleur RGB=152,192,216


Restrictions :


- Il est impossible d'utiliser les effets lumineux de type FOG_BULB déclenchés à l'aide des triggers de type FLIPEFFECT 28, du fait même que les effets volumétriques sont désactivés.


- L'objet HORIZON contenu dans le wad doit être de couleur uniforme et ne doit pas posséder d'éléments de décors au niveau de l'horizon. Dans ce projet, une planète est ajoutée au décor, mais elle figure nettement au dessus de l'horizon, ce qui ne peut pas créer de mélange de couleurs entre la couleur du brouillard et les couleurs de l'élément de décor. Le tout reste ainsi homogène.


Remarque :


Lors de l'utilisation d'un horizon complètement noir, donc de couleur RGB=0,0,0, l'effet de brouillard n'a pas besoin d'être implémenté dans le niveau. Il est entièrement implicite.


Retour au début

L'EFFET DE BRUME

 

Regardez les pièces "Room16" (pièce de brume), "Room12" et "Room13" (pièces au dessus).

 

Cet effet est activé en pressant le bouton [M] dans la fenêtre [Room edit buttons]. Il suffit juste de régler ensuite l'intensité par une valeur comprise entre 1 et 4.

 

                                                                           brume au sol

   

 

La manière de construire les différentes pièces est identique à celle utilisée pour concevoir des pièces d'eau. D'ailleurs, le résultat en lumière est identique. La seule différence est que Lara ne nage pas dans une pièce de brume. Pour donner un côté plus réaliste, il faut utiliser une texture particulière qui sera appliquée au portail entre la pièce du dessus et la pièce de brume, en n'omettant pas d'activer [Toggle Opacity 2] et [Transparent]. Une texture non animée est nettement suffisante.

 

 


Retour au début

L'EFFET MIROIR

 

Regardez les pièces "Room52" (pièce où évolue Lara), et "Room54" (pièce simulant le miroir). Pour de plus amples informations, référez-vous au manuel fourni avec l'éditeur, page 74.

 

 

Mise en oeuvre :

 

-  Créez 2 pièces, une où Lara évolue, et une simulant le miroir. la pièce simulant le miroir doit impérativement se situer à gauche de la pièce où évolue Lara, et être reliée par un portail unique. Le plus simple pour créer la pièce miroir, c'est de copier la pièce réelle et d'appliquer à la copie l'effet "mirror" du menu "Room" de l'éditeur.


- Reliez ces 2 pièces et appliquer au portail une texture transparente simulant un miroir. Ne pas omettre d'activer [Toggle Opacity] et [Transparent].


- Les objets "fantômes" qu'on voit dans le miroir pendant le jeu doivent être déposés dans la pièce simulant le miroir, celle de gauche donc (voir les  différentes flammes). Si certains items peuvent être ramassés, ils doivent également être déposés dans la pièce où évolue Lara (voir les munitions pour fusil). De plus, indiquez la valeur 256 dans  la fenêtre OCB de chaque item de la salle de droite.


- Relevez les coordonnées du carré le plus en haut à gauche de la pièce de droite, comme indiquez dans l'image suivante.


    

 

 

- Déterminez la valeur hexadécimale correspondant à la formule suivante (X+1)*1024. Pour ce faire, utilisez la calculatrice de Windows. Ici, (46+1)*1024 donne 48128 et 48128 donne BC00 en hexadécimal.

 

- Ajoutez la ligne "Mirror=" dans le fichier "script.txt" dans le paragraphe concernant le niveau.

[Level]
Name=       Egyptian dream - tutorial
Legend=     Turn OFF the Volumetric FX...
Horizon=    ENABLED
Fog=        152,192,216
Puzzle=     4,Jewel of Apophis, $0000,$0400,$0000,$0000,$0000,$0002
Puzzle=     7,Guardian Key, $0009,$0300,$0000,$0000,$0000,$0002
Puzzle=     12,Golden Beetle, $0008,$03b0,$0000,$e000,$0000,$000a
Pickup=     1,Bag of Sand, $0000,$0400,$0000,$2000,$1000,$8002
Pickup=     2,Jerrycan, $0015,$0500,$4000,$f000,$0000,$4002
Examine=    2,The Sphinx's map, $0000,$0500,$0000,$0000,$0000,$0002
Mirror=    52,$BC00
LoadCamera= 72000,-280,44029,73827,-811,46221,13
Level=      DATA\MAGPTUT1,107

Ici, la valeur 52 correspond au numéro de la pièce où Lara évolue.

 

 

Remarque : Rappelez-vous que seule Lara est représentée automatiquement dans le miroir. Soyez également conscients que lorsque vous déplacez l'ensemble des pièces dans [l'Editor Window Panel] de l'éditeur de niveau, vous devez recalculer la valeur hexadécimale et modifier le script.

 


Retour au début

LES PUZZLES A BASE D'OBJETS A DEPLACER


Il faut distinguer 2 grands types de puzzles :

- ceux où chaque objet à déplacer peut être placé sur n'importe lequel des triggers de l'action

- ceux où chaque objet à déplacer a sa position bien définie. Il doit être placé sur le trigger correspondant.


On peut alors avoir plusieurs cas possibles pour chacun de ces 2 grand types de puzzle.

 

>> PREMIER CAS : 1 ou plusieurs PUSHABLE_OBJECT pour une action globale, sans notion d'emplacement réservé


Regardez les pièces "Room6" et "Room7". Dans la pièce n°6 figurent 2 PUSHABLE_OBJECTS pour 2 actions globales distinctes, à savoir :

- l'ouverture des 2 portes centrales

- l'élévation des 2 RAISING_BLOCK1 de la pièce n°7

D'une manière générale, pour chacune des actions distinctes, il faut que chaque PUSHABLE_OBJECT soit placé sur un trigger quelconque, et ce n'est que quand tous les objets sont placés que l'action est déclenchée.  Pour ce faire, il suffit de codifier les différents triggers de la manière suivante : exemple avec 2 PUSHABLE_OBJECT et 2 objets à déclencher.

 

 

TT

Flags STT

Flags OCB du PUSHABLE_OBJECT

Flags OCB de

l'objet à déclencher

1erTrigger

HEAVY for object #1

1-x-x-x-x

 

 

 

TRIGGER for object #2

1-2-3-4-5

 

 

2ème Trigger

HEAVY for object #1

x-2-3-4-5

 

 

 

TRIGGER for object #2

1-2-3-4-5

 

 

 

Remarquez les combinaisons 1-2-3-4-5 pour chaque TRIGGER simple. Comme le précédent TT sur le même carré est un HEAVY, les autres TT adoptent automatiquement la même fonction et la même combinaison.

 

 

>> DEUXIEME CAS : plusieurs PUSHABLE_OBJECT pour une action globale, avec notion d'emplacement réservé

 

Regardez les pièces "Room0" et "Room3". Dans la pièce n°0 figurent 4 PUSHABLE_OBJECTS pour 1 action distincte, à savoir l'ouverture de la TRAPDOOR1 (dans la même pièce) et la mise en route du ventilateur (ANIMATING1 de la pièce n°3), le tout en même temps. Ici, il faut que les 4 PUSHABLE_OBJECT soient correctement placés pour que l'action globale soit déclenchée. C'est-à-dire que chaque trigger est codifié en fonction du PUSHABLE_OBJECT qu'il doit recevoir. Si on place un autre PUSHABLE_OBJECT sur ce trigger, rien ne doit se passer. Aussi, ce n'est pas un HEAVY qu'il faut employer mais un HEAVYSWITCH. D'une manière générale, codifier les différents éléments de la manière suivante : exemple avec 4 PUSHABLE_OBJECT et 2 objets à déclencher.

 

Exemple N° 1 :

 

 

TT

Flags STT

Flags OCB du PUSHABLE_OBJECT

Flags OCB de

l'objet à déclencher

1er Trigger

HEAVYSWITCH for object #1

1-x-x-x-x

1-x-x-x-x

x-x-x-x-5

 

TRIGGER for object #2

1-2-3-4-5

 

x-x-x-x-5

2ème Trigger

HEAVYSWITCH for object #1

x-2-x-x-x

x-2-x-x-x

 

 

TRIGGER for object #2

1-2-3-4-5

 

 

3ème Trigger

HEAVYSWITCH for object #1

x-x-3-x-x

x-x-3-x-x

 

 

TRIGGER for object #2

1-2-3-4-5

 

 

4ème Trigger

HEAVYSWITCH for object #1

x-x-x-4-x

x-x-x-4-x

 

 

TRIGGER for object #2

1-2-3-4-5

 

 

 

Les cases blanches du tableau indiquent qu'il n'y a rien de particulier à faire.

Remarquez que comme il n'y à que 4 triggers, pour que la TCombi soit complète, le 5ème flag est activé sur les objets à déclencher. Voir également les pièces "Room58", "Room59" et "Room60" pour un exemple avec seulement 2 PUSHABLE_OBJECT. Dans ce cas, ce seront les 3ème, 4ème et 5ème flags qui seront activés pour l'objet à déclencher, donc dans sa fenêtre OCB. Ce n'est évidemment pas une nécessité, car il est possible de procéder autrement, du moment que la TCombi est complète :

 

Exemple n° 2 :

 

 

TT

Flags STT

Flags OCB du PUSHABLE_OBJECT

Flags OCB de

l'objet à déclencher

1er Trigger

HEAVYSWITCH for object #1

1-x-x-x-x

1-x-x-x-x

 

 

TRIGGER for object #2

1-2-3-4-5

"

 

2ème Trigger

HEAVYSWITCH for object #1

x-2-x-x-x

x-2-x-x-x

 

 

TRIGGER for object #2

1-2-3-4-5

"

 

3ème Trigger

HEAVYSWITCH for object #1

x-x-3-x-x

x-x-3-x-x

 

 

TRIGGER for object #2

1-2-3-4-5

"

 

4ème Trigger

HEAVYSWITCH for object #1

x-x-x-4-5

x-x-x-4-5

 

 

TRIGGER for object #2

1-2-3-4-5

"

 

 

Remarquez la différence par rapport au premier exemple. Ici, le 4ème trigger ainsi que le 4ème PUSHABLE_OBJECT ont les flags 4 et 5 activés, de manière à compléter la TCombi. Ainsi, les objets à déclencher n'ont aucun flag activé.

 

 

>> TROISIEME CAS : plusieurs PUSHABLE_OBJECT pour une action globale et plusieurs actions secondaires, avec notion d'emplacement réservé

 

Regardez la pièce "Room31". Dans cette pièce figurent 4 PUSHABLE_OBJECTS pour 1 action globale, et plusieurs actions secondaires liées à chaque objet bien placé. L'action globale est ciblée au centre de la pièce. Il s'agit de l'explosion de la pyramide bleue (MINE), de l'activation de la lumière clignotante bleue (AMBER_LIGHT), de l'activation de l'arc électrique vertical (LIGHTNING_CONDUCTOR) et de l'abaissement du bloc invisible (RAISING_BLOCK2). Les actions secondaires sont l'activation des arcs électriques (FLAME_EMITTER3) situés aux mêmes endroits que les triggers, et qui sont donc au nombre de 4. Ces derniers sont importants, car ils permettent d'indiquer au joueur qu'un PUSHABLE_OBJECT est bien à sa position.

 

Comme pour le deuxième cas, l'action globale ne peut être déclenchée que lorsque les 4 PUSHABLE_OBJECT auront été placés correctement. Par contre, les 4 actions secondaires se déclencheront à chaque fois qu'un PUSHABLE_OBJECT sera bien placé. De manière générale, les 2 exemples du deuxième cas sont valables pour ce qui est de la TCombi. En revanche, dans ce projet, il y a une restriction imposée uniquement par le RAISING_BLOCK2. En effet, comme il est déjà élevé au départ, c'est le seul objet qui agit à l'envers des autres, de manière analogique. Ainsi, et comme il est impossible dans ce cas d'utiliser des ANTITRIGGER, il faut qu'au départ ses flags OCB soient tous activés (1-2-3-4-5). Par conséquent, il est impossible d'employer l'exemple n°1 du 2ème cas.

 

Donc, pour réaliser ce genre de puzzle, utilisez la codification suivante des triggers pour que la TCombi soit complète : exemple avec 4 PUSHABLE_OBJECT, 3 objets pour le déclenchement de l'action globale (G_object #n), et 2 objets pour le déclenchement des actions secondaires (S_object #n).

 

 

TT

Flags STT

Flags OCB du PUSHABLE_OBJECT

Flags OCB de

l'objet à déclencher

1er Trigger

HEAVYSWITCH for G_object #1

1-x-x-x-x

1-x-x-x-x

 

 

TRIGGER for G_object #2

1-2-3-4-5

 

 
  TRIGGER for G_object #3 1-2-3-4-5    
  TRIGGER for S_object #1 1-2-3-4-5   x-2-3-4-5
  TRIGGER for S_object #2 1-2-3-4-5   x-2-3-4-5

2ème Trigger

HEAVYSWITCH for G_object #1

x-2-x-x-x

x-2-x-x-x

 

 

TRIGGER for G_object #2

1-2-3-4-5

 

 

  TRIGGER for G_object #3 1-2-3-4-5    
  TRIGGER for S_object #1 1-2-3-4-5   1-x-3-4-5
  TRIGGER for S_object #2 1-2-3-4-5   1-x-3-4-5

3ème Trigger

HEAVYSWITCH for G_object #1

x-x-3-x-x

x-x-3-x-x

 

 

TRIGGER for G_object #2

1-2-3-4-5

 

 

  TRIGGER for G_object #3 1-2-3-4-5    
  TRIGGER for S_object #1 1-2-3-4-5   1-2-x-4-5
  TRIGGER for S_object #2 1-2-3-4-5   1-2-x-4-5

4ème Trigger

HEAVYSWITCH for G_object #1

x-x-x-4-5

x-x-x-4-5

 

 

TRIGGER for G_object #2

1-2-3-4-5

 

 

  TRIGGER for G_object #3 1-2-3-4-5    
  TRIGGER for S_object #1 1-2-3-4-5   1-2-3-x-x
  TRIGGER for S_object #2 1-2-3-4-5   1-2-3-x-x

 

Remarquez les Flags OCB des objets secondaires. Ils forment le complément de la Tcombi concernant les objets de l'action globale. De cette manière, ils sont déclenchés à chaque fois qu'un PUSHABLE_OBJECT est placé.

 

 

>> QUATRIEME CAS : plusieurs PUSHABLE_OBJECT combinés avec les PLANET_EFFECT

 

Ce cas est similaire au troisième cas, à la différence que l'objet PLANET_EFFECT est inséré en tant qu'objet pour les actions secondaires. De plus, une valeur OCB est indiquée pour chaque PUSHABLE_OBJECT et PLANET_EFFECT. Ceci à pour effet de figer chaque PUSHABLE_OBJECT une fois bien placé. Il devient alors impossible de le bouger. Regardez le projet "Library" fourni avec l'éditeur de niveaux, à la pièce "Room23".


Retour au début

LES COMBINAISONS MULTIPLES INTERRUPTEURS - PORTES

 

Dans les exemples suivants, on ne parlera que de portes et de flammes, mais il va de soi qu'il peut s'agir de tout autre objet qu'il est possible de déclencher, comme des Blocs, des Animating, des Ennemis, etc...

 

 

>> PREMIER CAS : 2 interrupteurs pour une seule porte

 

Il s'agit du cas le plus simple. Regardez la pièce "Room9". D'une manière générale, codifiez les différents triggers de la manière suivante :

 

Triggers sur le même carré

que chaque switch

TT

Flags STT

1er Trigger

SWITCH for Switch #1

1-x-x-x-x

 

TRIGGER for Door #1

1-2-3-4-5

2ème Trigger SWITCH for Switch #2 x-2-3-4-5
  TRIGGER for Door #1 1-2-3-4-5

 

 

 

>> DEUXIEME CAS : plusieurs interrupteurs pour plusieurs portes avec notion de combinaison

 

Dans cet exemple, la notion de combinaison est importante, car c'est l'utilisation du bon groupe d'interrupteurs qui déclenchera l'ouverture d'une seule porte parmi les autres. Pour ouvrir les autres portes, toujours une à une, il faudra utiliser un autre groupe d'interrupteurs. Ainsi, dans notre projet, comme il y a 4 portes à ouvrir, il nous faut donc 4 combinaisons possibles. Pour ce faire, il suffit de combiner 3 interrupteurs parmi 4 :

 

- Interrupteurs 1/2/3 pour la porte 1

- Interrupteurs 1/3/4 pour la porte 2

- Interrupteurs 1/2/4 pour la porte 3

- Interrupteurs 2/3/4 pour la porte 4

 

De cette manière, toutes les combinaisons sont employées. Je rappelle que les combinaisons 1/3/2, 2/1/3, 2/3/1, 3/1/2 et 3/2/1 sont strictement les mêmes que la combinaison 1/2/3. Le résultat final est le même : les 3 mêmes interrupteurs ont été utilisés. L'exercice n'est bien entendu pas limité à 4 portes, par contre il est limité à 5 interrupteurs du fait même de la restriction de la TCombi.

 

Si nous avions 5 portes, il nous faudrait 5 combinaisons. Par conséquent, il nous faudrait également 5 interrupteurs, mais combinés 4 à 4 cette fois-ci. On aurait alors :

 

- Interrupteurs 1/2/3/4 pour la porte 1

- Interrupteurs 1/2/3/5 pour la porte 2

- Interrupteurs 1/2/4/5 pour la porte 3

- Interrupteurs 1/3/4/5 pour la porte 4

- Interrupteurs 2/3/4/5 pour la porte 5

 

Encore une fois, toutes les combinaisons sont couvertes. Mais revenons à l'exemple de notre projet. Regardez la pièce "Room49". Dans cette pièce figurent donc 4 interrupteurs ou leviers ainsi que 4 portes et 4 flammes. Chaque flamme au dessus de chaque porte s'allume quand celle-ci s'ouvre, et s'éteint quand elle se referme. A ce propos, quand une combinaison de leviers est utilisée, la porte et la flamme correspondantes sont activées, et les autres sont automatiquement désactivées. Codifiez donc les différents triggers de la manière suivante :

 

Triggers sur le même carré que chaque levier

TT

Flags STT

Flags OCB des

objets à déclencher

1er Trigger

SWITCH for Switch #1

1-x-x-x-x

 

 

TRIGGER for Door #1 et Flame #1

1-2-3-4-5

x-x-x-4-5
  TRIGGER for Door #2 et Flame #2 1-2-3-4-5  
  TRIGGER for Door #3 et Flame #3 1-2-3-4-5  
  TRIGGER for Door #4 et Flame #4 1-2-3-4-5  

2ème Trigger

SWITCH for Switch #2

x-2-x-x-x

 

 

TRIGGER for Door #1 et Flame #1

1-2-3-4-5

 

  TRIGGER for Door #2 et Flame #2 1-2-3-4-5 x-2-x-x-5
  TRIGGER for Door #3 et Flame #3 1-2-3-4-5  
  TRIGGER for Door #4 et Flame #4 1-2-3-4-5  

3ème Trigger

SWITCH for Switch #3

x-x-3-x-x

 

 

TRIGGER for Door #1 et Flame #1

1-2-3-4-5

 

  TRIGGER for Door #2 et Flame #2 1-2-3-4-5  
  TRIGGER for Door #3 et Flame #3 1-2-3-4-5 x-x-3-x-5
  TRIGGER for Door #4 et Flame #4 1-2-3-4-5  

4ème Trigger

SWITCH for Switch #4

x-x-x-4-x

 

 

TRIGGER for Door #1 et Flame #1

1-2-3-4-5

 

  TRIGGER for Door #2 et Flame #2 1-2-3-4-5  
  TRIGGER for Door #3 et Flame #3 1-2-3-4-5  
  TRIGGER for Door #4 et Flame #4 1-2-3-4-5 1-x-x-x-5

 

Remarquez que le 4ème trigger n'a que le 4ème flag STT activé. Le complément de la TCombi est déterminé par les flags OCB des différents objets.

Ainsi, pour déterminer quelle combinaison de leviers active chacun des objets, notez leurs flags OCB activés et déterminez le complément de la TCombi :

- Pour la Door #1 et la Flame #1, c'est bien la combinaison de leviers 1/2/3

- Pour la Door #2 et la Flame #2, c'est bien la combinaison de leviers 1/3/4

- Pour la Door #3 et la Flame #3, c'est bien la combinaison de leviers 1/2/4

- Pour la Door #4 et la Flame #4, c'est bien la combinaison de leviers 2/3/4

Notez également que ce genre de puzzle est très gourmand en terme de nombre de triggers utilisés. Rien que pour cette combinaison 4 portes, 4 flammes et 4 leviers, nous avons besoin de 36 triggers.


Retour au début

LES PLATEFORMES MONTANTES

 

Ici encore, il existe 2 exemples d'utilisation des plateformes montantes ou TWOBLOCK_PLATFORM :

 

>> PREMIER CAS : les plateformes qui font office d'ascenseur

 

Regardez les pièces "Room33", "Room37", "Room45" et "Room46".

Dans ces différents exemples, chaque plateforme amène Lara à un étage différent. Ceci implique que chaque plateforme devra s'élever à une hauteur différente. Pour ce faire, il faut agir sur la valeur OCB de chacune des plateformes en appliquant la formule suivante :

Valeur OCB = H*16 + V

 

H est déterminé par la hauteur d'élévation en nombre de clics.

V indique la vitesse de déplacement de la plateforme (valeur comprise entre 1 et 15).

Ainsi, si l'on regarde chacune des pièces indiquée, on note les différentes valeurs OCB suivantes :

- Room33 : Valeur OCB=207, qui équivaut à une élévation de 12 et une vitesse de 15 ==> 12*16+15=207

- Room37 : Valeur OCB=399, qui équivaut à une élévation de 24 et une vitesse de 15 ==> 24*16+15=399

- Room45 : Valeur OCB=591, qui équivaut à une élévation de 36 et une vitesse de 15 ==> 36*16+15=591

Ensuite, il faut déclencher la plateforme, et pour ceci, il y a une règle à respecter : il faut que la plateforme soit activée par un ou plusieurs triggers couvrant la surface complète de cette plateforme, et placés sur le sol de la pièce la plus en dessous. Dans les pièces 33 et 37, les déclencheurs sont au même endroit que la plateforme, alors que dans les pièces 45 et 46, la plateforme est dans la pièce du dessus (45) et les déclencheurs dans la pièce du dessous.(46).

 

Pour activer une plateforme montante, il faut absolument un TRIGGER ou HEAVY, mais celui-ci peut ne pas couvrir toute la surface. Il faut alors compléter les carrés non couverts par un autre TT, à savoir un DUMMY. Ce dernier TT à pour effet d'empêcher Lara de passer au travers de la plateforme aux endroits non couverts par le trigger normal.

 

Par exemple, dans les différentes pièces, on note que la plateforme sera déclenchée lorsque Lara pressera sur un bouton. Donc, sous le carré de ce bouton figurent deux TT : un SWITCH pour le bouton et le TRIGGER pour la plateforme. Or, comme la plateforme couvre une surface de 2 carrés sur 2, il subsiste 3 carrés où il faut activer la plateforme. On place alors un DUMMY pour la plateforme sur ces carrés restant. Voici deux exemples de déclenchement d'une plateforme : C1, C2, C3 et C4 représentent les 4 carrés couvrant la surface de la plateforme.

 

C1                                                    C2

DUMMY

for Twoblock_Platform

DUMMY

for Twoblock_Platform

TRIGGER

for Twoblock_Platform

C3                                                    C4

 

C1                                                    C2

                              |                               

|

|

|

_ _ _ _ _ _ _ TRIGGER _ _ _ _ _ _ _

for Twoblock_Platform

|

|

|

|

C3                                                    C4

 

 

>> DEUXIEME CAS : les plateformes flottantes

 

Regardez les pièces "Room58" et "Room59". Dans ce cas, la plateforme est dite flottante car elle ne s'élève pas, mais elle subit le poids de Lara quand celle-ci marche dessus, s'abaissant légèrement. Le but de ce puzzle est alors de faire en sorte de figer la plateforme afin de :

- pouvoir s'en servir comme pont par exemple. On peut alors y déplacer des PUSHABLE_OBJECT.

- faire qu'un switch mural devienne accessible pour Lara. Elle est alors à la bonne hauteur pour l'atteindre.

La valeur OCB de la plateforme doit être égale à 0. Par contre, comme elle est flottante au début du puzzle, elle doit alors être activée. Le plus simple dans ce cas, c'est d'appuyer tous ses Flags OCB (1-2-3-4-5). Ensuite, la figer reviendra simplement à la désactiver par un ANTITRIGGER ou un HEAVYANTITRIGGER. Comme pour le premier cas, veillez toujours à ce que l'ensemble des triggers occupe toute la surface de la plateforme.


Retour au début

L'UTILISATION DES BALANCES

 

Les balances, symbolisées par l'objet SCALE, peuvent être utilisées seules ou combinées avec l'ennemi AHMET. D'une manière générale, le fonctionnement des balances est le suivant :

- On déverse une certaine quantité d'eau dans le plateau de gauche de la balance.

- Si la quantité n'est pas celle définie, un déclenchement s'opère comme un piège mortel où la libération de AHMET.

- Si la quantité est la bonne, un autre déclenchement s'opère, comme l'ouverture d'une porte de sortie.

 

N'oubliez jamais de construire non loin une petite salle d'eau facilement accessible où Lara pourra remplir ses gourdes.

 

Liste des objets à insérer dans le wad :

- WATERSKIN1_EMPTY, WATERSKIN1_1, WATERSKIN1_2, WATERSKIN1_3 : petite gourde

- WATERSKIN2_EMPTY, WATERSKIN2_1, WATERSKIN2_2, WATERSKIN2_3, WATERSKIN2_4, WATERSKIN2_5 : grande gourde

- LARA_WATER_MESH : animation de Lara pour l'utilisation des gourdes

- SCALE : balance

- AHMET : ennemi facultatif

 

>> PREMIER CAS : utilisation de la balance seule

 

Regardez la pièce "Room21". Dans cet exemple, si Lara verse la bonne quantité d'eau dans la balance, la porte située à l'autre bout de la pièce s'ouvre, permettant de continuer l'aventure. Dans le cas contraire, les pointes mortelles sont activées, ne laissant aucune chance à notre héroïne de s'en sortir. La codification du puzzle concerna t les balances se fait de la manière suivante :

 

- Encastrez toujours l'objet SCALE dans un renfoncement de 3 carrés de large sur 2 de profondeur minimum (voir l'image suivante). De cette façon, Lara ne pourra y accéder que par le devant, et ne pourra s'en aller que par le même passage, l'obligeant à passer sur les triggers prévus pour le déclenchement du piège mortel.

- Indiquez dans la valeur OCB de l'objet SCALE le nombre de litres d'eau que Lara devra verser pour activer la porte de sortie.

- Placez un trigger HEAVY pour la porte de sortie, sous le pied central de la balance.

- Placez un trigger KEY pour la balance sur l'ensemble des 3 carrés situés devant la balance.

- Sur ces mêmes 3 carrés, placez autant de TRIGGER pour les objets mortels que nécessaire.

 

 

en rouge : zone d'encastrement de la balance

en bleu : zone d'emplacement de l'objet SCALE

 

Vous remarquerez pendant le jeu que lorsque la quantité d'eau versée n'est pas la bonne, la porte de sortie s'ouvre quand même. C'est dû au fait que le trigger HEAVY est systématiquement déclenché. Cependant, dans ce cas là uniquement, les pièges mortels empêcheront Lara de s'enfuir.

 

 

>> DEUXIEME CAS : utilisation de la balance combinée avec l'ennemi AHMET

 

Regardez les pièces "Room40", "Room42" et "Room43". L'exemple est quasiment le même que celui du premier cas, à la différence que le puzzle peut être réinitialiser de manière à permettre une nouvelle tentative par le joueur. La réinitialisation s'opère ainsi :

- AHMET est enfermé dans sa cage.

- Lara verse une mauvaise quantité d'eau dans la balance.

- La cage de l'ennemi s'ouvre, libérant AHMET.

- Lara doit éliminer AHMET.

- AHMET disparaît et reprend sa position dans sa cage, et la balance retrouve son état initial.

ATTENTION : construisez votre niveau de manière à bien respecter cet ordre d'évènements. Ne pas permettre à Lara d'éliminer AHMET avant qu'elle ait versé de l'eau dans la balance, où le puzzle ne fonctionnera pas. Bien entendu, si Lara verse la bonne quantité d'eau, aucun de ces évènements ne se produira, et la balance ne pourra pas être réinitialisée, ce qui est tout à fait normal, puisque le puzzle est résolu. Pour codifier ce puzzle, respectez les points suivants :

- Placez AHMET dans une salle adjacente, connectée à la salle au puzzle, et placez-y une porte grillagée symbolisant une cage. Ne placez pas cette porte au niveau de la connexion entre les 2 salles, mais bien dans la cage, en prenant garde de l'orientée correctement afin que le problème de collision soit bien dirigé vers l'intérieur de la cage. Ainsi, AHMET restera à distance derrière la porte, sans passer sa tête au travers et Lara ne pourra pas lui tirer dessus non plus.

- Activez AHMET dans une pièce précédente par un TRIGGER simple. De cette manière, l'ennemi sera visible dès l'arrivée dans la salle au puzzle.

- Indiquez dans la valeur OCB de l'objet SCALE le nombre de litres d'eau que Lara devra verser pour activer la porte de sortie.

- Placez un trigger HEAVY pour la porte de sortie, sous le pied central de la balance.

- Placez un trigger KEY pour la balance sur l'ensemble des 3 carrés situés devant la balance.

- Sur ces mêmes 3 carrés, placez un TRIGGER pour la porte de la cage.

- Devant la cage, dans la salle au puzzle, placez un HEAVIANTITRIGGER pour la porte de cette cage. Ce trigger à un double avantage. D'une part, c'est AHMET qui, une fois libéré activera le trigger qui refermera la porte, évitant ainsi à Lara de pouvoir pénétrer dans la cage. D'autre part, une fois AHMET éliminé, il retournera automatiquement dans sa salle et la porte sera déjà refermée.

Dans cet exemple, étant donné que la balance peut être réinitialisée autant de fois qu'on veut,  il n'y a donc pas de piège mortel.

 

N.B. : dans certains cas, il arrive que AHMET ne reprenne pas sa position initiale une fois éliminé. Afin d'éviter ce genre de désagrément, veillez à ne pas disposer d'autres objets dans la salle d'AHMET, respectez une hauteur de 8 clics minimum, et placez AHMET sur un sol plat sous un plafond également plat. Il est néanmoins possible qu'il existe d'autres facteurs générateurs de ce problème.


Retour au début

UTILISATION DES SEQUENCE_SWITCH

 

Les SEQUENCE_SWITCH constituent un groupe de 3 gros interrupteurs qui fonctionnent de manière combinée, c'est-à-dire qu'il ne peuvent pas être utilisés séparément. Ici, contrairement au chapitre concernant les combinaisons multiples Interrupteur/Porte, l'ordre de pression des SEQUENCE_SWITCH est important. Et comme ils sont au nombre de 3, il y a donc 6 combinaisons possibles, à savoir : 1/2/3, 1/3/2, 2/1/3, 2/3/1, 3/1/2 et 3/2/1. Chaque combinaison déclenche automatiquement l'ouverture d'une porte spéciale correspondante. Par conséquent, il faut toujours prévoir 6 portes dans le niveau. En effet, du fait que ces interrupteurs sont codifiés dans le jeu lui-même, il n'y a que très peu de liberté quant à leur utilisation. Il faut donc respecter scrupuleusement les règles suivantes afin de les faire fonctionner :

 

 

Liste des objets à insérer dans le wad :

- SEQUENCE_SWITCH1 : 1er interrupteur

- SEQUENCE_SWITCH2 : 2ème interrupteur

- SEQUENCE_SWITCH3 : 3ème interrupteur

- SEQUENCE_DOOR1 : porte directement liée aux interrupteurs. Les autres portes ne fonctionnent pas avec ces interrupteurs

- ANIMATING8 : encadrement des interrupteurs

Mise en oeuvre du jeu d'interrupteurs :

 

Regardez la pièce "Room26".

Placez sur 3 carrés côte à côte les 3 SEQUENCE_SWITCH, 3 ANIMATING8 ainsi que 3 triggers SWITCH de la manière suivante :

 

 

Objets à

2 clics de haut

ANIMATING8

SEQUENCE_SWITCH2

ANIMATING8

SEQUENCE_SWITCH3

ANIMATING8

SEQUENCE_SWITCH1

Triggers

SWITCH for SEQUENCE_SWITCH1

SWITCH for SEQUENCE_SWITCH2

SWITCH for SEQUENCE_SWITCH3

 

Attention à l'ordre des interrupteurs et veillez à bien sélectionner le bon SEQUENCE_SWITCH pour chaque trigger. N'oubliez pas d'élever les objets à une hauteur de 2 clics.

 

- Placez ensuite 6 portes SEQUENCE_DOOR1 au niveau des connexions avec d'autres pièces.

- Réglez la valeur OCB de chacune d'elles avec une valeur différente allant de 0 à 5.

- Activez également tous les Flags OCB de chaque porte (1-2-3-4-5), ceci afin qu'elles soient reconnues dès le départ.

 

Afin de bien connaître quelle combinaison d'interrupteurs déclenche l'ouverture de quelle porte, consultez le tableau suivant :

 

Combinaisons des SEQUENCE_SWITCH

SEQUENCE_DOOR déclenchée par la combinaison

Valeur OCB

1-2-3

0

1-3-2

1

2-1-3

2

2-3-1

3

3-1-2

4

3-2-1

5

 

Par exemple, lorsque Lara pressera les interrupteurs 2, puis 1, puis 3, c'est la porte dont la valeur OCB est égale à 2 qui s'ouvrira.

 

 

Restrictions importantes :

 

- La porte dont la valeur OCB est égale à 0 doit absolument être la première déclenchée. Prévoir donc que la combinaison 1/2/3 soit la première utilisée par le joueur.

 

- Le système d'interrupteurs ne se réinitialise que lorsque qu'une porte est refermée, obligeant Lara à emprunter tout de suite le chemin nouvellement ouvert. Il faut donc prévoir aux endroits adéquats des triggers de type ANTITRIGGER for SEQUENCE_DOOR1 #n. Ensuite, et comme le chemin aura déjà été visité, prévoir également un trigger de type TRIGGER for SEQUENCE_DOOR1 #n afin d'ouvrir à nouveau la porte. De cette manière, si le joueur utilise encre une fois la même combinaison d'interrupteurs, ceux-ci se réinitialiseront automatiquement, du fait que le chemin est désormais toujours accessible.

 

 

Exemple particulier employé dans ce projet :

 

Regardez les pièces "Room26", "Room35" et "Room36".

Dans ce projet, seules 3 portes sont utilisées dans le jeu (visibles dans la pièce n°26). Mais, comme il faut absolument que les 6 portes soient présentes dans le niveau, une astuce consiste à faire en sorte que l'ouverture d'une porte non prévue déclenche un piège mortel. C'est le cas dans les pièces n° 35 et 36. Ces pièces ne sont reliées avec aucune autre, et sont donc invisibles pour le joueur. Ici, le piège consiste à libérer une ROLLINGBALL, retenue au départ derrière la porte, et qui va déclencher le piège en passant dessus. Observez les différents réglages OCB des ROLLINGBALL, des 3 portes et des triggers de ces deux pièces.


Retour au début

UTILISATION DES ELEMENT_PUZZLE

 

Regardez la pièce "Room96".

 

Les ELEMENT_PUZZLE consistent en trois objets représentant des plateaux de balance, destinés à recevoir trois éléments distincts : l'eau, la terre et le feu. Il y a donc 3 types d'ELEMENT_PUZZLE, et ceux-ci peuvent être utilisés indépendamment les uns des autres, ou alors combinés, afin de déclencher toute sorte d'évènement.

 

N'oubliez jamais de construire non loin une petite salle d'eau facilement accessible où Lara pourra remplir ses gourdes. N'oubliez pas non plus de placer une flamme où Lara pourra allumer la torche à main.

 

 

Liste des objets à insérer dans le wad :

 

La liste suivante est établie pour les 3 éléments. Si vous ne voulez pas implémenter un élément particulier dans votre niveau, omettez les objets correspondants.

- ELEMENT_PUZZLE : objet à plateau

- WATERSKINs : Une seule ou les 2 gourdes nécessaires au placement de l'élément "eau" (voir le chapitre sur l'utilisation des balances)

- PICKUP_ITEM1 : le sac de sable nécessaire au placement de l'élément "terre"

- PICKUP_ITEM2 : le jerrican d'essence nécessaire au placement de l'élément "feu"

- BURNING_TORCH_ITEM : la torche à main nécessaire à l'embrasement de l'essence pour l'élément "feu"

- LARA_WATER_MESH : animation de Lara pour l'utilisation des gourdes

- LARA_DIRT_MESH : animation de Lara pour l'utilisation du sac de sable

- LARA_PETROL_MESH : animation de Lara pour l'utilisation du jerrican d'essence

- TORCH_ANIM : animation de Lara pour l'utilisation de la torche à main

 

Mise en oeuvre :

 

- Placez autant d'objets ELEMENT_PUZZLE que nécessaire, où bon vous semble, et réglez la valeur OCB de chacun d'eux comme suit :

- 0 : le plateau recevra l'élément "eau".

- 1 : le plateau recevra l'élément "feu".

- 2 : le plateau recevra l'élément "terre"

- Placez ensuite sous chacun d'eux un trigger de type HEAVY pour l'objet à déclencher. Rappelez-vous que les ELEMENT_PUZZLE peuvent être combinés pour un déclenchement unique. Il faudra alors régler les flags STT de chaque trigger de manière à ce que la TCombi soit complète. C'est la cas dans ce projet, dans la pièce n° 96.

 

 

Fonctionnement du puzzle dans le jeu :

 

Pour déposer chaque élément, il faut au préalable ouvrir l'inventaire, et sélectionner cet élément.

 

- Pour le plateau destiné à recevoir l'eau : remplissez une gourde, placez ensuite Lara devant le plateau avec les vagues bleutées et versez-y le contenu de la gourde.

 

- Pour le plateau destiné à recevoir la terre : ramassez le sac de sable, placez ensuite Lara devant le plateau avec le triangle brunâtre et versez-y le contenu du sac.

 

- Pour le plateau destiné à recevoir le feu : ramassez le jerrican, placez ensuite Lara devant le plateau avec le soleil, et versez-y le contenu du jerrican. Ramassez ensuite la torche à main, allumez-la et embrasez le plateau.


Retour au début

LE TRAVELLING CAMERA

 

Le travelling caméra consiste en un séquence de plusieurs caméras placées judicieusement, et qui suivent les déplacements de Lara. Pour ceci, on utilise des caméras de type FLYBY d'une manière un peu particulière, car le joueur garde le contrôle de Lara pendant toute la séquence. Regardez les pièces "Room90" et "Room91" pour mieux comprendre.

 

En général, procédez de la manière suivante :

- Prévoyez une suite de plusieurs carrés côte à côte où la séquence sera activée

 

- Placez au minimum 2 caméras de type FLYBY en respectant ceci : la 1ère à côté du carré où débute la séquence, et la dernière à côté du carré où se termine la séquence. Essayez de na pas placer de caméras au dessus de la suite de carrés, où le résultat ne sera pas très esthétique. Vous pouvez placer d'autres caméras intermédiaires entre les 2 extrémités, où bon vous semble, en gardant à l'esprit que ce n'est que lorsque Lara se déplacera que la séquence passera progressivement d'une caméra à la suivante.

 

- Réglez les propriétés de chaque caméra dans sa fenêtre OCB comme ceci :

 

 Seq : numéro de séquence des caméras

 Num : numéro de la caméra dans la séquence

 Speed : rapidité de la caméra. Laissez toujours 1

 Roll : inclinaison de la caméra

 FOV : focale

 OCB : appuyez uniquement le 3 (pour indiquer que les caméras surveillent Lara) et le 11 (pour permettre le contrôle de Lara)

 

 

 

- Sélectionnez la suite de carrés, et placez un TRIGGER pour la première caméra. N'activez pas le "oneshot", ni aucun flags STT, car la séquence doit être systématiquement activée lorsque Lara passe dessus. Lorsque Lara quitte le trigger, la séquence se coupe automatiquement.

Dans ce projet, il n'y a que 2 caméras, ce qui est largement suffisant. Le trigger est en fait de type MONKEY, car ce n'est que lorsque Lara est suspendue à l'échelle de singe du plafond que la séquence est activée depuis la salle du dessous. Lorsque Lara marche sur le trigger, rien ne se passe.


Retour au début

LA CONSTRUCTION PERSONNALISEE DES SCRIPTS

 

Construire des scripts personnalisés consiste à apporter diverses modifications dans les fichiers "SCRIPT.TXT", "FRENCH.TXT" et "ENGLISH.TXT", de manière à personnaliser les différents affichages dans le jeu, comme :

- le libellé du niveau

- la légende affichée au lancement de la partie

- les noms des items dans l'inventaire

Nous verrons également comment :

- intégrer les objets à examiner dans le jeu

- ajouter un ciel en mouvement

- ajouter l'effet lenticulaire

- effacer le contenu de l'inventaire

- configurer la position des items dans l'inventaire

Pour tout autre renseignement concernant les scripts, référez-vous au manuel fourni avec l'éditeur, aux pages 63 et 64.

 

 

a. Configurer les scripts pour une conversion multi-langues

 

Il faut savoir qu'il est totalement inutile de créer un fichier "script.txt" en Français. Il suffit simplement de modifier les fichiers "english.txt" et "french.txt" aux endroits adéquats. Le convertisseur fourni avec l'éditeur se chargera d'effectuer la traduction nécessaire, à condition de l'avoir indiqué dans le "script.txt". En effet, si vous désirez fournir votre niveau en Français et en Anglais, laissez simplement les lignes suivantes dans le fichier "script.txt" :

 

;--------------------------------------
; Language Filenames
;--------------------------------------

[Language]
File= 0,ENGLISH.TXT
File= 1,FRENCH.TXT

 

Ensuite, il suffit de lancer le convertisseur : "English Script.bat" pour générer les scripts anglais et "French Script.bat" pour générer les scripts français. Mais avant de lancer le convertisseur, je vous conseille de le modifier afin d'y ajouter une pause à la fin, de manière à pouvoir lire les résultats de la conversion dans la fenêtre DOS, avant que celle-ci se referme. Ceci à pour avantage de savoir si vous avez commis une erreur dans les fichiers ".txt". Par exemple, le convertisseur français devrait ressembler à ceci :

 

script script.txt
del ..\*.dat
copy script.dat ..\
copy french.dat ..\
del strings.h
pause

 

 

b. Comment modifier les différents libellés

 

- La ligne "Name=" indique le nom de votre niveau. Veillez à ne pas utiliser certains caractères spéciaux comme les deux points ":" par exemple.

- La ligne "Legend=" indique un texte qui apparaît dans le jeu au début d'une nouvelle partie.

- Les lignes "Puzzle=", "Pickup=", "Key=" et "Examine=" indiquent les noms des différents items figurant dans l'inventaire, et prévus dans le niveau.

 

Extrait du fichier "script.txt" :

 

...

[Level]
Name=    Egyptian dream - tutorial
Legend=  Turn OFF the Volumetric FX...
Puzzle=  4,Jewel of Apophis, $0000,$0400,$0000,$0000,$0000,$0002
Puzzle=   7,Guardian Key, $0009,$0300,$0000,$0000,$0000,$0002
Puzzle=  12,Golden Beetle, $0008,$03b0,$0000,$e000,$0000,$000a
Pickup=   1,Bag of Sand, $0000,$0400,$0000,$2000,$1000,$8002
Pickup=   2,Jerrycan, $0015,$0500,$4000,$f000,$0000,$4002
Examine= 2,The Sphinx's map, $0000,$0500,$0000,$0000,$0000,$0002
...

 

Dans cet exemple, vous remarquerez que les lignes en gras désignent des libellés totalement nouveaux, qui n'existent pas dans la version de l'éditeur de niveaux.  Pour conserver une cohérence, chaque libellé figurant dans le fichier "script.txt" doit également exister dans le fichier "english.txt", sinon il y aura une erreur de conversion, et les scripts ne seront pas générés. Quant au fichier "french.txt", il contiendra la version traduite de chaque libellé.

 

ATTENTION : Pensez que les fichiers "english.txt" et "french.txt" listent de manière exhaustive tout ce qui peut exister dans le jeu. Vous y retrouverez tous les noms de niveaux standard de Tomb Raider 4 ainsi que les noms de tous les items de l'inventaire. Aussi, vous ne devez jamais ajouter ou supprimer de ligne dans ces fichiers, sous peine d'avoir systématiquement une erreur de conversion. Vous devrez également veillez à choisir judicieusement les lignes que vous modifierez. Pour les  noms de niveau, la ligne est celle correspondant au numéro d'ordre du niveau. Pour les items de l'inventaire, modifiez les noms de ceux que vous n'utiliserez jamais dans votre niveau.

 

Pour mieux comprendre les lignes choisies dans le tableau ci-dessous, ouvrez sous le bloc notes les fichier "english.txt" et "french.txt" standard.

 

Extrait du fichier "english.txt" modifié

Extrait du fichier "french.txt" modifié

 

;**************************************
;
; Tomb Raider IV English Strings File
; Release Version 1.00
;
;**************************************

;--------------------------------------
; Generic Strings
;--------------------------------------

[Strings]
Cambodia, 1984
Turn OFF the Volumetric FX...

Title Load Screen
Egyptian dream - tutorial
The Tomb Of Seth
Burial Chambers
Valley Of The Kings
KV5
Temple Of Karnak

...

 

 

;**************************************
;
; Tomb Raider IV English Strings File
; Release Version 1.00
;
;**************************************

;--------------------------------------
; Generic Strings
;--------------------------------------

[Strings]
Cambodge, 1984
Mettez les effets volum‚triques sur OFF...

Ecran de chargement
Rˆve ‚gyptien - tutoriel
Le tombeau de Seth
Les chambres s‚pulcrales
La vall‚e des rois
KV5
Le temple de Karnak

...

 

 

...

Armoury Key
The Guards Keys
Scrap Of Paper
Stone of Maat
Stone of Khepri
Stone of Atum
Stone of Re
Jewel of Apophis
Golden Beetle
The Sphinx's map

Black Beetle
Broken Beetle
Broken Glasses
Fire Circle Scroll

...

 

 

...

Clef de l'armurerie
Clefs des gardes
Bout de papier
Pierre de Maƒt
Pierre de Kh‚pri
Pierre d'Atoum
Pierre de Rƒ
Joyau d'Apophis
Scarab‚e d'or
Les conseils du Sphinx


Scarab‚e noir
Scarab‚e bris‚
Lunettes bris‚es
Parchemin du Cercle de Feu

...

 

 

Faites attention également à ne jamais utiliser les caractères diacritiques français, comme : "é", "è", "ê", "ù", "û", "à", "â", "î", "ô". Cherchez les caractères correspondants dans le fichier "french.txt" et faites un copier-coller.

Retour au début de ce paragraphe

 

c. Intégrer des objets à examiner

 

Les objets à examiner sont des items que Lara peut ramasser dans le jeu, et auxquels sont attachés un texte explicatif. Ceci afin d'aider le joueur dans sa progression, en lui fournissant quelques indices. Ces objets peuvent également figurer un plan ou un carte sans aucune explication.

 

Pour ce faire, ajouter dans votre wad le ou les objets EXAMINE1, EXAMINE2, EXAMINE3, en sachant que seul l'objet EXAMINE1 ne peut avoir de texte explicatif. Ajoutez ensuite dans le fichier "script.txt" la ligne suivante, dans le paragraphe concernant le niveau :

 

[Level]
Name=       Egyptian dream - tutorial
Legend=     Turn OFF the Volumetric FX...
Horizon=    ENABLED
Fog=        152,192,216
Puzzle=     4,Jewel of Apophis, $0000,$0400,$0000,$0000,$0000,$0002
Puzzle=     7,Guardian Key, $0009,$0300,$0000,$0000,$0000,$0002
Puzzle=     12,Golden Beetle, $0008,$03b0,$0000,$e000,$0000,$000a
Pickup=     1,Bag of Sand, $0000,$0400,$0000,$2000,$1000,$8002
Pickup=     2,Jerrycan, $0015,$0500,$4000,$f000,$0000,$4002
Examine=   2,The Sphinx's map, $0000,$0500,$0000,$0000,$0000,$0002
Mirror=     52,$BC00
LoadCamera= 72000,-280,44029,73827,-811,46221,13
Level=      DATA\MAGPTUT1,107

 

Ici, le chiffre 2 indique que c'est l'objet EXAMINE2 qui est utilisé. Il faudra donc modifier le texte explicatif dans le fichier "english.txt" et dans le fichier "french.txt". Rendez-vous donc au niveau des lignes suivantes dans ces fichiers :

 

english.txt

 

...

Action
Draw Weapon
Jump
Roll
Walk
Look
Duck
Dash
Inventory

RULES1:On the 3rd floor,\ndon't waste your time.\nTake the following paths\nE - N/E - N/W - W.
RULES2:On the 2nd visit to the N/E path,\nchoose these floating slabs\nS/W - N/W - W - S/W - N/W - N -\n N/E - E - N - N/E - E
PETEPOO:For the serpents to live,\nall must first be stilled.\nprovoke each in turn,\nand the circle will burn\ncomplete.

...

 

french.txt

 

...

Action
D‚gainer
Saut
Roulade
Marcher
Scruter
S'accroupir
Sprinter
Inventaire

REGLES (1Šre partie) : Au troisiŠme ‚tage,\nne gaspillez par votre temps.\nEmpruntez les chemins suivants :\nE - N/E - N/W - W.
REGLES (2nde partie): A la 2Šme visite du chemin au N/E,\nchoisissez les dalles flottantes\nS/W - N/W - W - S/W - N/W - N -\n N/E - E - N - N/E - E
PETEPOO : Pour que les serpents vivent,\ntous doivent\nˆtre calm‚s. D‚fiez-les chacun … son tour\net le cercle se consumera\ntotalement.

...

 

 

Les caractères "\n" sont en fait des séparateurs indiquant que le texte qui suit devra être à la ligne suivante sur l'écran de jeu.

Si vous décidez d'incorporer un objet à examiner dont le texte sera plus court, utilisez alors l'objet EXAMINE3, et modifiez le texte au niveau de la ligne commençant par "PETEPOO".

Retour au début de ce paragraphe

 

d. Ajouter un ciel en mouvement

 

Ajouter un ciel en mouvement nécessite d'avoir :

- dans le wad, l'objet HORIZON ouvert. Dans ce projet, l'horizon utilisé est fermé. Pour voir un horizon ouvert, ouvrez le projet "karnak.prj"

- dans le wad, l'objet SKY_GRAPHICS.

- dans le même répertoire que celui du wad, un fichier image au format ".raw" correspondant à l'image du ciel. Ce fichier doit être codifié en 256x256, trois couches chromatiques RGB entrelacées et en ordre RGB, RGB, ...

Ajouter ensuite les lignes suivantes dans le fichier "script.txt", dans le paragraphe concernant le niveau :

 

...

[Level]
Name=            My level
Horizon=       ENABLED
Layer1=        128,96,192,7
Layer2=        128,96,192,-10
ColAddHorizon= ENABLED

Lightning=     ENABLED

Puzzle=          1,My item 1, $0001,$0320,$0000,$0000,$0000,$0002
Puzzle=          2,My item 2, $0001,$0320,$0000,$0000,$0000,$0002
...

 

>> La ligne "Horizon=" fait apparaître l'objet HORIZON pendant le jeu. Ligne obligatoire.

 

>> La ligne "Layer1=" fait apparaître le ciel pendant le jeu. Les différentes valeurs indiquent la couleur RGB du ciel ainsi que la vitesse des nuages. Ligne obligatoire.

Les nombres 128,96,192 indiquent une valeur modifiant la composante Rouge, Verte et Bleue de l'image ".raw". Les valeurs sont comprises entre 0 et 255, et s'indiquent de la manière suivante :

- entre 0 et 127 ==> la composante sera moins prononcée donc plus foncée.

- égale à 128 ==> la composante sera identique à celle de l'image ".raw"

- entre 129 et 255 ==> la composante sera plus prononcée donc plus claire

Le chiffre 7 indique la vitesse et l'axe de déplacement des nuages. La valeur s'indique de la manière suivante :

- valeur négative ==> les nuages vont dans un sens. Plus le nombre est petit, plus ils se déplacent rapidement.

- égale à 0 ==> les nuages ne bougent pas

- valeur positive ==> les nuages vont dans le sens contraire. Plus le nombre est grand, plus ils se déplacent rapidement.

>> La ligne "Layer2=" permet d'ajouter un effet identique supplémentaire au ciel. On peut par exemple faire que les nuages se déplacent dans les 2 sens, et à des vitesses différentes. Ligne facultative.

 

>> La ligne "ColAddHorizon=" permet d'ajouter une jonction entre le haut de l'horizon et le ciel. Pour ceci, il faut que l'objet HORIZON ait des textures semi-transparentes à son sommet. Regardez en exemple l'horizon du wad "coastal" (les ruines côtières). Ligne facultative.

 

>> La ligne "Lightning=" ajoute l'effet d'éclair dans le ciel accompagné du bruit de tonnerre. Ligne facultative.

Retour au début de ce paragraphe

 

e. Ajouter l'effet lenticulaire

 

L'effet lenticulaire fait apparaître une lumière symbolisant le soleil. C'est l'effet de "LENS FLARE". Ajoutez la ligne suivante dans le fichier "script.txt", dans le paragraphe concernant le niveau :

 

...

[Level]
Name=            My level
Horizon=         ENABLED
Layer1=          128,96,192,7
Layer2=          128,96,192,-10
ColAddHorizon=   ENABLED

Lightning=       ENABLED

LensFlare=      250000,-32000,110000,128,96,0

Puzzle=          1,My item 1, $0001,$0320,$0000,$0000,$0000,$0002
Puzzle=          2,My item 2, $0001,$0320,$0000,$0000,$0000,$0002
...

 

>> Les 3 premières valeurs 250000,-32000,110000 indiquent l'emplacement X;Y;Z de l'effet. Remarquez la valeur négative de l'ordonnée Y. Une valeur plus petite (-40000 par ex.) placera l'effet plus haut, et inversement.

>> Les 3 valeurs suivantes 128,96,0 indiquent la couleur RGB de l'effet

 

Pour que l'effet soit visible, il faut que Lara se trouve dans une pièce extérieure, c'est-à-dire avec le bouton [O] de la fenêtre [Room edit buttons] pressé. Pressez le bouton [NL] si vous voulez éliminez l'effet d'éblouissement.

Retour au début de ce paragraphe

 

f. Effacer le contenu de l'inventaire

 

Cette fonction consiste à vider l'inventaire de tous les items ramassés par Lara pendant le jeu. Evidemment, ce procédé n'est utile que si vous comptez fournir une aventure faite de plusieurs niveaux consécutifs. En effet, l'inventaire est seulement effacé quand Lara passe d'un niveau au suivant. Pour intégrer cette fonction, ajoutez la ligne suivante dans le fichier "script.txt", dans le paragraphe concernant le niveau avant lequel l'inventaire doit être effacé :

 

...

[Level]
Name=            My level
Horizon=         ENABLED
Layer1=          128,96,192,7
Layer2=          128,96,192,-10
ColAddHorizon=   ENABLED

Lightning=       ENABLED

ResetHub=      5

LensFlare=       250000,-32000,110000,128,96,0

Puzzle=          1,My item 1, $0001,$0320,$0000,$0000,$0000,$0002
Puzzle=          2,My item 2, $0001,$0320,$0000,$0000,$0000,$0002
...

 

Dans cet exemple, on considère qu'il s'agit du niveau 4. Et lorsque Lara débutera le niveau numéro 5, tous les objets PUZZLE, EXAMINE, KEY et PICKUP déjà ramassés n'existeront plus. Ca a pour avantage de ne pas avoir à incorporer dans le wad des niveaux suivants des items dont on a pas besoin.

Retour au début de ce paragraphe

 

g. Configurer la position et le comportement des items dans l'inventaire

 

Lorsque vous visualisez l'inventaire durant le jeu, chaque item ramassé apparaît, pour peu qu'une ligne le définissant soit incorporée dans le fichier "script.txt". La façon dont il apparaît est déterminée par un ensemble de valeurs indiquant sa position, son inclinaison et sa rotation. Ces différents éléments sont codifiées dans chaque nombre qui suit le signe "$" au bout des lignes débutant par "Puzzle=", "Key=", "Examine=" ou "Pickup=". Il y a au total 6 valeurs hexadécimales qui peuvent être paramétrées de la manière suivante :

 

Les explications suivantes ont été réalisées par "Bojrkraider" du forum de "Lara's Home".

 

 

Puzzle=    1,My item 1, $0017,$03b0,$8000,$f000,$0000,$0002
 


>> Valeur 1 : Déplace l'objet en haut ou en bas dans l'inventaire

Exemple :
1000 - changer le chiffre 1 ==> grand déplacement (l' object is off the screen)
0100 - changer le chiffre 2 ==> L'objet se déplace d'environ la moitié de l'écran

0010 - changer le chiffre 3 ==> L'objet se déplace un peu vers le bas (utile pour les objets qui apparaissent trop haut dans l'inventaire).
0001 - changer le chiffre 4 ==> Le mouvement est très faible (pour de petits déplacements)

>> Valeur 2 : Taille de l'objet. Modifiez le chiffre 2 et 3 uniquement


>> Valeur 3 : Rotation de l'objet en diagonale. Changez le chiffre 1 uniquement.


>> Valeur 4 : Rotation de haut en bas. Changez le chiffre 1 uniquement.


>> Valeur 5 : Rotation de gauche à droite. Changez le chiffre 1 uniquement


>> Valeur 6 : Vitesse de rotation

Exemple général :
$0002 - rotation par défaut
$000a - rotation régulière (à utiliser si $0002 fait "trembler" l'objet)

Exemple particulier des ELEMENT_PUZZLE :
Pickup= 1,Bag of Sand, $0000,$0400,$0000,$2000,$1000,$8002
Pickup= 2,Jerrycan,    $0015,$0500,$4000,$f000,$0000,$4002

Retour au début de ce paragraphe


 




Retour

image
Mentions Légales    ©Copyright 2007-2009© tomb-raider-editor.com Tous droits réservés
Dernière mise à jour : 03/11/2008