Yasei Ookami
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


« Forum de discussion basé sur les créations de tous types. »
 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
-28%
Le deal à ne pas rater :
Brandt LVE127J – Lave-vaisselle encastrable 12 couverts – L60cm
279.99 € 390.99 €
Voir le deal

 

 Variables et énigmes zeldaesques

Aller en bas 
5 participants
AuteurMessage
garsim
Admin
Admin
garsim


Messages : 1631
Date d'inscription : 03/09/2008
Age : 32
Localisation : Regardez sur Villorama !

Variables et énigmes zeldaesques Empty
MessageSujet: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques EmptyJeu 23 Oct - 17:43

Hello ^^
Voici un didacticiel vous montrant comment programmer quelques énigmes avec des variables. Celles-ci sont tirées de jeux Zelda, mais vous pouvez vous en inspirer quel que soit le jeu que vous comptez faire !
Le but de ce didacticiel est :
- de conforter l’utilisation des variables
- d’utiliser des variables (ou des interrupteurs aussi ^^) dans la programmation d’énigmes ou de mini-jeux
- de montrer qu’on peut adapter certaines énigmes de jeux vidéo à des jeux amateurs.
Les images et le didacticiel ont été conçus pour rm2003 mais ils peuvent être adaptés à rmXP en effectuant quelques changements. Sans doute aussi à rmVX, car le tuto concerne plus les variables qu'autre chose, mais n'étant pas familier de ce log, je ne saurais pas vraiment l'affirmer...



1er exemple : les bois perdus

Si vous avez joué à Zelda 1, vous avez eu à traverser une zone dans laquelle il fallait emprunter un chemin spécial pour sortir des bois perdus ou de la montagne.

Variables et énigmes zeldaesques T-1-1-322058
Oui, je sais, c’est moche, mais c’est pour se mettre dans l’ambiance !

Pour cet exemple, nous n’allons pas y aller par quatre chemins tirlalangue euh, je voulais dire que nous allons prendre quatre chemins...
Nous allons dire qu’on peut arriver par en haut, en bas, à droite ; qu'on peut sortir de la map par en bas, et que le chemin gauche mène vers le donjon secret (ou ce que vous voulez, on s’en fout ^^)
D’abord il faut placer des points de téléportation sur d’autres maps pour accéder à celle-ci et concevoir la map du donjon secret évidemment.

Ensuite, nous allons créer la variable que nous souhaitons, que nous allons appeler [Laby forêt] pour cet exemple.

Après, nous allons créer les points de téléportation.
Commençons par celui du bas, plus simple à programmer car il mène vers une map qui n’est pas intéressante pour le joueur (pas le donjon secret, quoi tirlalangue ).
Placez donc un event de téléportation vers cette map pour le chemin d’en bas (ou deux selon l’épaisseur du chemin), et éditez-le en ajoutant : Variable : [Laby forêt] rendre égale à 0.

Maintenant, occupons-nous des autres chemins.
Prenons pour l’exemple le chemin : haut - droite – haut – gauche.
Il ne doit pas passer par le bas, et doit finir par la gauche.

Placer des events de téléportation pour chacune de ces directions, avec comme destination l’opposé de la map (par exemple, en allant en haut, on doit aller en bas. Bon, c’est pas clair, mais c’est ça quoi ^^).
Après il faut éditer ces events de téléportation. Pour les trois, copier la page, et ajouter simplement : Variable : [Laby forêt] rendre égale à 0. Ceci pour avoir à tout recommencer si on se trompe de chemin ^^ Ça ressemblera à ça :

Variables et énigmes zeldaesques T-1-2-322090

Après, pour emprunter les bons chemins en temps voulu, on impose des conditions.

Commençons par le haut. Créer une nouvelle page en copiant la première page. Editer la deuxième page en imposant une condition : La variable [Laby forêt] a une valeur égale à 0 (car on doit passer par là en premier).
La page sera alors identique à la première page, sauf : Variable : [Laby forêt] rendre égale à 1. Car on aura fait la première partie du chemin.

Variables et énigmes zeldaesques T-1-3-3220b5

Après comme on doit passer par la droite, on va s’occuper de l’event à droite.
La manipulation est la même sauf que la condition est La variable [Laby forêt] a une valeur égale à 1 et, dans les commandes, Variable : [Laby forêt] rendre égale à 2 (car on doit passer par là en deuxième).

Variables et énigmes zeldaesques T-1-4-3220cc

Vous avez compris le principe ? Nous pouvons employer ce procédé quel que soit le nombre de chemins possibles et quel que soit le nombre de fois qu’il faille traverser la map.
Si on prend une direction qu’on ne doit pas encore prendre, la variable est remise à zéro et on doit recommencer.

Si vous devez passer deux fois par la même direction... ça tombe bien car nous devons encore passer par le haut !
Copiez donc la deuxième page en modifiant la condition : La variable [Laby forêt] a une valeur égale à 2 ainsi que la commande Variable : [Laby forêt] rendre égale à 3.

Et pour finir, nous devons prendre à gauche...
Copier la page 1 de l’event de téléportation de gauche. Modifier la condition : La variable [Laby forêt] a une valeur égale à 3, ainsi que les commandes Téléporter : Donjon secret entrée (la map de destination quoi) et Variable : [Laby forêt] rendre égale à 0 (attention, zéro et pas cinq... pour avoir tout à refaire si on voudra par la suite accéder au donjon secret).

Et voilà ! Il est possible d’adapter ces explications à des cas variés. Le principe est de mettre deux pages à chaque fois : l’une, par défaut, ramène à la case départ, l’autre permet de progresser (2e page : en condition La variable [Laby forêt] a une valeur égale à N et, dans les commandes, Variable : [Laby forêt] rendre égale à (N + 1) )



2e exemple : dédale des panneaux

Vous vous souvenez peut-être d’un mini-jeu dans Link’s awakening (repris dans Mystery of Solarus) dans lequel il faut suivre les panneaux dans un certain ordre ?

Variables et énigmes zeldaesques T-3-1-32211e
Oui, honte sur moi, celle-ci est directement tirée du jeu original ^^

Ici, on utilise une variable comme dans le premier exemple, c’est-à-dire qu’on ne pourra pas activer un event n’importe quand. Il faudra suivre un chemin précis.
Nous appellerons cette variable [Panneaux].
A chaque fois que vous créez un panneau, il faudra qu’il comporte une page d’annulation et une page de progression. Kézako ?
Comme pour le premier exemple, chaque event possède une première page dans laquelle la variable est remise à zéro si aucune condition n’est imposée. Il faut faire pareil avec [Panneaux], sauf qu’il n’y a pas besoin de mettre de téléportation cette fois ^^. Éventuellement un effet sonore indiquant qu’on s’est planté...
La deuxième page possède comme condition : La variable [Panneaux] a une valeur égale à N et comme commandes : Variable [Panneaux] rendre égale à (N + 1) ainsi qu’un message indiquant la direction à prendre.

NB 1 : Pour indiquer les directions avec des flèches, vous pouvez utiliser des commandes spéciales dans vos messages si vous êtes sous 2000 / 2003, les voici :
$s: Haut
$t: Droite
$u: Bas
$v: Gauche
$w: Haut-Droite
$x: Bas-Droite
$z: Haut-Gauche
$y: Bas-Gauche
Par contre, ça ne marche pas pour XP...

NB 2 : Placez vos panneaux dans un ordre logique et cohérent... sinon le mini-jeu n’a aucun intérêt...

Et pour le dernier panneau, vous mettez ce que vous voulez en page 2 (mais sans modifier la condition !) : activation d’un interrupteur pour faire apparaître un coffre ou ouvrir une porte, etc.

Variables et énigmes zeldaesques T-3-2-322144
Le principe... servez-vous en pour faire des chemins complexes ^^



3e exemple : L’interrupteur récalcitrant

Un exemple tiré de A link to the past cette fois. Encore une map pour se mettre dans l’ambiance (elle est simplement là pour expliquer le mécanisme, on s’en fout si elle est moche !)

Variables et énigmes zeldaesques T-2-1-322163

Nous voulons faire apparaître un coffre en appuyant sur le bouton. Sauf que le bouton doit rester enfoncé ! Il faut donc le bloquer avec... tiens, pourquoi pas ce bloc qui sert à rien ?
(note : s’il suffit juste que Link vienne sur le bouton sans avoir besoin de le bloquer, aucun intérêt pour le didacticiel car il n’y a pas besoin de variables)
Ça sera l’occasion de nous familiariser avec la position des évènements.

En fait, l’interrupteur n’est qu’un leurre, car ce sont les variables qui permettent de détecter la position que le bloc doit prendre. Sauf si vous tenez à faire une animation pour prouver à Link qu’il y a besoin du bloc... mais ce n’est pas le but car je tiens aaaaabsolument à parler de variables et osef des détails tirlalangue.

Créons donc un premier évènement 0001 : Interrupteur. (position : sous le héros)
Et... on n’y touche pas :xd: Par contre, on repère sa position, car on a besoin de ses coordonnées.

Créons ensuite un deuxième évènement 0002 : Bloc.
Condition de déclenchement : Presser une touche
Position : Même niveau que le héros
Commandes : Déplacer/Modifier : Cet évènement, Fuit le héros de un pas (ignorer si impossible)
.

Note : Evidemment, il est possible que le joueur s’y prenne comme un manche et qu’il pousse le bloc dans un coin sans pouvoir le récupérer... pour pouvoir recommencer, il faudra soit quitter la carte, soit programmer un event qui permettra de remettre le bloc à sa position d’origine.

Comme nous aurons besoin de variables, créer [X bloc] et [Y bloc] qui correspondront aux coordonnées de la position du bloc. Et tant qu’on y est, concevoir l'interrupteur [Coffre]

Maintenant, nous allons nous mettre dans un coin pour créer deux évènements en processus parallèle :
0003 : Coordonnées bloc
Commandes :
Variable [X bloc] rendre égale à "Bloc coord X"
Variable [Y bloc] rendre égale à "Bloc coord Y"


Variables et énigmes zeldaesques T-2-2-3221d6

0004 : Apparition coffre
Commandes :
Conditions : Si variable [X bloc] a une valeur égale à [coordonnée X de Interrupteur]
Conditions : Si variable [Y bloc] a une valeur égale à [coordonnée Y de Interrupteur]
- Alors : [Coffre] activé
- Sinon : rien ^^


Variables et énigmes zeldaesques T-2-3-322211
Ici, les coordonnées de l’interrupteur sont (014 ; 008). On peut les repérer en bas de la fenêtre.

Et maintenant, nous allons créer le coffre... qui sera l’évènement 0005 : Coffre. Il aura pour condition : L'interrupteur [Coffre] est activé, et pour apparence le chara du coffre. Après vous programmez comme vous voulez ^^

Ce principe peut permettre de faire apparaître un coffre, mais il peut aussi permettre l’ouverture d’une porte ou autre chose. Il peut être complété par des effets sonores, des animations du héros...

C’était un exemple d’utilisation des coordonnées... qui peut s’adapter, comme d’habitude.



4e exemple : jeu de hasard

Variables et énigmes zeldaesques T-4-1-32223f

Ce petit jeu de hasard repose sur le principe de l’aléatoire. Comme les variables peuvent prendre une valeur aléatoire, nous allons en profiter !

Créons d’abord deux interrupteurs : [Jeu lancé] et [Jeu terminé], ainsi que la variable [Jeu hasard].

Ensuite nous allons créer les évènements :

Pour commencer : le monsieur.
Faire un évènement à trois pages : la deuxième aura pour condition de déclenchement L’interrupteur [Jeu lancé] activé, la troisième, L’interrupteur [Jeu terminé] activé.
En première page : un peu de blabla expliquant le principe du jeu, mais n’oubliez pas l’important :
- Proposer choix : Je veux jouer/ Pas intéressé (pour ne pas que le joueur joue s’il n’en a pas envie ^^)
- Retirer monnaie : le prix du mini-jeu (sinon on peut jouer gratuitement, dans ce cas aucun intérêt !)
- Interrupteur [Jeu lancé] activé.

En deuxième et troisième page, mettez ce que vous voulez ^^ c’est que du blabla pour éviter de relancer le jeu une deuxième fois.

Ensuite, nous allons concevoir un coffre. En fait, il y en a trois, mais c’est pour faire style ^^ Vous aurez juste à copier ce coffre deux fois...
Faites trois pages encore une fois, avec les mêmes conditions de déclenchement que pour le monsieur.
En première et troisième page, mettez un truc pour dire "Pas touche ! Vous devez payer avant / Vous avez déjà joué" bref du blabla ^^ (en troisième page, mettez l’apparence d’un coffre ouvert)
C’est la deuxième page qui nous intéresse. Nous allons donc mettre Variable [Jeu hasard] rendre égale entre : valeur aléatoire entre 1 et 5 (selon le nombre d’alternatives que vous désirez).
Après ce sont plusieurs fourchettes de conditions.
Conditions : Si variable [Jeu hasard] a une valeur égale à N (N un nombre entre 1 et le maximum d’options que vous désirez mettre)
- Alors : Modifier monnaie/objets/ce que vous voulez quoi ^^ avec un message ou une animation pour dire ce que le joueur vient de gagner.
Et en fin de page, ajoutez : [Jeu terminé] activé.

Variables et énigmes zeldaesques T-4-2-3222b3

Il est possible d’attribuer la même récompense pour plusieurs options, ou encore d’attribuer certaines récompenses seulement pour certains coffres.

Voilà, le mini-jeu est programmé.
Un problème cependant : impossible d’y jouer une nouvelle fois !
Pour régler ça, éditez l’event de téléportation qui permet de sortir de la maison en ajoutant dans les commandes : [Jeu lancé] désactivé et [Jeu terminé] désactivé.
Comme ça, il faudra ressortir de la maison pour pouvoir jouer de nouveau.



Fin du didacticiel.
Les exemples cités ici peuvent paraître un peu dérisoires pour des makers expérimentés, mais il est tout à fait possible de programmer des énigmes ou mini-jeux plus complexes inspirés de jeux pros.
Je connais d'ailleurs un jeu dans lequel le système de plateformes ensablées de Super Mario Bros 2 a été bien repris.


Dernière édition par garsim le Ven 26 Déc - 15:31, édité 1 fois
Revenir en haut Aller en bas
Ben Watts
Roi
Roi
Ben Watts


Messages : 2996
Date d'inscription : 17/08/2008
Age : 29
Localisation : Sud de la France.

Variables et énigmes zeldaesques Empty
MessageSujet: Re: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques EmptyVen 24 Oct - 19:54

Très bon tuto, merci d'aider les autres makers moins expérimenté. ^^

Bien sur vous pouvez faire autre chose que des énigmes avec des variables, ils ont beaucoup de possibilité. C'est avec des variables que l'on fait un CBS ou un CMS par exemple. ^^
Revenir en haut Aller en bas
https://yasei-ookami.forumactif.org
garsim
Admin
Admin
garsim


Messages : 1631
Date d'inscription : 03/09/2008
Age : 32
Localisation : Regardez sur Villorama !

Variables et énigmes zeldaesques Empty
MessageSujet: Re: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques EmptyVen 24 Oct - 22:06

ben fantasy a écrit:
Très bon tuto, merci d'aider les autres makers moins expérimenté. ^^
Oui, ben en même temps, je suis plus doué dans ce domaine qu'expliquer comment faire un CBS, un CMS, un jeu en plateforme etc... je suis pas un maker très expérimenté, donc en effet, je préfère faire des tutos pour expliquer des fonctions de base.

ben fantasy a écrit:
Bien sur vous pouvez faire autre chose que des énigmes avec des variables, ils ont beaucoup de possibilité. C'est avec des variables que l'on fait un CBS ou un CMS par exemple. ^^
Là c'était plus histoire d'aborder les variables sous un angle plus "ludique" sans trop se prendre la tête, en montrant qu'on pouvait quand même faire des petits trucs sympas avec une ou deux variables et une maîtrise moyenne de cette fonctionnalité.

Après, effectivement, contrairement à une remarque que j'avais eue une fois où j'ai mis ce tuto, ce tuto n'est pas forcément ce qu'il y a de plus utile pour se lancer dans la création d'un Zelda amateur, pour deux raisons :
- on peut s'inspirer du tuto pour faire un projet quelconque, c'est pas spécifique à Zelda ;
- ce genre de petites énigmes et mini-jeux, ce n'est rien par rapport à la programmation d'un système A-RPG ou d'un menu zeldaesque... pour ça, il faudrait carrément des tutos dédiés.
Disons que c'est plutôt une tentative pour essayer d'apprivoiser les variables... et qui sait, peut-être faire carrément un Zelda amateur une fois qu'on les maîtrise bien ! clindoeil
Revenir en haut Aller en bas
compte a suprimer svp!
Ookami
Ookami
compte a suprimer svp!


Messages : 220
Date d'inscription : 07/09/2008
Age : 31
Localisation : derriere l'ordi

Variables et énigmes zeldaesques Empty
MessageSujet: Re: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques EmptyDim 26 Oct - 11:03

agnaaaa
il parle de quoi se tuto

il y a trop de chemin je suis perdu et j'ai rien compris fou

Là, c'était expliqué dès les premières lignes et tu pouvais deviner en le lisant que le tuto parlait de variables, dans le but de faire des énigmes dans le style Zelda.

Mais la prochaine fois, explique-toi plus clairement si tu ne comprends pas quelque chose, merci...


T'es pas obligé de poster pour rien dire, ferme la et tu seras plus agréable!

Pas obligé de faire des insultes même si c'est un édit. Par contre tu devrais quand même lire benx.
Revenir en haut Aller en bas
Ximajinebix
Grand Ookami
Grand Ookami
Ximajinebix


Messages : 603
Date d'inscription : 24/11/2008
Age : 31

Variables et énigmes zeldaesques Empty
MessageSujet: Re: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques EmptyDim 8 Nov - 15:52

J'ai quand même du mal à comprendre, il te serais possible d'en faire un version crash lapin s'il te plait et si possible?
Car j'ai vraiment un bloquage sur les X et Y ça me perturbe tout le temps et enssuite je suis perdu...
Mais j'ai quand même un petit peu assimile mais c'est encore flou.^^
Voilà merci...


ps = J'adore vos edit ! xd


EDIT = Je viens de remarquer le tuto des intterupteurs, c'est peut être celui là qui m'interresse plutot mais bon je laisse le post ici au cas ou...
Revenir en haut Aller en bas
garsim
Admin
Admin
garsim


Messages : 1631
Date d'inscription : 03/09/2008
Age : 32
Localisation : Regardez sur Villorama !

Variables et énigmes zeldaesques Empty
MessageSujet: Re: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques EmptyDim 8 Nov - 20:37

Ximajinebix a écrit:
J'ai quand même du mal à comprendre, il te serais possible d'en faire un version crash lapin s'il te plait et si possible?
Une version crash lapin ? rit
J'ai pas très bien compris où tu voulais en venir, parce que même si j'ai parlé d'énigmes "zeldaesques", ça peut s'appliquer à n'importe quel jeu. C'est juste que ce sont des énigmes qu'on trouve à l'origine pas mal dans certains jeux Zelda.

Ximajinebix a écrit:
Car j'ai vraiment un bloquage sur les X et Y ça me perturbe tout le temps et enssuite je suis perdu...
En fait, il faut voir les positions des personnages sous la forme (x,y). Je sais que ça rappelle les cours de géométrie, mais dans beaucoup de jeux, la position d'un personnage est détectée par des variables de position (qu'on appelle souvent X et Y).
Sous RM elles sont implicites mais on peut en avoir besoin, par exemple pour détecter des collisions.

Dx6 avait d'ailleurs fait un tuto à ce sujet.

(tout ça me rappelle d'ailleurs que j'avais commencé un tuto sur les variables il y a un moment, et je l'ai jamais fini... je devrais m'y remettre, histoire de compléter le tableau ^^)
Revenir en haut Aller en bas
Ximajinebix
Grand Ookami
Grand Ookami
Ximajinebix


Messages : 603
Date d'inscription : 24/11/2008
Age : 31

Variables et énigmes zeldaesques Empty
MessageSujet: Re: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques EmptyDim 8 Nov - 22:47

Citation :
Une version crash lapin ?
J'ai pas très bien compris où tu voulais en venir, parce que même si j'ai parlé d'énigmes "zeldaesques", ça peut s'appliquer à n'importe quel jeu. C'est juste que ce sont des énigmes qu'on trouve à l'origine pas mal dans certains jeux Zelda.

En gros comment on fait pour au bout d'un certain nombre de lapin on active la sorti, je pense le savoir mais juste un topo vite fait pour confirmer.

Citation :
Dx6 avait d'ailleurs fait un tuto à ce sujet.

Oulaaah je l'ai vu mais c'est un language code je suis completement perdu dedans... ^^"
Revenir en haut Aller en bas
Az'
Rédacteur
Rédacteur
Az'


Messages : 1781
Date d'inscription : 31/08/2008

Variables et énigmes zeldaesques Empty
MessageSujet: Re: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques EmptyDim 8 Nov - 23:40

A chaque lapin tu fais "ajouter 1 à la variable x", et en un event processus parallèle tu met une condition "si variable x est égal à ... alors activer l'interrupteur y ". Et l'interrupteur y tu fais que quand il est activé, il y a une téléportation vers une autre zone.
Je pense que c'est quand même quelque chose de simple et d'accessible (c'est rm quoi)... oniro a me semble une grande panoplie de tuto écrit par Joke (et monos aussi je crois)qui sont très utile.
Revenir en haut Aller en bas
Ximajinebix
Grand Ookami
Grand Ookami
Ximajinebix


Messages : 603
Date d'inscription : 24/11/2008
Age : 31

Variables et énigmes zeldaesques Empty
MessageSujet: Re: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques EmptyLun 9 Nov - 10:58

Citation :
A chaque lapin tu fais "ajouter 1 à la variable x", et en un event processus parallèle tu met une condition "si variable x est égal à ... alors activer l'interrupteur y ". Et l'interrupteur y tu fais que quand il est activé, il y a une téléportation vers une autre zone.

Ok c'st bien ce qui me semblais, merci az'.
Revenir en haut Aller en bas
Contenu sponsorisé





Variables et énigmes zeldaesques Empty
MessageSujet: Re: Variables et énigmes zeldaesques   Variables et énigmes zeldaesques Empty

Revenir en haut Aller en bas
 
Variables et énigmes zeldaesques
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Variables de positionnement (X,Y)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Yasei Ookami :: Making :: Tutoriels making-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser