❤ 0 Faire un système de sable plateforme à la Super Mario Bros 2
Bonjour à tous!
Je me permets de dévoiler l’une de mes programmations spéciales que j’ai pu créer avec RPG Maker 2003 et qui est aussi possible de réaliser avec RPG Maker XP. Sans vouloir faire de la pub, ce tutorial provient de mon projet Super Princesse Zelda : Déclarations.
------------------------
L’inspiration de base
Voici donc en quoi consistera le tutorial. Vous vous rappelez de ce fameux jeu :
Si on se rappelle bien, on devait creuser ce sable pour descendre. Et bien, dans ce tutorial, je vais vous montrer comment il est possible de faire un système plateforme de ce genre, à partir de la méthode que j’ai pu trouver pour réaliser ce système, pour pouvoir creuser comme dans Super Mario Bros 2 :
------------------------
Ce qui est conseillé pour comprendre ce tutorial
- Savoir bien gérer des switchs, variables, conditions et parallèles processus.
- Être habitué de faire plusieurs évènements pour contrôler une action.
- Comprendre et connaître les significations des chiffres des variables pour l’appuie d’une touche.
------------------------
------------------------
Les étapes
Bon! Et bien maintenant, commençons les étapes de la réalisation. On va se baser sur des images de SPZ : Déclarations. Notez bien qu’il peut être très possible de le faire avec des RTP ou d’autres graphismes de votre part. Pour ce qui est des graphismes, animation pour creuser et du mapping, c’est à vous de décider. Pour ce qui suit, j’expliquerai la programmation en détail.
1) La map:
- Créer la map :
Exemple, voici une partie de la map que je vais utiliser pour le tutorial (Ignorer les « E ») :
En fait, on peut faire n’importe quoi, mais tant que c’est un chemin vers la verticale.
------------------------
2) Le moteur d’un évènement de sable :
Créer un évènement commun dont on nomme « Creuser » :
- Afficher l’animation du héros lorsqu’il creuse.
- Transparence ON.
- Déplacer le héros : - Accélérer le mouvement du héros.
--------------------------- Fixation de la direction.
--------------------------- Pas vers le bas.
--------------------------- Annuler la fixation de la direction.
--------------------------- Ralentir le mouvement du héros.
- Attendre 0.2 secondes (peut varier selon l’animation).
- Transparence OFF.
Ça permettra au héros d’exécuter l’action lorsqu’il creusera le sable.
------------------------
3) Préparer la switch et la variable :
- Créer une switch : «Gestion sable ».
- Créer une variable : « Sable creusé ».
Comme ça, pour les étapes à suivre, vous allez savoir d’avance la switch et la variable en question.
------------------------
4) La programmation des évènements :
Ici, je vais diviser en certaines parties pour vous montrer la programmation de chacun.
(Ignorer les évènements avec des X rouges)
Numéro 1 :
Tous ces évènements en ligne horizontale ne sont que des évènements à la même hauteur du héros qui empêchent que le héros va vers le haut, pour rester dans l’aspect plateforme.
Numéro 2 :
Tout d’abord, il faut créer un évènement « sable ». Il y aura 2 pages à faire:
Pour la page 1 :
- Il faut la mettre à la même hauteur que le héros.
- Le sable doit être creusé, si le héros est en direction bas. Condition, si héros est en direction bas :
Donc : - On appelle l’évènement commun « Creuser ».
- Attendre 0.1 secondes.
- Effacer cet évènement.
Sinon : Rien
Fin : Rien
Pour la page 2 :
- Il faut la mettre sous le héros.
- Cocher dans Switch : La switch « Gestion du sable ».
En bref : La page 1 a pour but de ne pas passer par dessus le sable (ainsi que de creuser ce sable), tandis que la page 2 a pour but de passer sur le sable si la gestion de sable est activée. Mais comment activer cette switch et gérer quand passer ou non? Dans les prochains numéros, on voir comment.
Numéro 3 :
- Créer un évènement en parallèle processus.
- Créer 4 conditions avec chacune des directions (haut, bas, gauche et droite).
- Quand le héros regarde soit à droite ou à gauche, la switch « Gestion du sable » doit être ON.
- Quand le héros regarde soit en haut ou en bas, la switch « Gestion du sable » doit être OFF.
Toutefois, malgré la direction, il ne faut pas oublier lorsqu’on bouge avec le héros. Dans le prochain numéro, la variable va agir pour que tout marche bien.
Numéro 4 :
- Créer un évènement en parallèle processus.
- Demander l’appui d’une touche avec la variable « Sable creusé ». Pour les options voici en détail :
- Ne côcher rien d’autre.
- Si les conditions de cette variable équivalent à 1 ou à 4, alors la switch doit être OFF
Grâce à ça, la variable aura le temps de réagir avant que le héros bouge. Sinon, comment éviter que le héros remonte vers le haut? Dans le prochain numéro, un petit évènement simple l’explique.
Numéro 5 :
- Créer un évènement en parallèle processus.
- Si le héros regarde en direction haut ou marche vers le haut, il faudra faire en sorte que le héros revienne à sa case et l’empêcher de monter en haut. Condition, si le héros est en direction haut :
Donc : - On désactive la switch « Gestion du sable ».
----------- Déplacer le héros : - Fixation de la direction.
----------- Pas vers le bas.
----------- Annuler la fixation de la direction.
Sinon : Rien
Fin : Rien
Comme ça, le héros ne pourra pas monter.
------------------------
5) Lorsque le héros tombe de plus haut qu’une case :
Pour les dernières cases de sable (avant le vide), le héros doit se laisser tomber jusqu’au sol, mais comment? On doit modifier un truc à ces derniers évènements de sable. Au lieu d’appeler l’évènement commun « Creuser », il va falloir en appeler un autre où l’on pourra tomber d’une case ou plus une fois tombé de la case en ayant creusé le dernier sable. Donc il faudra créer d’autres évènements communs :
Numéro 1 :
C’est tout simplement l’évènement « Creuser » que je mets en rappel. On appelle cet évènement sur tous les évènements de sables, sauf les derniers avant le vide.
Numéro 2 :
Pour cet évènement, la seule modification à faire, c’est de rajouter un « pas vers le bas » lorsque le héros se déplace. On appelle cet évènement lorsqu’il n’y a qu’une case de vide avant de tomber sur quelque chose. Exemple :
Numéro 3 :
Pour cet évènement, la seule modification à faire, c’est de rajouter un deuxième « pas vers le bas » lorsque le héros se déplace. On appelle cet évènement lorsqu’il y a deux cases de vide avant de tomber sur quelque chose. Exemple :
Sinon, vous pourriez créer d’autres évènement pour 3 cases, 4 cases, 5 cases, etc.….
------------------------
6) Lorsqu’on n’est plus sur le sable :
Une fois tombé de plus d’une case, il ne faut pas oublier que le héros ne doit pas monter vers le haut, donc il faudrait mettre une limite qui bloque le héros pour ne pas avoir accès vers le haut. Voici ce qu’il faut faire, c’est simple :
Lorsque le héros tombera de haut, il va atterrir sur des évènements que j’ai coloriés en verts et bleus. Tout ce qu’il faut faire avec ces évènements, c’est de faire activer une switch pour que les évènements en haut du héros se transforment à la même hauteur que le héros. Ne pas oublier de mettre ces évènements en mode « Contact évènement/héros ».
Donc, si on comprend bien les évènements verts activeront les verts (encerclé vert) et les bleus (encerclé bleu) activeront les bleus, donc à chaque fois que l’on tombe à des endroits pas de sable, il faut se créer des switchs et évènements qui bloqueront l’accès vers le haut.
------------------------
7) Créer le level design :
Maintenant que vous connaissez ma méthode, on peut créer le level design, tout en respectant bien les contraintes des sables.
------------------------
8) Tester :
Après, on s’amuse quoi…
Voici le résultat de ma programmation et de mon level design en vidéo. Vous pourrez avoir un meilleur aperçu :
A 2:13.
------------------------
------------------------
Pour finir
Je n’ai pas créé ce tutorial nécessairement pour que vous reproduisiez, à la perfection, la même chose que moi. En fait, c’est pour pousser les makers à trouver des moyens pour se débrouiller à créer des trucs originaux ou inspirés par des jeux. Pour ma part, j’ai encore d’autres trucs intéressants que je fais avec RPG Maker 2003, mais que je ne dévoilerai pas, car je ne veux pas aussi toute dévoiler mes méthodes de travail. Le making du maker doit se garder un peu de secrets. Pour ma part, je n’ai que dévoilé qu’une seule de mes propres méthodes que j’ai réalisé par moi-même, pour montrer un tutorial original et innovant.
Sur ce, j’espère que ce tutorial encouragera certains makers à pousser plus loin dans leur making et qu’ils ne copieront pas à la lettre tous les détails de mon tutorial, car je souhaite en revanche, qu’ils s’inspirent du tutorial pour qu’ils réalisent leurs propres trucs.
Merci!
Par Dark8744
|