Déroulez votre scénario avec UNE seule variable !
{Tutoriel pour tout RM} (Avec en option : Le premier pas pour créer 1 JEU !)
Vous êtes débutant et vous voulez démarrer en bonne voie ?
Vous êtes expérimentés, mais vous utilisez les interrupteurs pour enchainer les actions du scénario ?
Dérouler un jeu entier avec une seule variable, c'est possible, c'est facile, et ça permet d'économiser 1000 interrupteurs !
- Joke, 03/04/2013 à 19h46.


Déroulez votre scénario avec UNE seule variable ! - Joke

Déroulez votre scénario avec UNE seule variable !


{Tutoriel pour tout RM}


Débutants, ou peut-être même grand Maker, à partir du moment où vous avez appris qu'on peut activer des interrupteurs pour débloquer des passages, changer des dialogues, empêcher une introduction ou une autre scène de se répéter, etc... vous allez programmer tout le déroulement de votre jeu en activant/désactivant des interrupteurs ?

C'est bien, mais pas pratique du tout ces centaines d'interrupteurs !

Si je vous dis qu'au lieu d'utiliser mille interrupteurs, UNE seule variable c'est plus économique, vous me croyez, non ? Smiley


icone Le strict minimum à savoir pour faire un jeu sous RPG Maker



Comme je suis gentil et attentionné, je vais apprendre aux véritables débutants comment ON FAIT UN JEU.

C'est quoi une variable ?
Comment on créé un événement ?
Comment se déclenche un événement ?
Comment fonctionnent les pages d'un événement ?
Les conditions de déclenchement d'une page d'événement ?


Si vous êtes débutants, cliquez ici pour savoir le minimum !
Je n'explique pas ce qu'est un interrupteur, vous trouverez rapidement vous-même ! (Le reste aussi en fait)

C'est quoi une variable ?



Comme ce tutoriel vous apprend à dérouler un scénario avec UNE SEULE variable, il faut bien savoir ce qu'est une variable !

Pour être au top du top il faut lire mon tutoriel "Tout, tout, tout sur les variables [Partie 1/2]" !

Mais pour les impatients, j'abrège :
Une variable, ça stocke simplement un nombre.
N'importe quel nombre... 1, 2 ou 16543...
Tu peux manipuler ce nombre en faisant des opérations comme "Rendre égal, additionner, soustraire, multiplier". C'est tout !

Petite explication brève sur les événements



Créer un événement

Pour créer un événement, il suffit de se mettre en mode "Événement"

(Comment passer en mode "Événement", sous chaque RPG Maker)


Dans ce mode, on voit un quadrillage se dessiner sur la map, il suffit de double-cliquer où vous voulez, et voilà, vous créez un événement !


(Un événement sous RM VX Ace, mais c'est pareil sur tout RM)


icone
Apparence :
Vous cliquez ici pour choisir l'apparence de l'événement... Pour que ce soit un PNJ, un coffre, une porte, ce que vous voulez...


icone
Déclenchement :

Presser une touche :
Pour déclencher l'événement, il faut que le joueur soit devant l'événement, et appuie sur la touche "Entrée" ou "Espace".
Contact héros :
Pour déclencher l'événement, il faut que le joueur vienne au contact de l'événement, c'est ce qu'on utilise pour les téléportations, par exemple.
Contact événement/héros :
L'événement se déclenche si l'événement entre en contact avec le héros ! Contrairement à "Contact héros", l'événement peut s'enclencher si c'est l'événement qui vient lui-même entrer en contact, et non seulement si c'est le héros qui vient en contact. C'est utile pour un monstre qui veut t'attraper, ou venir te taper.
Processus parallèle :
L'événement se déclenche tout seul, et se déroule en parallèle à la scène, sans interrompre le jeu. Le code d'un événement en processus parallèle se répètent en boucle.
Il permet de réaliser tout ce qu'il peut se passer en arrière-plan, en parallèle à l'action.
C'est le mode de déclenchement idéal pour faire des variations de teintes, des effets sonores aléatoires, gérer des affichages/animations... Mais aussi, en programmation, pour détecter des collisions, l'appui d'une touche, contrôler si le héros entre dans telle zone...
Un code qui se lance tout seul, tourne en boucle sans interrompre l'action, c'est un processus parallèle.
NOTE : Un processus parallèle se lance pile en même temps que le chargement de la map, si la map s'affiche avec une transition, sachez que le processus parallèle est déjà lancé AVANT la transition. Si vous voulez changer l'apparence du héros à l'arrivée sur une map, sans qu'on voit l'apparence précédente pendant une fraction de seconde, faites le en processus parallèle.
Automatique :
Le mode Automatique se déclenche aussi tout seul, et tourne aussi en boucle, la différence avec le processus parallèle c'est qu'il interrompt l'action. Les processus parallèles continuent de tourner... en parallèle, mais le joueur ne peut plus se déplacer ni appeler le menu tant qu'un mode automatique opère. (Sauf si un processus parallèle appelle le menu, du coup). Ce mode est tout indiqué pour faire les scènes du jeu, comme l'introduction, etc. Il est aussi tout indiqué pour créer des systèmes comme un système de combat, de menu, ou n'importe quel événement qui remplacerait les déplacements ou l'action par défaut du joueur, par des déplacements ou une action nouvelle.
Contrairement au processus parallèle, le mode automatique se déclenche après la transition d'affichage de la map. Alors pour préparer votre map avant son affichage, utilisez le processus parallèle.


icone
Commandes d'événements :
C'est tout ce que va exécuter l'événement... Double cliquez sur ce panneau et vous verrez toute les actions que vous pourrez faire... Afficher un message, etc. C'est comme ça que vous découvrez RPG Maker dans un premier temps, en découvrant les commandes disponibles dans un événement.


icone
Conditions :
Ici, vous avez les conditions pour que la page de l'événement soit active, se déclenche.
Si vous choisissez la condition "si l'interrupteur X est activé", ça veut dire que tant que l'interrupteur "X" est désactivé, la page ne sera pas active, c'est comme si la page n'existait pas. Si l'événement n'a qu'une seule page (par défaut), l'événement n'apparaît que lorsque l'interrupteur "X" est activé, c'est comme si l'événement n'existe pas.
Si la page n'a aucune condition, ça veut dire qu'elle est active tout le temps, l'événement est toujours présent.


icone
Les pages :
Un événement peut avoir plusieurs pages.
Chaque page a sa propre configuration (Apparence, conditions, déclenchement...)
Ici nous en avons trois : "1", "2", "3".
Ce qui est important à savoir, c'est la priorité d'une page sur l'autre. Les priorités se font de droite à gauche : La page 3 est prioritaire sur la page 2, la page 2 est prioritaire sur la page 1.
Dans "Conditions", je vous ai expliqué que si les conditions de la page ne sont pas remplies, c'est comme si la page n'existait pas, elle est inactive. Ben c'est comme ça que fonctionne les pages : Si la page 3 est active, c'est à cette page que le joueur aura affaire, à moins qu'une page 4 (Prioritaire sur la page 3) ne soit active. Mais dans notre exemple à trois pages, si la page 3 n'est pas active (Si ses conditions ne sont pas remplies), ce sera la page 2 à laquelle on aura affaire dans le jeu, mais si la page 2 n'est pas active, c'est à la page 1 que l'on aura affaire dans le jeu.

C'est pour ça qu'un coffre se fait en deux pages : La première page, sans condition, sera active tant que la deuxième page n'a pas ses conditions remplies.
C'est dans cette première page qu'on ouvre le coffre et obtient son contenu. Tout de suite après, on active un interrupteur local (Ou un interrupteur simple, sous 2003), qui rendra active la deuxième page. Dans cette deuxième page, active uniquement sous la condition "Si interrupteur local "..." est activé.", nous avons le coffre ouvert, et vide.


(NB : J'ai connu des makers "expérimentés" qui ne savaient toujours pas distinguer "Processus parallèle" et "Mode automatique", QUELLE HONTE ! Je vous conseille de cliquer voir rapidement si vous avez un doute !)

C'est le seul tutoriel où j'explique ces fondamentaux, puisque j'estime que pour tous mes autres tutoriels, ces fondamentaux doivent forcément être acquis pour être compréhensible.

Pourquoi les expliquer ici alors ? Faire le jeu en une seule variable, ça peut intéresser un Maker confirmé, comme ce tutoriel a aussi tout intérêt à être lu par quelqu'un qui vient tout juste d'installer RPG Maker !


icone Faire son scénario avec une variable ?



Pour commencer, on va nommer une variable "Scénario" !

Quand tu commence le jeu, tous les interrupteurs sont sur OFF, toute les variables sont à 0 !

Principe/exemple



Vous le savez, un jeu a plusieurs phases.

Dans cet exemple débile à ne pas suivre :

Tu as :

Phase 0 :
L'introduction du jeu :
Le héros est chez lui et s'ennuie à fond.

Phase 1 :
Premier événement perturbateur :
Tu dois sortir de la maison, une fois devant la maison t'as une scène avec un gros monstre méchant en train de manger ton oncle !!!!

Phase 2 :
Aller voir le monstre :
Tu dois aller demander gentiment au monstre pourquoi il mange ton oncle, il te répond qu'il voudrait du sel et du poivre. Tu es choqué, tu t'en vas le dire à ta maman.

Phase 3 :
Aller le dire à ta maman :
Tu dois retourner chez toi parler à ta maman, elle te répond qu'il doit avoir une faim de loup pour manger un homme aussi amère, qu'il faut l'inviter à la maison !

Phase 4 :
Inviter le monstre à manger :
Tu dois gentiment demander au monstre de venir dîner.

Phase 5 :
Scène finale du jeu :
Une scène où le monstre va chez le héros et bouffe la table et dit merci, ils vécurent heureux et eurent plein d'enfant, fin de l'histoire !

Ouahou, tout un jeu magnifique en 5 phases ?? C'est magique ! *_*
Oui tu peux en faire 1000 de phases comme ça, mais pourquoi j'ai décomposé ça en phases moi ?
Ah mais oui, on parle de faire le scénario en une seule variable !
L'intro c'est la phase zéro, mais quand je démarre mon jeu, ma variable "scénario" est aussi à zéro ! Une phase 1, 2, 3, j'peux mettre une variable à 1, 2 ou 3 !

Alors je peux faire tout ça avec une seule variable ? Smiley


Eeeeh oui ! Smiley

Smiley Application de l'exemple !


Tu as deux map :
-La maison du héros
-Devant la maison du héros

Quatre personnages :
-Le héros
-La maman du héros
-Le monstre
-L'oncle

Phase 0 <=> Variable "Scénario" = 0 par défaut

(NB : Aucune opération à faire pour que la variable "Scénario" soit égale à zéro, 0 est la valeur par défaut de toute les variables quand on commence le jeu.)


Comment faire l'introduction du début ?

Tu fais un événement (sans apparence, invisible) en mode automatique

A l'intérieur, tu fais les déplacement de ton héros, les messages, ce qu'il se passe... Ton intro, quoi !

Puis à la fin... il faut l'arrêter, cet événement ! Sinon il va tourner en boucle !
N'utilise surtout pas "Effacer cet événement", car cette commande supprime l'événement de la carte, mais cet événement reviendra lorsqu'on reviendra sur la carte.

Alors, tout informé que vous êtes (Si vous l'êtes), vous vous dites bien sûr, "il faut activer un interrupteur genre "début"" et faire une deuxième page vide à cet événement en mode "presser une touche" et en condition en haut à gauche l'interrupteur qu'on a choisit !

Ah mais non, nous on utilise AUCUN interrupteur ! (Pour le déroulement de l'histoire principale, tout du moins !) Oui, on utilise notre unique variable "scénario" !

Et comme on va passer à la phase 1, pourquoi ne pas faire "modifier variable : "scénario" rendre égal à 1" à la fin de l'intro, et faire cette fameuse seconde page, avec comme condition en haut à gauche "si variable "scénario" supérieur ou égal à 1 ?
C'est une idée géniale, ça ! Smiley
(Pour RM2003 : Il est très important de pas faire la condition "égal à 1" mais "supérieur ou égal à 1" parce que cette variable ne restera pas à 1, elle aura d'autres valeurs bientôt !)

Phase 1 <=> Variable "Scénario" = 1


Cool, maintenant mon intro est passée, il y a maman dans la maison, je lui parle et elle me dit "me fais pas chier"... Je vais dehors, et qu'y a-t-il dehors ??
Ton oncle se fait bouffer par un monstre !! Oh my god, une nouvelle scène automatique !

Encore une scène = autre événement invisible en mode automatique !

Alors cet événement, pour sa première page, il n'y a pas besoin de conditions car c'est la première fois que tu vas sur la carte, il se déclenche tout de suite.
Tu programme une scène sympa qui anime le monstre qui mange ton oncle, le héros dit "Saperlipopette, un monstre mange mon oncle...", etc.
Et pour la fin de la mini-scène, toujours même problème, il faut stopper cet événement automatique !
Et toujours avec la variable "Scénario" !
Tu vas alors, à la fin de cette scène, faire : "modifier variable : "scénario", rendre égal à 2" ! Et encore une fois, mettre une deuxième page à cet événement, en mode "presser une touche" et avec comme condition en haut à gauche de l'événement "si variable "scénario" supérieur ou égal à 2"

Phase 2 <=> Variable "Scénario" = 2


Dans cette phase 2, tu dois aller parler au monstre, ton oncle n'a pas encore fini d'être mangé, alors tu peux choisir d'aller causer un peu avec lui, et quand tu parle au monstre, il te raconte qu'il veut du sel et du poivre, tu es outré et tu lui dis que tu vas le dire à ta maman.

Mais là quand tu lui reparlera au monstre, il ne faut pas qu'il se passe la même chose, en plus, le monstre a fini de bouffer ton oncle, ton oncle disparait !

Alors à la fin du dialogue avec le monstre, tu vas signaler la phase 3 !

T'as tous compris, tu vas faire "modifier variable : "scénario" = 3" et faire une deuxième page au monstre avec comme condition "si "scénario" supérieur ou égal à 3" dans cette seconde page il dira autre chose.
L'oncle aussi aura une seconde page avec la même condition, qui sera vide car l'oncle a été bouffé à la fin du dialogue avec le monstre

Phase 3 <=> Variable "Scénario" = 3


Tu retourne chez toi, ta mère ne vas plus te dire "me fais pas chier", il faut que tu le lui dise que ton oncle s'est fait bouffer.
Alors, tu fais une deuxième page à l'événement de ta mère avec comme condition "si "scénario" = 3, dans laquelle tu explique le truc et qu'elle propose d'inviter le monstre à table.
On entre alors dans la phase 4, à la fin de ce dialogue tu modifie la variable scénario, tu la met à 4, tu fais une troisième page à maman avec comme condition "si "scénario" supérieur ou égal à 4" où elle te répète d'aller inviter le monstre en ajoutant que tu es lourd.

Phase 4 <=> Variable "Scénario" = 4


Tu retourne au village, et le monstre aura donc une troisième page avec comme condition "si "scénario" supérieur ou égal à 4" dans laquelle tu l'invite à manger et il vient avec toi dans la maison. Avant de te téléporter dans la maison, tu met la variable "scénario" à 5 car c'est la dernière phase, la scène finale.

Phase 5 <=> Variable "Scénario" = 5


Dans la maison tu retourne dans l'événement où tu as programmé l'intro, tu vas lui faire une troisième en mode automatique (c'est une scène) avec comme condition "si "scénario" est supérieur ou égal à 5" et voilà tu programme ta petite scène finale !

Plusieurs axes = plusieurs variables !


Si tu as une quête annexe, genre, tu as la quête principale dans la variable "scénario", mais tu as une petite quête à côté qui te fera aussi balader d'obstacle en obstacle, tu peux créer une variable "quête du pain perdu" par exemple au lieu d'utiliser encore des interrupteurs.

La commande condition, aussi !


Ne pas oublier que la condition, tu la fais en haut à gauche des pages, mais tu peux la faire en plein milieu du dialogue, il y a la commande "condition" pour ça à la deuxième colonne de la troisième page.

Par exemple un épicier dans le coin te dit :

Code (Autre):
  1. <>message : paysan : Elles sont belle mes endives, belle !
  2. <>message : paysan : Tu veux une endive ?
  3. <>message : héros : Tu vois pas qu'un monstre bouffe mon oncle ?
  4. CONDITION : si variable "scénario" supérieur ou égal à 3"
  5. <>message : paysan : Et toi, t'es pas sensé aller parler à ta mère ?
  6. SINON :
  7. <>message : paysan : Ma foi, vas lui parler toi, au lieu de me parler à moi !
  8. FIN DE CONDITION
  9. <>message : Maintenant vas-t-en si tu veux pas une endive !


Dans cet exemple, si on parle au paysan avant d'avoir parlé au monstre, il te dit d'aller parler au monstre, si tu lui parle après avoir parlé au monstre, il te dit d'aller voir ta mère.

Bref !


C'est un court exemple (long à expliquer, chiant à lire mais j'espère que vous avez compris le concept !)
Le concept, c'est donc à chaque fois de faire grandir la variable "scénario" pour faire la progression dans le jeu.
Et on peut faire un jeu entier de cette manière !
Les interrupteur serviront alors seulement pour les coffres, éviter la répétition dans les dialogues PNJ, de la programmation, ou encore certains aspects non-linéaires du scénario.


icone Tutoriel à améliorer ?



Tout ça c'est encore un peu brouillon, je suis désolé ! Je risque d'améliorer encore la clarté et ajouter un exemple plus rapide et concret pour faire un premier pas en application réelle dans cette méthode. Ce tutoriel ne dit pas directement ce qu'on doit faire sous RM, mais tend à intégrer une manière de penser, de concevoir l'enchainement des actions dans un jeu avec une seule variable.

Bilou ! Smiley

Index

Tags

Annonces
Bilou Concept
BilouCorp
Découvertes
Event Extender
Jeux
RPG Maker
Script
Tutoriel

Auteurs

2cri
Grim
Hiino
Joke
Nuki
PypeBros
Raho
S4suk3

Suivez nous
Rss

Poster un commentaire



Commentaires

BraKIar
j'ai rage quit sur mon projet il y'a pas longtemps (oui on peut rage quit sur Rm xD) car j’utilisai pour mon scénario uniquement des interrupteur et me servait des variable que pour les quête de ramassage d'objet ou autre, mais a force quand y'a 20 interrupteur sur la même case sa s’entremêle dans tous les sens mon projet faisait n'importe quoi bref j'ai tous effacé sa m'aurait bien servi que quelqu'un viennent me dire et si tu utilisait une variable du con en tous cas merci et perso je trouve ton exemple très facile a lire par contre je vais vérifier toute de suite mais le mode automatique se répète vraiment en boucle ?, j'avais même pas fais gaffe xD

Posté le : 29/12/2013 à 14h21
itashi 76
Au début j'utilisé le système des interrupteur et puis au bout d'un moment j'avais du mal à mis retrouvé alors j'ai trouvé la solution d'utilisé une variable et depuis c'est beaucoup mieux, ton tutoriel va en aidé plus d'un j'en suis sur. Posté le : 09/06/2013 à 20h00
Epique Frame
Un très bon tutoriel, je conseil à tout le monde de jeter un œil dans la partie pour les débutants, bien que je connaissais déjà la différence entre un processus parallèle et le mode automatique un rappel du fonctionnement exacte de chaque mode est toujours utile et m'a permis de re-réflèchir à l'usage de ces modes. (par exemple je n'utilise jamais le mode automatique alors qu'il peut avoir son utilité)

Pour les variables dans le scénario je doit avouer que je n'y avais même pas pensé... Pourtant quand on y réfléchis ça semble plutôt évident... Et pratique !
Comme quoi il est toujours utile de revoir les bases pour éviter de se reposer sur ses acquits ^^ Posté le : 26/05/2013 à 12h33
Joke
Mise à jour :
Comme promis, j'ai un peu retouché l'article, je n'ai pas changé grand chose, juste rendu la présentation un peu plus digeste !

Merci testament ! =) Posté le : 07/04/2013 à 10h51
testament
Excellent tutoriel. Il aide bien dans la façon de penser tu détails bien et tu réussi à en tirer le meilleurs. Cela peux clairement aider les gens dans la voie du développement et surtout cela les aides à avoir un peu de logique. Merci à toi de faire ce genre de choses.
Posté le : 04/04/2013 à 11h24
Joke
Bon, une mise à jour est à venir comme je ne suis pas satisfait de la présentation. Pour le contenu... Je ne suis pas particulièrement satisfait non plus, j'ai rajouté une partie pour les débutants qui ne connaissent pas encore les bases, pour l'exemple j'hésite entre le laisser tel qu'el ou en faire un concret que l'on pourra programmer en deux secondes, ou proposer les deux.

Bref, news à suivre dans les commentaires, et vos commentaires seront surtout les bienvenus ! Posté le : 03/04/2013 à 20h09