Bonjour à tous, je vous propose aujourd’hui mon premier tutoriel sur ce forum!
J’ai regardé la longue liste des tutoriels déjà réalisés et j’ai vu qu’il n’avait pas son équivalent, alors que c’est un truc que je trouve tout simplement génial ! (Mais c’est pas moi qui l’ai inventé… Hélas..).
Je pense qu’il correspond à la catégorie « donjon et environnement ».
Nom du tutoriel : Enigme : Reproduire une mélodie
Notre objectif : Notre objectif pour ce tutoriel est d’incorporer une petite énigme à votre jeu, le joueur entend une séquence de sons et il doit ensuite reproduire cette même séquence de sons (l’idéal étant que cela forme une mélodie).
Cette énigme peut être utilisée pour débloquer un passage, un coffre, etc… A vous de voir !
Description du tutoriel : Pour ce tutoriel vous aurez besoin :
1 variable : Mélodie
1 interrupteur : Réussit
Il est très accessible, même si vous êtes débutant.
Prêts ? Alors c’est parti !
Tutoriel :Faites votre map en mettant un passage d’une seule case de largeur qui sera par la suite bloqué par une porte, voilà à quoi ressemble la mienne :
Etape 1 : L’événement qui génère la mélodie.Cet événement, une fois activé par le joueur, lance la séquence de sons. Voilà à quoi il ressemble :
Page1 :
La ligne de code:
Code :
|> Déplacer événement : Cet Événement (Attendre la fin)
|                                     : > Direction fixe OFF
|                                     : > Regarde vers la Gauche
|                                     : > Animé à l'arrêt ON
|> Jouer SE : 'Stare', Volume : 80, Tempo : 150
|> Attendre : 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 100
|> Attendre : 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 150
|> Attendre : 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 115
|> Attendre : 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 150
|> Attendre : 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 100
|> Attendre : 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 115
|> Attendre : 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 150
|> Attendre : 50 Frames
|> Déplacer événement : Cet Événement (Attendre la fin)
|                                     : > Animé à l'arrêt ON
|                                     : > Regarde vers le Bas
|                                     : > Direction fixe ON
|>
Page2 :
La page 2 est vide et activée par l'interrupteur "Réussit".
J’ai fait en sorte qu’il puisse être réalisé avec les RTP, mais libre à vous d’importer vos propres sons et réaliser vos propres mélodies.
Etape2 : Les switchs qui reproduisent les notes.Dans mon exemple il y en a trois, une fois que le joueur marche dessus, le switch joue une note, c’est là que la variable « mélodie » intervient : Si la note et bien placée dans la mélodie, alors on ajoute 1 à la variable, sinon la variable retombe à 0.
Dans mon exemple cela donne ça :
Page1 :
(petite erreur dans le screen, je voulais dire 2ème et 6ème position)
La ligne de code:
Code :
|> Jouer SE : 'Switch1', Volume : 80, Tempo : 100
|> Déplacer événement : Cet Événement (Attendre la fin)
|                                     : > Direction fixe OFF
|                                     : > Regarde vers la Gauche
|                                     : > Attendre : 3 Frames
|                                     : > Regarde vers la Droite
|                                     : > Attendre : 3 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 100
|> Déplacer événement : Cet Événement (Attendre la fin)
|                                     : > Attendre : 3 Frames
|                                     : > Regarde vers la Droite
|                                     : > Attendre : 3 Frames
|                                     : > Regarde vers la Gauche
|                                     : > Attendre : 3 Frames
|                                     : > Regarde vers le Bas
|                                     : > Direction fixe ON
|> Attendre : 30 Frames
|> Si Variable [0001:Mélodie] == 1
    |> Opération : Variable [0001:Mélodie] += 1
    |>
|   Sinon
    |> Si Variable [0001:Mélodie] == 5
        |> Opération : Variable [0001:Mélodie] += 1
        |>
    |   Sinon
        |> Opération : Variable [0000:] = 0
        |>
    |   Fin - Condition
    |>
|   Fin - Condition
|>
Page2 :
Ici aussi la page 2 est vide et activée par l'interrupteur "Réussit".
Les valeurs de variables exprimées dépendront de vos séquences de sons, dans mon exemple, les deux autres switchs ressemblent à ça :
Switch2 :
Switch3 :
Le switch 3, qui joue la dernière note de musique doit activer l’interrupteur « Réussit » Si la variable est égale à 7, cela veux dire que vous avez réussit à jouer la bonne séquence et cet interrupteur permet ensuite de débloquer la porte.
Comme dit précédemment, je ne remet pas les pages 2, elles sont identiques à celle du premier switch.
Etape 3 : La porte.La porte est l’événement qui doit être débloqué par le fait de jouer la bonne séquence de sons, voilà à quoi il ressemble :
Page1 :
La page 1 est vide et au niveau du héro pour l'empêcher de passer.
Page2:
La ligne de code:
Code :
|> Déplacer événement : Héros (Attendre la fin)
|                                     : > Regarde vers le Bas
|> Ton de l'écran : (R:0,V:0,B:102,G:0), 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 150
|> Attendre : 50 Frames
|> Ton de l'écran : (R:85,V:0,B:0,G:0), 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 100
|> Attendre : 50 Frames
|> Ton de l'écran : (R:0,V:0,B:102,G:0), 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 150
|> Attendre : 50 Frames
|> Ton de l'écran : (R:51,V:51,B:0,G:0), 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 115
|> Attendre : 50 Frames
|> Ton de l'écran : (R:0,V:0,B:102,G:0), 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 150
|> Attendre : 50 Frames
|> Ton de l'écran : (R:85,V:0,B:0,G:0), 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 100
|> Attendre : 50 Frames
|> Ton de l'écran : (R:51,V:51,B:0,G:0), 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 115
|> Attendre : 50 Frames
|> Ton de l'écran : (R:0,V:0,B:102,G:0), 50 Frames
|> Jouer SE : 'Stare', Volume : 80, Tempo : 150
|> Attendre : 50 Frames
|> Ton de l'écran : (R:0,V:0,B:0,G:0), 50 Frames
|> Flasher l'écran : (R:255,V:255,B:255,I:255), 60 Frames
Page3:
La page 3 est tout simplement vide et en dessous du héro avec comme condition "interrupteur local A=activé".
Etape 4 : Mettre la variable Mélodie à zéro au départ.
Pour que cette énigme marche il est important que la variable « mélodie » soit égale à 0 au départ. Pour cela vous pouvez mettre un événement en processus parallèle comme celui-là :
Voilà, ce tutoriel est terminé, n’hésitez pas à poser des questions si vous n’avez pas compris tel ou tel point (j’ai essayé de simplifier l’explication au max avec de nombreux screen mais on sait jamais).
Points importants à savoir :
-Cette énigme est à base de musique, il est donc évident que la salle dans laquelle vous la mettez soit silencieuse. (Si vous mettez en fond une musique de Rammstein soyez sûr que personne y arrivera ! :p)
-Placez vos switchs du ton le plus bas au ton le plus haut (ou inversement), sinon le joueur aura du mal à visualiser la gamme de sons.
-Vous pouvez faire cette énigme avec 4 switchs pour la rendre plus intéressante, je n’en ai utilisé que 3 pour simplifier, par contre en mettre plus de 4 risque de la rendre difficile à résoudre.
Auteur : Dynamo, mais l’idée est inspirée du puzzle package de Zylo.
Démo dispo pour voir le rendu ingame: http://rapidshare.com/files/447948423/Tuto_enigme_m__lodie.rar