Yopla les gens, je vous propose un petit making-of d'une des maps de
Tourments, notre jeu fais avec Yami no Tenshi comme spriteur et 2DT comme graphiste.
Les images plus large que 800px sont placées dans des balises spoilers.Je vais donc vous expliquer étape par étape comment je procède pour créé une map. Celle-ci sera une map d'égouts/souterrain de la première ville du jeu. C'est une simple map optionnelle avec un coffre à l'intérieur (je n'ai pas encore décidé du contenu du coffre, mais ce sera quelque chose de moyenne valeur).
Comme nous utilisons Tiled Map Editor pour nos maps, ça ne ressemblera pas vraiment à ce que vous connaissez avec RPG maker même s'il y a de grandes similitudes. Voici mon interface, j'y ais aussi placé le point d'entrée/sortie de la map.
- Spoiler:
Comme on peut le voir, nous avons pas mal de couches à disposition pour mapper ^^ 7couches sous le héros, 2 au dessus et 2 couches concernant le cas spécifique des escalier. (Pas nécessaire pour cette map, j'y reviendrais peut être dans un autre making-of.)
J'ai accès à mon tileset en bas à droite, je peux même avoir plusieurs tilesets pour une map, ce que j'ai ici d'ailleurs avec mon tileset d'objets (j'y reviendrais à la fin de cet article).
Une miniature du tileset de la map ainsi que celui des objets pour vous donner une idée :
- Spoiler:
Tiled possède quelques différences avec RPG maker, déjà nous ne sommes pas limité en nombres de couches (après c'est a nos de gérér ça dans la programmation de notre jeu.), ensuite on peut ajouter des propriétés à nos tiles et faire des couches qui seront lues par notre programme sans les afficher afin de faire des couches d'objets. On peut aussi faire des sélections de plusieurs tiles de façon non rectangulaire ce qui peut s’avérer pratique. Par contre nous n'avons pas d'outils pour faire des autotiles mais on peut s'en passer, surtout pour un jeu en vue de profil.
Aller, trêve de blabla, je fais la première étape de ma map. Je commence de façon classique par faire la structure et faire un « chemin » dans la map.
A ce niveau, j'ai déjà pensé au placement des ennemis et du coffre, j'ai aussi imaginé les possibilités offertes au joueur.
Schéma :
L'arrivée dans ce niveau se fait automatiquement par la porte blanche, le joueur peut identifié le coffre et l’échelle rapidement. Un autre possibilité s'offre à lui, celle de prendre directement le raccourcit en passant par le trou, il arrivera alors directement au niveau du coffre. Mais 2 rats l'attendent en bas, et s'il se dirige vers la droite ou la gauche, il rentrera dans la zone de vision d'une chauve-souris. S'il prend le raccourcit il sera alors confronté à 3 ennemis en même temps. S'ils passe par l’échelle, il pourra tuer la chauve-souris puis ensuite les 2 rats.
Les bases du level-design de cette sont donc posées, il est temps de passer au mapping en lui même. La première étape est de bien établir la base, je m’applique à bien former les murs et leurs cassures en essayant de marquer les différences entre le haut de la map et le bas pour casser la monotonie du lieu. J'essaye d’économiser les couches même si j'en dispose de 7. Cette première partie se fait sur les 3 premières couches.
J'ai donc choisi de faire une partie haute assez détruite alors que le bas reste en partie entier. Je pense mettre des éléments décoratifs, voir interactif sur la partie basse, comme une statue avec un petit dialogue, ça fait toujours plaisir et c'est une occasion de parler un peu du lieu.
J'améliore la structure du bas :
La base de la map est alors complète, il ne reste plus qu'à rajouter des éléments de décors et à délabrer un peu ce lieu. (C'est une étape que j'aime particulièrement :-) )
Voilà, la map est alors quasiment finie, j'ai « défoncé » un peu tous les murs et rajouté des traces de salissure/usure à leurs bases. J'ai aussi ajouté du sang a coté du coffre afin de faire comprendre directement au joueur que ce lieu peut être dangereux, il peut aussi se faire une petite histoire, quelqu'un à déjà essayé d'aller à ce coffre est il est mort en atteignant son but. Je ne met pas de chaînes, de cadavres ou de traces de sang plus importante par contre, ça reste un lieu optionnel et on utilise les traces macabres pour indiquer la direction du lieu final de ce donjon, comme un fil rouge.
Il reste une dernière chose a faire niveau mapping, ajouter quelques éléments au premier plan qui passeront devant le héros. Pour les donjons sombres, les éléments clairs passent devant le héros et tout ce qui est plus sombre se trouve derrière. On rajoute quelques bouts de murs permettant aux ennemis de se dissimuler du regard du joueur sans trop gêner la vue non plus pour ne pas que cela devienne trop frustrant ou chaotique. Tout est dans le dosage pour cette partie ^^ Il ne faut pas trop en faire mais c'est un élément qui ajoute beaucoup de profondeur aux maps.
Voilà. Pour le mapping c'est fini, il reste maintenant à faire la couche objet afin de provoquer des événement et de faire la gestion de la passabilité sur cette map.
Donc dans un premier temps, la gestion de la passabilité, c'est simple on a juste a mettre des croix là où le héros est bloqué, ce qui donne :
Maintenant je passe aux autres éléments de la map, à savoir le coffre, l'échelle et des messages devant les statues.
Je vous ais mis les propriétés des tiles correspondant pour que vous puissiez voir ce dont j'ai besoin comme valeur. C'est relativement simple.
- Spoiler:
Pour le téléport, j'indique la direction dans laquelle le joueur doit appuyé pour se téléporter, la map de destination à travers ses coordonnées. Je peux aussi changer les valeurs x et y du héros si besoin mais ce n'était pas nécessaire pour cette map. Pour le coffre, j'indique un gain en monnaie (optionnel) et les id des objets contenus. La propriété var indique à quelle case global on sauvegarde l'état du coffre. (C'est comme le grand tableau des variables/interrupteurs sur RM si vous voulez ^^).
Toutes ses propriétés sont lues par le moteur du jeu qui réalise les actions voulus, j'en ajoute de nouvelles au fur et à mesure de nos besoins, c'est en quelque sorte des événements RM mais où je ne donne que les valeurs de départ, pour des événements plus complexes et unique, je ne donne qu'une clé/référence et l’événement est codé en dur.)
Il me reste une toute dernière chose à faire, ajouter les ennemis et dire au jeu qu'il y a un fog sur cette carte. J'utilise les propriétés de map pour faire cela, les voici :
Les propriétés sont assez basiques, il y a 4 ennemis, 2 sangsues volantes et 2 rats. Les valeurs après sont leurs positions de départ en X et en Y.
La propriété fog indique qu'il y a l'image fog_01 sur cette carte.
J'ai juste à rajouter une ligne dans le code pour indiquer l’existence de cette map et elle est jouable.
Voilà c'est tout ce que je fais pour faire une map pour Tourments. Une fois habitué au tileset, ça me prend entre 20 et 30minutes pour faire une carte comme celle là, un peu plus si j'ai besoin d'adapter le tileset.
Je vous montre le résultat in-game :
Plutôt sympa non ? ^^
C'est fini pour ce premier making-of, en esperant que ça vous ait interessé. Merci d'avoir lu !