Personnalisations des Maps ![]()
Introduction :
Dans ce chapitre nous allons voir comment
apporter un peu de personnalité a votre map. Pour cela nous allons devoir y
intégrer un nouvel élément simple puis qu'il s'agit là de données en texte brut.
Nous pourrons donc ainsi donner un nom a notre
niveau, choisir la
musique qui y sera jouer, mais aussi déterminer le
sky qui sera afficher ainsi
que le numéro de la prochaine map
qui sera lancée une fois le niveau achevé par l'action "exit".
Le
"MAPINFO"
Il est facile de comprendre que le
mapinfo va donc informer au moteur de jeux des caractéristiques que vous allez
attribuer à votre map .
Vous allez devoir commencer par créer ce
nouvel élément, comme vous avez certainement déjà lu les chapitres précédents,
je suppose que cela ne sera pas un problème pour vous, je vous invite donc à
l'ajouter, nommez le impérativement "MAPINFO".
Il est impératif que vous compreniez que
lorsqu'on ne met pas de mapinfo dans un wad, les informations auxquelles je fais
allusion seront automatiquement infligées au moteur du jeu. L'avantage du mapinfo et donc de pourvoir faire autorité sur le moteur en se substituant aux
informations déjà présentes dans le jeu. Il sera toute fois nécessaire de le
renseigner convenablement car si je prends le cas d'une abstraction volontaire
de ces renseignements, il se traduira par l'obtention d' effets pas forcément désirés,
pouvant s'apparenter à des "bugs".
Le
nom du niveau:
Bien qu'il soit pertinent d'avoir
remarqué que la map se voit déjà attribué un nom, en occurrence dans la cas
présent je veux parler de "map01", je vous invite toute fois à faire attention
à ne pas confondre "nom de map" et "nom de niveau" qui sont pour autant deux choses
totalement différentes:
A savoir, les appellations "mapxy"
sous doom2 et "exmy"
sous Doom, Doom1 (x et y
étant des valeurs numériques) font surtout référence à un élément (ou sous
fichier) se voyant attribué une numérotation des différentes maps matérialisées
dans le wad généralement, dont le but est de faciliter l'appel à l'exécution, que
ce soit au niveau du moteur de jeux (exemple: par le biais de la console) ou
tout simplement sous Doom Builder (lorsqu'on ouvre un wad dans l'éditeur on peu
y voir toute la liste des maps contenus). Il s'agit bien là du "nom de la map"
mais on pourrait tout aussi bien dire "numéro de map". Par ailleurs, je me
permets une petite parenthèse sur ce sujet, il est tout à fait envisageable de
nommer une map différemment du standard habituel et donc de changer les "map01"
, "map02" etc. en tout autre chose qui pourra vous convenir, comme pourquoi pas
"carte01", "carte02" etc. Toute fois sachez que cette
dernière méthode pourra se révéler quelque peu risquée et contraignante.
Il est donc évident que le nom de niveau
fait référence à une toute autre fonction, néanmoins pas nécessairement
indispensable, mais dans un contexte littérale on pourrait faire l'analogie avec
le nom du chapitre d'un livre. Il est certainement fort à parier que vous
trouveriez plutôt repoussante la lecture d' un livre intitulé " livre" et ayant
pour titres de ses chapitres "chapitre01", "chapitre02" etc... Libre à vous de
choisir un nom pour votre niveau, celui ci apparaîtra une fois le niveau achevé
tout comme l'illustre l'image suivante:
Comme vous avez pu voir, j'ai donné
comme nom de niveau à ma map: "Mon tuto :)" celui
ci c'est affiché après avoir actionné la sortie du niveau .
Pour ce faire, il vous suffira juste
d'entrer une ligne d'information dans le mapinfo :
map MAP01 "Mon tuto :)"
Cette ligne est facile à comprendre, en
résumé "map MAP01" fait référence à votre map01, le nom de votre niveau doit
être entre guillemets " " . Vous pouvez mettre un mon composé de plusieurs mots,
toute fois il ne serait peut être pas convenable de mettre un phase trop longue
:)
Les Cieux (Sky) :
Bien qu'il y ai beaucoup à dire sur les
"SKY" notamment sur les "SKYBOX" je vais m'efforcer de faire au plus court, tout
fois les cieux ont une place importante dans une belle et grande map. Tout
d'abord, il faut prendre en considération le fait que certain joueurs peu
habitués peuvent ressentir un trouble proche du mal de mer se traduisant
principalement par des nausées. cela est due a une non coordination entre
l'oreille interne et ce qui est perçu par les yeux, le corps n'étant pas soumis
au restrictions des lois physiques (gravitée, force centrifuge), pour faire
simple je dirais que le cerveau a tendance à bugger légèrement. Je suis moi même
pourtant habitué à me promener dans des environnement virtuels en 3D, il m'est
pourtant arrivé d'être victime de ces troubles, cela pouvant être accentué par
un état de fatigue mais aussi et surtout pas l'architecture de maps le plus
souvent dépourvues de grands espaces et de ciel. Voila en partie pourquoi
il faudra accorder de l'importance à votre ciel.
Je m'exempterais d'expliquer dans ce
chapitre comment on fait une Skybox cela sera traité dans une autre section,
tout fois il n'est pas difficile d'imaginer qu'un sky n'est autre qu'une simple
texture à la différence que celle ci ne sera pas affiché de la même façon dans
la mesure ou un sky n'a pas d'orientation sur une face murale ou de sol /
plafond.
Il est donc totalement possible d'afficher n'importe quelle texture déjà présent dans votre wad comme étant un "sky" donc à partir de là toute texture est potentiellement un sky.
Comment ça "c'est
impossible" ?! vous voulez des preuves ? soit, essayez donc :
Tenez, vous avez gardé la texture
"GRAYWALB" que je vous ai donné dans au début du chapitre "textures
murales" ? Et bien entrez dans le mapinfo la ligne suivante : (oui
évidemment en dessous de l'autre, pas à coté)
Sky1 "graywalb" 0.5
Alors ? c'était comment ? pas vraiment ça
... bien oui une texture de mur ça ne colle pas trop dans un ciel, vous auriez
sans doute préférez des nuages ? oui je comprends bien évidemment, mais pour ça
vous devrez faire appel à vous talents de graphistes parce je n'ai rien d'autre
sous la main à vous proposer.
Bon oui, c'est bien gentil
tout ça, me direz vous, mais que signifient ces chiffres présents dans cette
nouvelle ligne? Et bien c'est ce que nous allons voir dés maintenant.
Tout d'abord le 1 de "Sky1" ! Oui forcement
ça soulève une question primordiale: y a t-il la possibilité de mettre plusieurs
Sky dans une même map ? j'aimerais vous répondre que oui malheureusement ça
n'est pas envisageable dans le format classique de Doom, du moins pour ce qui
est de ce tutorial nous allons considérer que non.
Entre guillemets " " ça j'espère au moins
que vous l'aurez compris c'est le nom de la texture qu'on utilise pour faire le
ciel.
Et le "0.5" alors ? Bonne question,
j'aimerais vous dire que je n'en sais strictement rien, malheureusement ça ne
serait pas honnête de ma part de vous faire de fois de suite le même coup, je
vais donc m'efforcer de vous expliquer. En fait c'est tout simple, vous aurez
sans doute remarqué lors de votre dernier essai que le ciel tournait légèrement
de gauche à droite, c'est donc à cela que sert cette variable, cette fonction
peu donner un effet qui pourra être intéressant si elle est bien utilisée, avec
une texture adaptée on peu donner une illusion de vent. cette variable
fonctionne de la façon suivante: 0.5
signifie donc que le ciel va tourner de gauche à
droite à une certaine vitesse, si vous inversez le
0 et le 5 c'est à dire 5.0,
le ciel conserve la même vitesse de rotation mais sa direction sera inversée donc
de droite à gauche. si
vous mettez la valeur 0.1
le ciel tournera très légèrement et si vous mettez
0.0 le ciel sera figé.
Conclusion: on peux changer le sens de rotation en plaçant une valeur numérique différente de 0 d'un coté ou de l'autre du point. Plus la valeur numérique est élevé, plus la vitesse de rotation est importante.
Je ne vous apprendrais peut-être rien en
vous disant que les Sky d'origines de doom2 sont aussi utilisables avec le
mapinfo sans avoir besoin de les importer. Pour cela il vous suffira de les
appeler en écrivant votre ligne de Sky de l'une des 3 façons proposées :
Sky1 "sky1" 0.0
Sky1 "sky2" 0.0
Sky1 "sky3" 0.0
Les
Musiques :
Les formats :
A l'origine, les
formats de musiques utilisés dans Doom étaient au format .mus il s'agit en fait
de fichiers midi convertis. Les pionniers du mapping en ce temps là utilisaient
les célèbres convertisseurs mus2midi.exe et midi2mus.exe pour extraire et
remplacer les musiques de leurs wads. Aujourd'hui cela n'est plus d'actualité
car XWE s'occupe de faire lui même ces conversions, de plus, la plus part des
moteurs récents supportent très bien de nombreux format standards comme le IT ,
WAV ou le MP3, cela dit, les formats les plus utilisés restent le midi et le IT
d'une part pour des raisons d'espace octets, ils sont les moins pesant dans un
fichier wad, et d'autre part pour des raisons soient disant juridiques.
Législation :
Citation: "Une certaine confusion existe à propos des
divers formats de fichiers musicaux qu’on retrouve sur Internet. On croit
souvent à tort que le format du fichier détermine les droits consentis aux
usagers. Ainsi certains pensent que le sigle MP3 est synonyme d’illégalité ou
que les fichiers MIDI sont tous légaux. Il n’en est rien. Les fichiers .WAV .AIF
.MID et .MP3 ne sont que des formats de conversion audio qui permettent à un
ordinateur de traiter en numérique des sons analogiques. Cette conversion est
nécessaire pour que l’ordinateur et le Web puissent servir de support à l’audio.
Le droit d'auteur n'est donc pas relié à cette conversion et à ce nouveau
support de l’oeuvre mais plutôt à l'œuvre elle-même (qui par la suite sera
convertie en .MP3, .WAV, .AIF ou .MIDI afin de pouvoir circuler sur le net ou
encore afin de réduire son espace de stockage). Vous ne pouvez donc pas utiliser
ces fichiers musicaux sans l’accord du titulaire du droit d’auteur sur l’œuvre,
ni convertir une pièce de musique dans ces formats sans son accord. Il se peut
également qu'un auteur compose une mélodie directement sous un format MIDI avec
l'aide d'un programme informatique conçu à cet effet. Il sera le détenteur des
droits sur cette composition de la même manière que s’il l’avait réalisée sur
des instruments de musique traditionnels".
Pour éclaircir la chose, tenez compte du
fait que c'est la mélodie de l'oeuvre qui est protégée et non pas le son ! Je
vais prendre pour exemple un wad bien connu pour le multi-joueur FFA, vous
connaissez certainement le wad brit10.wad,
il contient quelques fichiers midi qui reprennent très clairement des
compositions de Metallica, je doute que les auteurs de ces wads aient demandé
une quelconque autorisation à
Kirk
Hammett ou
James Hetfield .
je n'ai pu voir aucun crédits mentionné faisant allusion à l'utilisation des ces
fichiers. Gardez présent à l'esprits que toute reproduction totale ou partielle
d'une oeuvre sans l'autorisation de l'auteur est considéré comme illégale au
même titre que la contrefaçon.
Soyez donc vigilent si vous utilisez des
reproductions, vous êtes désormais avertis,
je ne pourrais en aucun cas être tenu pour responsable en cas de litige,
et bien sur, comme toujours, le Secteur-Lambda niera avoir eu connaissance de
vos agissement.
Toute fois il ne vous sera jamais
reproché d'insérer vos propres compositions dans un wad.
Entrons dans le vif du sujet, pour le choix
du format choisissez plutôt du midi ou IT pour ne pas trop alourdir votre wad,
pensez à sa diffusion, son hébergement et son téléchargement. En admettant vous
aillez les autorisations des auteurs pour insérer des thèmes connus, ou que vous
aillez vous-même composer votre thème, nous allons voir ici comment utiliser un
fichier de musique dans votre wad, car si vous ne renseignez pas le mapinfo,
aucune musique ne sera jouée ce qui peu aussi être une alternative intéressantes
si vous utilisez des effets sonores dominants.
L'insertion d'un fichier de musique ne
relève d'aucune difficulté majeure puisque la méthode sera la même que pour
l'insertion de textures. Il vous suffira de sélectionner un fichier à l'aide de
l'explorateur de XWE qui apparaîtra après avoir cliqué sur "Load" dans le menu "Entry".
Une fois le fichier inséré dans votre wad, il
apparaîtra pour la première fois comme un "marker", cela ne doit pas vous
inquiéter, il sera assigné de toute façon. Il ne vous restera plus qu'a
renseigner votre mapinfo en ajoutant la ligne suivante:
music nom_de_votre_fichier
nom_de_votre_fichier
reste théorique car
notez qu' un nom de fichier ne devra pas excéder 8
caractères tout au plus, autrement le nom sera
tronqué à 8 caractères. ( au passage je profite de
préciser que cette règle est valable pour
tout les éléments intégrés dans un wad, donc s'applique tout aussi bien aux
musiques qu'aux textures )
Exemple, si votre fichier se nom
"d_music1.mid" ou "d_music1.mp3" vous devrez entrer dans le mapinfo :
music d_music1.
L'extension ne doit pas être renseignée
et ne mon de la musique ne doit pas
se trouver entre guillemets.
Tout comme pour les sky, vous pouvez tout
aussi bien assigner à votre map une des musiques de Doom2 dont voici la liste:
map01
D_RUNNIN ; map02
D_STALKS ; map03
D_COUNTD ; map04
D_BETWEE ; map05
D_DOOM ; map06
D_THE_DA ; map07
D_SHAWN ; map08
D_DDTBLU ; map09
D_IN_CIT ; map10
D_DEAD ; map11
D_STLKS2 ; map12
D_THEDA2 ; map13
D_DOOM2 ; map14
D_DDTBL2 ; map15
D_RUNNI2 ; map16
D_DEAD2 ; map17
D_STLKS3 ; map18
D_ROMERO ; map19
D_SHAWN2 ; map20
D_MESSAG ; map21
D_COUNT2 ; map22
D_DDTBL3 ; map23
D_AMPIE ; map24
D_THEDA3 ; map25
D_ADRIAN ; map26
D_MESSG2 ; map27
D_ROMER2 ; map28
D_TENSE ; map29
D_SHAWN3 ; map30
D_OPENIN ; map31
D_EVIL ; map32
D_ULTIMA.
Exemple: vous souhaitez utiliser la musique de
la map 18, vous devrez renseigner le mapinfo comme suit:
music D_ROMERO
Les Sorties (EXIT) :
Le mapinfo permet de définir la map qui
sera exécuter après avoir achevé le niveau en cour, Vous pourrez vous poser la
question suivante: " à quoi cela devrait - il servir ? " puisque le jeu passe
toujours de la map01 à la map02, puis de la map02 à la map03 etc...
Le problème est que comme je
vous l' ai dis au début de ce chapitre le mapinfo va remplacer les informations
du jeu par défaut et donc si aucune prochaine map n'est assignée, lorsque
vous actionnerez la sortie du niveau, le moteur de jeu vous relancera la même
map indéfiniment, a moins que vous ayez spécifier un "mapcycle" sur un serveur.
Un des avantage cependant que cela peu
permettre, est que si par exemple vous avez déjà quelques map dans votre wad
mais que l'une d'entre elle présente un bug ou bien dans le cas d'une map que
vous jugerez ne pas être totalement au point ou inachevée, cela permet de
configurer votre wad de façon a ce que l'on puisse passer directement de la
map01 à la map03 sans passer par la map02, de cette façon vous pouvez déjà
diffuser une première version de votre wad en attendant de finaliser la map02...
Par ailleurs, cela vous offre aussi la
possibilité d'appeler vos maps "carte01, carte02, carte03 etc..."
La principale application est donc très
simple:
En effet il vous suffit d'entrer les
informations suivantes pour que l'action de sortie appelle la prochaine map :
next map02
Et les sorties secrètes dans tout ça ?
Bien entendu vous connaissez certainement ce
type de sortie dans Doom2, il sera donc très facile d'assigner la sortie secrète
d'un niveau en ajoutant cette information en plus de celle pour votre sortie
principale :
secretnext map31
Toute fois rien ne vous empêche d'assigner
comme map secrète n'importe qu'elle autre map de votre wad:
secretnext map03
Nettoyer et passer à la suite :
Pour résumer :
Le mapinfo contient généralement les 4
informations que nous venons d'étudier dans ce chapitre:
|
map MAP01 "Ma superbe map qui déchire" Sky1 "nuages" 0.5 music D_MUS01 next map02 |
avec sortie secrète :
|
map MAP01 "Ma superbe map qui déchire" Sky1 "nuages" 0.5 music D_MUS01 next map02 secretnext map03 |
Si vous avez plusieurs maps dans votre
wad :
exemple de mapinfo avec 4 map dont une secrète
:
|
map MAP01 "Ma superbe map qui déchire" Sky1 "nuage01" 0.5 music D_MUS01 next map02
map MAP02 "Mon autre map qui déchire" Sky1 "nuage01" 0.0 music D_MUS01 next map04 secretnext map03
map MAP03 "Ma map secrète" Sky1 "nuage02" 0.0 music D_MUS03 next map04
map MAP04 "Ma dernière map" Sky1 "nuage01" 0.0 music D_MUS04 next map01 |
Une illustration d'un de mes mapinfo présent
dans l'un de mes wad vu sous XWE:

Sachez par ailleurs qu'il existe
d'autres types d'information que l'on peu intégrer dans un mapinfo comme par
exemple afficher un message à l'écran sur un fond de texture lorsque un chapitre
de votre wad s'achève. Je ne vous détaillerais pas le fonctionnement de toutes
ces fonctions dans ce tutorial car l'intérêt est assez limité et ne fonctionnent
pas sur tout les ports.
Pour faire simple, un message d'achèvement :
placez
cluster 1 à
la suite des infos d'une map puis à une autre ligne :
|
clusterdef 1 exittext "Vous avez terminer le niveau" |
Attention : ne fonctionne que sur certain
ports.
Je vous propose quelques exemples
illustrés dont vous pourrez vous inspirez si bon vous semble pour vos
expérimentations.
Mapinfo extrait du Wad
Saphire.wad pour le port
Skulltag. Auteur :
Daniel "Tormentor667" Gimmer

Mapinfo extrait du Wad
beddmap.wad pour le port
Zdoom. Auteur :
BAZOOKA

Le chapitre est maintenant terminez, il
ne vous reste plus qu'a vous mettre au travail et d'essayer tout ce que nous
venons de voir. Le chapitre suivant sera consacré aux Sprites et Gfx.