MODE 7Bonjour/Bonsoir, aujourd'hui nous allons découvrir et apprendre à utiliser le script de Mode 7 de MGC, pour VXace. Avant de commencer, nous allons poser les bases et répondre aux questions récurrentes.
-C'est quoi le Mode 7: Il s'agit d'une fausse 3D très populaire au début des années 90, il a été utilisé notamment par la SNES dans des jeux comme Pilotwings, FZero ou encore Super Mario Kart, pour ne citer que ceux-là. En voici quelques exemple.
- Spoiler:
FZero
Un exemple sur RPG Maker
-A quoi ça sert: Si vous faite des RPG, le Mode 7 peut donner un cachet à votre world map. Si vous faite un jeu de course, le Mode 7 sera indispensable. Ou tout simplement faire des écrans titre ou cinématiques comme je fais pour HopDrop.
-Difficulté à utiliser: Ce script est très simple d'utilisation, et propose de nombreuses options. Enfin, il peut vite devenir complexe, selon se que l'on veut faire avec.
-Les limites: RPG Maker oblige, il y a des limites (mais rien qui pourrait freiner la créativité), notamment au niveau des événements. S'il y en a de trop, ils feront lager le jeu (surtout sur les maps avec le Mode 7). Un antilag réglera le problème, mais le Mode 7 en prendra un coup.
-Est-ce que ça va avec MV: Non. Cependant, il me semble qu'il existe un plugin Mode 7 pour MV, mais vu que je bosse pas sur MV.
PARTIE 1: LE NÉCESSAIRE
Vous aurez besoin du script du Mode 7, que voici:
Dans un doc texte, parce que ça rentrait pasVous le placerez dans la partie
Materials de la base de script. Ensuite, il faudra placer ces quelques images dans le dossier
Pictures de votre projet:
- Spoiler:
A renommer
autotiles_data (merci servimg)
autotiles_data_small
autotiles_data_xsmall
Il vous faudra aussi cette .dll dans le répertoire de votre projet, pour faire fonctionner le script:
La .dll du Mode 7Une fois tout cela fait, le Mode 7 peut fonctionner comme il faut. Nous allons maintenant passer à la configuration des maps.
PARTIE 2: LA CONFIGURATION DES MAPS
Pour lancer le Mode 7 sur une map, il y a 2 possibilités:
-En passant par le nom de la map: La méthode la plus simple, rapide, pratique et accessoirement celle que j'utilise.
-En passant par les appels de script: On se servira des appels de scripts pour modifier le mode que pour l'appeler.
Voyons d'abord la première méthode. Nous allons commencer par créer une map, qu'importe le nom et les dimensions. Tout se qu'il faudra, c'est rajouter ceci dans le nom de la map
[M7][A*][Z*.*][FD*][FTr,v,b][FO*].
Nous allons maintenant remplacer nos petites astérisques par des valeurs, et expliquer chaque balises points par points:
-[M7]: La balise qui active le Mode 7.
-[A*]: Il s'agit de l'angle de la carte, qui va de 0 à 89. Plus l'angle est faible, moins la map sera inclinée.
-[Z*.*]: La balise pour le zoom, qui va de 0.125 à 8.0. Plus la valeur sera grande, plus gros sera le zoom.
-[FD*]: Le nombre de tile qui seront affiché avant l'horizon.
Il est très déconseillé de mettre un trop grand nombre, sinon le jeu crashera, et un antilag ne corrigera pas le problème.-[FTr,v,b]: La couleur du fondu avant l'horizon. La valeur
r représente le rouge, le reste je vous laisse deviner. Les valeurs vont de -255 à 255. Pour choisir votre couleur, vous pouvez vous aidez d'un logiciel graphique.
-[FO*]: Opacité du dégradé avant l'horizon, la valeur va de 0 à 255.
Note: Seule
[M7] est indispensable. Vous n'êtes pas obligé de remplir toutes ces balises, le script prend en compte des valeurs par défaut.
Nous allons maintenant remplir chaque balises. Voici mes valeurs
[M7][A65][Z1.5][FD20][FT128,76,-45][FO128]. Et voici le résultat in game:
Avant de passer au mapping, nous allons voir les différents appels de scripts:
-
MGC.start_mode7: Lance le Mode 7 sur une map.
-
MGC.to_mode7_angle(nouvel angle, durée de transition): Change l'angle du Mode 7.
-
MGC.to_mode7_zoom(nouveau zoom, durée de transition): Change le zoom de la map.
-
MGC.end_mode7: Quitte le Mode 7.
PARTIE 3: LE MAPPING
Sans doute la partie la plus compliquée. Pour commencer, à part pour les sols, vous pouvez oublier le mapping traditionnel et l'overlay. Nous somme dans une fausse 3D, le mapping suit donc.
Voyons donc les techniques de mapping:
-Les événements: Le Mode 7 met tous les événements debout, sans exception. Cela va s'avérer très utile par la suite.
-Les tilesets traditionnels: Dans la base de donnée, vous allez attribuer un numéro de terrain à un tile que vous voulez voir debout (0/3/4/5/6/7 les tiles restent couchés, 1 pour les tiles A debout, 2 pour les tiles B/C/D/E).
Vous pouvez commencer le mapping. Voici tout de même une liste de recommandations:
-Évitez d'attribuer des valeurs de terrain aux tiles A, ça vous évitera ceci.- Spoiler:
-Évitez de placer deux tiles B/C/D/E avec le numéro de terrains 2 l'un au dessus de l'autre (sauf cas logiques), vous éviterez ce genre de situation.- Spoiler:
Pour contrer ce problème, les événements sont vos amis
-Le précédent problème peut être un atout, notamment pour élever certains éléments, voici un exemple.- Spoiler:
En fessant comme cela, vous économiserez des événements, et sans doute enrichir votre mapping
Vous pouvez continuer votre map, le plus beau résultat que j'ai obtenu étant celui dans l'intro, après le screen de FZero.
PARTIE 4: LES ROTATIONS (FACULTATIF)
Qui dit fausse 3D, dit aussi caméra qui peut faire des rotations. Le script de base ne propose pas cette option, mais MGC a fait des add-on pour cela:
L'add-on Rotation du Mode 7La dll. de l'add-on RotationLes rotations se font grâce aux appels de scripts, que voici:
-
MGC.to_rot_angle(nouvel angle, durée de transition, sens de rotation): Fait un nouvel angle (jusqu'à 360°) de rotation, les sens de rotation sont -1 et 1, -1 pour gauche et 1 pour droite. Très pratique pour des cinématiques.
-
MGC.rotate_by(angle, durée de transition): Applique un angle à celui déjà existant (de -360 à 360°), très pratique pour les vaisseaux ou jeux de course.
Note: L'add-on Rotation rajoute une balise dans le nom des maps, la balise
[R*], remplacez le * par une valeur allant de -360 à 360°.
Note: L'add-on Rotation ne prend pas en compte la modification des touches lors des rotations. Par exemple, si vous avez un angle à 90°, la touche haut vous fera aller à gauche. Voici un autre add-on qui corrige le problème:
Le correctif pour les touchesJ'espère que ce petit tuto vous aura plu, et qu'il vous servira. N'oubliez pas de créditer MGC, l'auteur du Mode 7 et ces add-on. Pour finir, je suis à votre disposition pour toutes questions. A bientôt
.